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 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; }
public static String generateSelectDataStatement(IJoinedFlatTableDesc flatDesc, boolean singleLine, String[] skipAs) { final String sep = singleLine ? " " : "\n"; final List<String> skipAsList = (skipAs == null) ? new ArrayList<String>() : Arrays.asList(skipAs); StringBuilder sql = new StringBuilder(); sql.append("SELECT" + sep); for (int i = 0; i < flatDesc.getAllColumns().size(); i++) { TblColRef col = flatDesc.getAllColumns().get(i); if (i > 0) { sql.append(","); } String colTotalName = String.format(Locale.ROOT, "%s.%s", col.getTableRef().getTableName(), col.getName()); String quotedColTotalName = String.format(Locale.ROOT, "%s.%s", quoteIdentifier(col.getTableRef().getTableName()), quoteIdentifier(col.getName())); if (skipAsList.contains(colTotalName)) { sql.append(getQuotedColExpressionInSourceDB(flatDesc, col)).append(sep); } else { sql.append(getQuotedColExpressionInSourceDB(flatDesc, col)).append(" as ") .append(quoteIdentifier(colName(col))).append(sep); } } appendJoinStatement(flatDesc, sql, singleLine); appendWhereStatement(flatDesc, sql, singleLine); return sql.toString(); }
for (TableRef tr : tables) { if (!tr.getTableDesc().isView()) { String tableName = tr.getTableName(); String schema = tr.getTableDesc().getDatabase(); String identity = String.format(Locale.ROOT, "%s.%s", schema, tableName);
String splitDatabase; TblColRef splitColRef = determineSplitColumn(); splitTable = splitColRef.getTableRef().getTableName(); splitTableAlias = splitColRef.getTableAlias(); splitColumn = JoinedFlatTable.getQuotedColExpressionInSourceDB(flatDesc, splitColRef);
String splitDatabase; TblColRef splitColRef = determineSplitColumn(); splitTable = splitColRef.getTableRef().getTableName(); splitTable = splitColRef.getTableRef().getTableDesc().getName(); splitTableAlias = splitColRef.getTableAlias();
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 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; }
public static String generateSelectDataStatement(IJoinedFlatTableDesc flatDesc, boolean singleLine, String[] skipAs) { final String sep = singleLine ? " " : "\n"; final List<String> skipAsList = (skipAs == null) ? new ArrayList<String>() : Arrays.asList(skipAs); StringBuilder sql = new StringBuilder(); sql.append("SELECT" + sep); for (int i = 0; i < flatDesc.getAllColumns().size(); i++) { TblColRef col = flatDesc.getAllColumns().get(i); if (i > 0) { sql.append(","); } String colTotalName = String.format(Locale.ROOT, "%s.%s", col.getTableRef().getTableName(), col.getName()); String quotedColTotalName = String.format(Locale.ROOT, "%s.%s", quoteIdentifier(col.getTableRef().getTableName()), quoteIdentifier(col.getName())); if (skipAsList.contains(colTotalName)) { sql.append(getQuotedColExpressionInSourceDB(flatDesc, col)).append(sep); } else { sql.append(getQuotedColExpressionInSourceDB(flatDesc, col)).append(" as ") .append(quoteIdentifier(colName(col))).append(sep); } } appendJoinStatement(flatDesc, sql, singleLine); appendWhereStatement(flatDesc, sql, singleLine); return sql.toString(); }