private ColumnDesc findPk(JoinTableDesc joinTable, ColumnDesc fk) { TblColRef[] fkCols = joinTable.getJoin().getForeignKeyColumns(); for (int i = 0; i < fkCols.length; i++) { if (fkCols[i].getColumnDesc().equals(fk)) return joinTable.getJoin().getPrimaryKeyColumns()[i].getColumnDesc(); } return null; }
public boolean isPK(ColumnDesc col) { for (JoinTableDesc joinTable : model.getJoinTables()) { JoinDesc join = joinTable.getJoin(); for (TblColRef pk : join.getPrimaryKeyColumns()) { if (pk.getColumnDesc().equals(col)) return true; } } return false; }
public boolean isOperative(ISegment seg) { if (seg.getStatus() != SegmentStatusEnum.READY) return false; for (ISegment other : this) { if (other == seg) continue; if (other.getSegRange().overlaps(seg.getSegRange())) return false; } return true; } }
public static MeasureDesc getMeasureMax(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_MAX); function.setParameter(parameterDesc); function.setReturnType(dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_MAX"); result.setFunction(function); return result; }
public static TblColRef mockup(TableDesc table, int oneBasedColumnIndex, String name, String datatype, String comment) { ColumnDesc desc = new ColumnDesc(); String id = "" + oneBasedColumnIndex; desc.setId(id); desc.setName(name); desc.setDatatype(datatype); desc.init(table); desc.setComment(comment); return new TblColRef(desc); }
public static TblColRef newInnerColumn(String columnName, InnerDataTypeEnum dataType, String parserDescription) { ColumnDesc column = new ColumnDesc(); column.setName(columnName); TableDesc table = new TableDesc(); column.setTable(table); TblColRef colRef = new TblColRef(column); colRef.markInnerColumn(dataType); colRef.parserDescription = parserDescription; return colRef; }
private void markInnerColumn(InnerDataTypeEnum dataType) { this.column.setDatatype(dataType.getDataType()); this.column.getTable().setName(INNER_TABLE_NAME); this.column.getTable().setDatabase("DEFAULT"); }
public int findMeasure(FunctionDesc function) { for (int i = 0; i < measures.length; i++) { if (measures[i].getFunction().equals(function)) { return i; } } return -1; }
private int[] initDerivedColIdx() { int[] idx = new int[deriveInfo.columns.length]; for (int i = 0; i < idx.length; i++) { idx[i] = deriveInfo.columns[i].getColumnDesc().getZeroBasedIndex(); } return idx; }
public String getTable() { if (column.getTable() == null) { return null; } return column.getTable().getIdentity(); }
private void initDimensionsAndMetrics() { for (ModelDimensionDesc dim : dimensions) { dim.init(this); } for (int i = 0; i < metrics.length; i++) { metrics[i] = findColumn(metrics[i]).getIdentity(); } }
public T getLatestBuiltSegment() { T latest = null; for (int i = this.size() - 1; i >= 0; i--) { T seg = this.get(i); if (seg.getLastBuildTime() > 0) { if (latest == null || seg.getLastBuildTime() > latest.getLastBuildTime()) latest = seg; } } return latest; }
private boolean columnDescEquals(TblColRef[] a, TblColRef[] b) { if (a.length != b.length) return false; for (int i = 0; i < a.length; i++) { if (columnDescEquals(a[i].getColumnDesc(), b[i].getColumnDesc()) == false) return false; } return true; }
public String getExpressionInSourceDB() { if (!column.isComputedColumn()) { return getIdentity(); } else { return column.getComputedColumnExpr(); } }
private MeasureDesc measure(String returnType) { MeasureDesc desc = new MeasureDesc(); FunctionDesc func = FunctionDesc.newInstance(null, null, returnType); desc.setFunction(func); return desc; } }
@Override public String toString() { String thisStr = isColumnType() ? colRef.toString() : value; return nextParameter == null ? thisStr : thisStr + "," + nextParameter.toString(); }
public Segments<T> getBuildingSegments() { Segments<T> buildingSegments = new Segments(); if (null != this) { for (T segment : this) { if (SegmentStatusEnum.NEW == segment.getStatus() || SegmentStatusEnum.READY_PENDING == segment.getStatus()) { buildingSegments.add(segment); } } } return buildingSegments; }
public TSRange(Long start, Long end) { // [0, Long.MAX_VALUE) is full build (for historic reason) super(new Endpoint(isInfinite(start, end) ? 0 : start, isInfinite(start, end), false), // new Endpoint(isInfinite(start, end) ? Long.MAX_VALUE : end, false, isInfinite(start, end))); }
public static MeasureDesc getMeasureMin(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_MIN); function.setParameter(parameterDesc); function.setReturnType(dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_MIN"); result.setFunction(function); return result; }