in data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/query/impl/PostgresqlMetadataSchemaQueryWriterImpl.java [166:187]
private String buildSelectStatement(SqlNode sqlNode, Collection<MetadataSchemaEntity> metadataSchemas,
Map<String, String> tableAliases) {
StringBuilder sb = new StringBuilder();
if (sqlNode instanceof SqlSelect) {
sb.append(" SELECT * FROM ");
sb.append(((SqlSelect) sqlNode).getFrom().toSqlString(PostgresqlSqlDialect.DEFAULT));
if (((SqlSelect) sqlNode).getWhere() != null) {
sb.append(" WHERE ");
sb.append(rewriteWhereClauseFilters(sqlNode, metadataSchemas, tableAliases));
}
} else if (sqlNode instanceof SqlBasicCall unionNode &&
((SqlBasicCall) sqlNode).getOperator().getKind() == SqlKind.UNION) {
for (int i = 0; i < unionNode.getOperandList().size(); i++) {
if (i > 0) {
sb.append(unionNode.getOperator().getName());
}
sb.append(buildSelectStatement(unionNode.getOperandList().get(i), metadataSchemas, tableAliases));
}
}
return sb.toString();
}