protected ADBResultSet executeGetCatalogsQuery()

in asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBMetaStatement.java [54:79]


    protected ADBResultSet executeGetCatalogsQuery() throws SQLException {
        checkClosed();

        StringBuilder sql = new StringBuilder(256);
        populateQueryProlog(sql, "JDBC-GetCatalogs");

        sql.append("select TABLE_CAT ");
        sql.append("from Metadata.`Dataverse` ");
        switch (connection.catalogDataverseMode) {
            case CATALOG:
                sql.append("let TABLE_CAT = DataverseName ");
                break;
            case CATALOG_SCHEMA:
                sql.append("let name = decode_dataverse_name(DataverseName), ");
                sql.append("TABLE_CAT = name[0] ");
                sql.append("where (array_length(name) between 1 and 2) ");
                sql.append("group by TABLE_CAT ");
                break;
            default:
                throw new IllegalStateException();
        }

        sql.append("order by TABLE_CAT");

        return executeQueryImpl(sql.toString(), null);
    }