Skip to content

Conversation

Dream95
Copy link

@Dream95 Dream95 commented Sep 3, 2025

migrate from the parse module of TDengine.

migrate from the parse module of TDengine.

Signed-off-by: zhouyx <[email protected]>
@kaby76
Copy link
Contributor

kaby76 commented Sep 3, 2025

You might want to check the ambiguity and parse tree result for some of your tests.

Here are all the possible parse trees for select.sql.

../examples/select.sql.d=177.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnAlias (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnAlias (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnAlias (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnAlias (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnAlias (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=177.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnAlias (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=208.a=1: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (exprOrSubquery (expression (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1"))))) (NK_EQ "=") (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))
../examples/select.sql.d=208.a=2: (sqlCommandList (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (dbName (NK_ID "test")) (NK_DOT ".") (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (columnName (NK_ID "ts")))))))) (NK_COMMA ",") (selectItem (commonExpression (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "t")) (NK_DOT ".") (columnName (NK_ID "c1"))))))))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (subquery (NK_LP "(") (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")))))))))) (NK_RP ")")) (aliasOpt (tableAlias (NK_ID "t"))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt1"))))) (NK_COMMA ",") (tableReference (tablePrimary (tableName (NK_ID "t1")) (aliasOpt (tableAlias (NK_ID "tt2"))))))) (whereClauseOpt (WHERE "WHERE") (searchCondition (commonExpression (booleanValueExpression (booleanPrimary (predicate (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "tt1")) (NK_DOT ".") (columnName (NK_ID "c1")))))) (compareOp (NK_EQ "=")) (exprOrSubquery (expression (primaryExpression (columnReference (tableName (NK_ID "tt2")) (NK_DOT ".") (columnName (NK_ID "c1")))))))))))))))))) (NK_SEMI ";") (cmd (queryOrSubquery (queryExpression (queryExpressionBody (queryTerm (querySpecification (SELECT "SELECT") (selectList (selectItem (NK_STAR "*"))) (fromClauseOpt (FROM "FROM") (tableReferenceList (tableReference (tablePrimary (tableName (NK_ID "st1")))))))))))) (NK_SEMI ";") (EOF ""))

There's ambiguity in columnReference because "ts" in line 3 of select.sql can be either a columnName or columnAlias because both can match NK_ID.

The other ambiguity is with commonExpression/exprOrSubquery and commonExpression/booleanValueExpression. The ambiguity is detected in select.sql in line 5, with the expression after the "WHERE". The problem here is that you're trying to enter into an exprOrSubquery, but that references expression. This type of problem occurs in other grammars, but I haven't figured out a good way to split up an Antlr optimized left-recursive expression.

You might want to include a readme.md so we can see where this is all coming from.

@Dream95
Copy link
Author

Dream95 commented Sep 4, 2025

Thank you for the review. I will try to resolve the ambiguity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants