private String buildSelectStatement()

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();
    }