public String getIdentity() { if (identity == null) identity = getTableAlias() + "." + getName(); return identity; }
@Override public String buildDateRangeCondition(PartitionDesc partDesc, ISegment seg, SegmentRange segRange) { long startInclusive = (Long) segRange.start.v; long endExclusive = (Long) segRange.end.v; TblColRef partitionColumn = partDesc.getPartitionDateColumnRef(); String tableAlias = partitionColumn.getTableAlias(); String concatField = String.format(Locale.ROOT, "CONCAT(%s.YEAR,'-',%s.MONTH,'-',%s.DAY)", tableAlias, tableAlias, tableAlias); StringBuilder builder = new StringBuilder(); if (startInclusive > 0) { builder.append(concatField + " >= '" + DateFormat.formatToDateStr(startInclusive) + "' "); builder.append("AND "); } builder.append(concatField + " < '" + DateFormat.formatToDateStr(endExclusive) + "'"); return builder.toString(); } }
private static Map<String, String> buildTableToTableAliasMap(IJoinedFlatTableDesc flatDesc) { Map<String, String> map = Maps.newHashMap(); List<TblColRef> colRefs = flatDesc.getAllColumns(); for (TblColRef colRef : colRefs) { String tableName = colRef.getTableRef().getTableName(); String alias = colRef.getTableAlias(); map.put(tableName, alias); } return map; }
private static String colName(TblColRef col, boolean useAlias) { return useAlias ? col.getTableAlias() + "_" + col.getName() : col.getName(); }
private static Map<String, Map<String, String>> buildTableToColumnsMap(IJoinedFlatTableDesc flatDesc) { Map<String, Map<String, String>> map = Maps.newHashMap(); List<TblColRef> colRefs = flatDesc.getAllColumns(); for (TblColRef colRef : colRefs) { String colName = colRef.getName(); String tableName = colRef.getTableRef().getTableName(); String colAlias = colRef.getTableAlias() + "_" + colRef.getName(); if (map.containsKey(tableName)) { map.get(tableName).put(colName, colAlias); } else { Map<String, String> colToAliasMap = Maps.newHashMap(); colToAliasMap.put(colName, colAlias); map.put(tableName, colToAliasMap); } } return map; }
String tblCol = col.getTableAlias() + ":" + col.getName(); String dictInfoPath = mergedDictInfo == null ? "" : mergedDictInfo.getResourcePath();
String tblCol = col.getTableAlias() + ":" + col.getName(); String dictInfoPath = mergedDictInfo == null ? "" : mergedDictInfo.getResourcePath();
private boolean validatePkFkDim(TblColRef c) { String t = c.getTableAlias(); ModelDimensionDesc dimDesc = null; for (ModelDimensionDesc dim : dimensions) { if (dim.getTable().equals(t)) { dimDesc = dim; break; } } if (dimDesc == null) { dimDesc = new ModelDimensionDesc(); dimDesc.setTable(t); dimDesc.setColumns(new String[0]); dimensions.add(dimDesc); } if (ArrayUtils.contains(dimDesc.getColumns(), c.getName()) == false) { String[] newCols = ArrayUtils.add(dimDesc.getColumns(), c.getName()); dimDesc.setColumns(newCols); return true; } return false; }
public static String getQuotedColExpressionInSourceDB(IJoinedFlatTableDesc flatDesc, TblColRef col) { if (!col.getColumnDesc().isComputedColumn()) { return quoteIdentifier(col.getTableAlias()) + "." + quoteIdentifier(col.getName()); } else { String computeExpr = col.getColumnDesc().getComputedColumnExpr(); return quoteIdentifierInSqlExpr(flatDesc, computeExpr, "`"); } } }
TblColRef splitColRef = determineSplitColumn(); splitTable = splitColRef.getTableRef().getTableName(); splitTableAlias = splitColRef.getTableAlias(); splitColumn = JoinedFlatTable.getQuotedColExpressionInSourceDB(flatDesc, splitColRef); splitDatabase = splitColRef.getColumnDesc().getTable().getDatabase(); SegmentRange segRange = flatDesc.getSegRange(); if (segRange != null && !segRange.isInfinite()) { if (partitionDesc.getPartitionDateColumnRef().getTableAlias().equals(splitTableAlias) && (partitionDesc.getPartitionTimeColumnRef() == null || partitionDesc .getPartitionTimeColumnRef().getTableAlias().equals(splitTableAlias))) { String quotedPartCond = FlatTableSqlQuoteUtils.quoteIdentifierInSqlExpr(flatDesc, partitionDesc.getPartitionConditionBuilder().buildDateRangeCondition(partitionDesc,
splitTable = splitColRef.getTableRef().getTableName(); splitTable = splitColRef.getTableRef().getTableDesc().getName(); splitTableAlias = splitColRef.getTableAlias(); SegmentRange segRange = flatDesc.getSegRange(); if (segRange != null && !segRange.isInfinite()) { if (partitionDesc.getPartitionDateColumnRef().getTableAlias().equals(splitTableAlias) && (partitionDesc.getPartitionTimeColumnRef() == null || partitionDesc .getPartitionTimeColumnRef().getTableAlias().equals(splitTableAlias))) { String quotedPartCond = FlatTableSqlQuoteUtils.quoteIdentifierInSqlExpr(flatDesc, partitionDesc.getPartitionConditionBuilder().buildDateRangeCondition(partitionDesc,
public String getIdentity() { if (identity == null) identity = getTableAlias() + "." + getName(); return identity; }
@Override public String buildDateRangeCondition(PartitionDesc partDesc, ISegment seg, SegmentRange segRange) { long startInclusive = (Long) segRange.start.v; long endExclusive = (Long) segRange.end.v; TblColRef partitionColumn = partDesc.getPartitionDateColumnRef(); String tableAlias = partitionColumn.getTableAlias(); String concatField = String.format(Locale.ROOT, "CONCAT(%s.YEAR,'-',%s.MONTH,'-',%s.DAY)", tableAlias, tableAlias, tableAlias); StringBuilder builder = new StringBuilder(); if (startInclusive > 0) { builder.append(concatField + " >= '" + DateFormat.formatToDateStr(startInclusive) + "' "); builder.append("AND "); } builder.append(concatField + " < '" + DateFormat.formatToDateStr(endExclusive) + "'"); return builder.toString(); } }
private static Map<String, String> buildTableToTableAliasMap(IJoinedFlatTableDesc flatDesc) { Map<String, String> map = Maps.newHashMap(); List<TblColRef> colRefs = flatDesc.getAllColumns(); for (TblColRef colRef : colRefs) { String tableName = colRef.getTableRef().getTableName(); String alias = colRef.getTableAlias(); map.put(tableName, alias); } return map; }
private static String colName(TblColRef col, boolean useAlias) { return useAlias ? col.getTableAlias() + "_" + col.getName() : col.getName(); }
private static Map<String, Map<String, String>> buildTableToColumnsMap(IJoinedFlatTableDesc flatDesc) { Map<String, Map<String, String>> map = Maps.newHashMap(); List<TblColRef> colRefs = flatDesc.getAllColumns(); for (TblColRef colRef : colRefs) { String colName = colRef.getName(); String tableName = colRef.getTableRef().getTableName(); String colAlias = colRef.getTableAlias() + "_" + colRef.getName(); if (map.containsKey(tableName)) { map.get(tableName).put(colName, colAlias); } else { Map<String, String> colToAliasMap = Maps.newHashMap(); colToAliasMap.put(colName, colAlias); map.put(tableName, colToAliasMap); } } return map; }
String tblCol = col.getTableAlias() + ":" + col.getName(); String dictInfoPath = mergedDictInfo == null ? "" : mergedDictInfo.getResourcePath();
String tblCol = col.getTableAlias() + ":" + col.getName(); String dictInfoPath = mergedDictInfo == null ? "" : mergedDictInfo.getResourcePath();
private boolean validatePkFkDim(TblColRef c) { String t = c.getTableAlias(); ModelDimensionDesc dimDesc = null; for (ModelDimensionDesc dim : dimensions) { if (dim.getTable().equals(t)) { dimDesc = dim; break; } } if (dimDesc == null) { dimDesc = new ModelDimensionDesc(); dimDesc.setTable(t); dimDesc.setColumns(new String[0]); dimensions.add(dimDesc); } if (ArrayUtils.contains(dimDesc.getColumns(), c.getName()) == false) { String[] newCols = ArrayUtils.add(dimDesc.getColumns(), c.getName()); dimDesc.setColumns(newCols); return true; } return false; }
public static String getQuotedColExpressionInSourceDB(IJoinedFlatTableDesc flatDesc, TblColRef col) { if (!col.getColumnDesc().isComputedColumn()) { return quoteIdentifier(col.getTableAlias()) + "." + quoteIdentifier(col.getName()); } else { String computeExpr = col.getColumnDesc().getComputedColumnExpr(); return quoteIdentifierInSqlExpr(flatDesc, computeExpr, "`"); } } }