Fix/split listener (#228)
* feat: improve FlinkSqlSplitListener * feat: improve ImpalaSqlSplitListener * feat: improve MysqlSplitListener * fix: correct PgSqlSplitListener * feat: improve TrinoSqlSplitListener * test: add split listener unit test * chore: ignore iml file * feat: add pgsql missing rules * test: fix pgsql unit tests
This commit is contained in:
@ -4,8 +4,7 @@ import { FlinkSqlLexer } from '../lib/flinksql/FlinkSqlLexer';
|
||||
import {
|
||||
FlinkSqlParser,
|
||||
ProgramContext,
|
||||
SqlStatementContext,
|
||||
SqlStatementsContext,
|
||||
SingleStatementContext,
|
||||
} from '../lib/flinksql/FlinkSqlParser';
|
||||
import { FlinkSqlParserListener } from '../lib/flinksql/FlinkSqlParserListener';
|
||||
import { SyntaxContextType, Suggestions, SyntaxSuggestion } from './common/basic-parser-types';
|
||||
@ -134,13 +133,13 @@ export default class FlinkSQL extends BasicParser<FlinkSqlLexer, ProgramContext,
|
||||
}
|
||||
|
||||
export class FlinkSqlSplitListener implements FlinkSqlParserListener {
|
||||
private _statementsContext: SqlStatementContext[] = [];
|
||||
private _statementsContext: SingleStatementContext[] = [];
|
||||
|
||||
exitSqlStatement = (ctx: SqlStatementContext) => {
|
||||
exitSingleStatement = (ctx: SingleStatementContext) => {
|
||||
this._statementsContext.push(ctx);
|
||||
};
|
||||
|
||||
enterSqlStatements = (ctx: SqlStatementsContext) => {};
|
||||
enterSingleStatement = (ctx: SingleStatementContext) => {};
|
||||
|
||||
get statementsContext() {
|
||||
return this._statementsContext;
|
||||
|
@ -4,7 +4,7 @@ import { ImpalaSqlLexer } from '../lib/impala/ImpalaSqlLexer';
|
||||
import {
|
||||
ImpalaSqlParser,
|
||||
ProgramContext,
|
||||
SqlStatementContext,
|
||||
SingleStatementContext,
|
||||
} from '../lib/impala/ImpalaSqlParser';
|
||||
import BasicParser from './common/basicParser';
|
||||
import { ImpalaSqlParserListener } from '../lib/impala/ImpalaSqlParserListener';
|
||||
@ -129,13 +129,13 @@ export default class ImpalaSQL extends BasicParser<
|
||||
}
|
||||
|
||||
export class ImpalaSqlSplitListener implements ImpalaSqlParserListener {
|
||||
private _statementContext: SqlStatementContext[] = [];
|
||||
private _statementContext: SingleStatementContext[] = [];
|
||||
|
||||
exitSqlStatement = (ctx: SqlStatementContext) => {
|
||||
exitSingleStatement = (ctx: SingleStatementContext) => {
|
||||
this._statementContext.push(ctx);
|
||||
};
|
||||
|
||||
enterSqlStatement = (ctx: SqlStatementContext) => {};
|
||||
enterSingleStatement = (ctx: SingleStatementContext) => {};
|
||||
|
||||
get statementsContext() {
|
||||
return this._statementContext;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Token } from 'antlr4ts';
|
||||
import { CandidatesCollection } from 'antlr4-c3';
|
||||
import { MySqlLexer } from '../lib/mysql/MySqlLexer';
|
||||
import { MySqlParser, ProgramContext, SqlStatementsContext } from '../lib/mysql/MySqlParser';
|
||||
import { MySqlParser, ProgramContext, SingleStatementContext } from '../lib/mysql/MySqlParser';
|
||||
import BasicParser from './common/basicParser';
|
||||
import { Suggestions, SyntaxContextType, SyntaxSuggestion } from './common/basic-parser-types';
|
||||
import { MySqlParserListener } from 'src/lib/mysql/MySqlParserListener';
|
||||
@ -30,7 +30,7 @@ export default class MySQL extends BasicParser<MySqlLexer, ProgramContext, MySql
|
||||
]);
|
||||
|
||||
protected get splitListener() {
|
||||
return new mysqlSplitListener();
|
||||
return new MysqlSplitListener();
|
||||
}
|
||||
|
||||
protected processCandidates(
|
||||
@ -123,14 +123,14 @@ export default class MySQL extends BasicParser<MySqlLexer, ProgramContext, MySql
|
||||
}
|
||||
}
|
||||
|
||||
export class mysqlSplitListener implements MySqlParserListener {
|
||||
private _statementsContext: SqlStatementsContext[] = [];
|
||||
export class MysqlSplitListener implements MySqlParserListener {
|
||||
private _statementsContext: SingleStatementContext[] = [];
|
||||
|
||||
exitSqlStatements = (ctx: SqlStatementsContext) => {
|
||||
exitSingleStatement = (ctx: SingleStatementContext) => {
|
||||
this._statementsContext.push(ctx);
|
||||
};
|
||||
|
||||
enterSqlStatements = (ctx: SqlStatementsContext) => {};
|
||||
enterSingleStatement = (ctx: SingleStatementContext) => {};
|
||||
|
||||
get statementsContext() {
|
||||
return this._statementsContext;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Token } from 'antlr4ts';
|
||||
import { CandidatesCollection } from 'antlr4-c3';
|
||||
import { PostgreSQLLexer } from '../lib/pgsql/PostgreSQLLexer';
|
||||
import { PostgreSQLParser, ProgramContext, StmtContext } from '../lib/pgsql/PostgreSQLParser';
|
||||
import { PostgreSQLParser, ProgramContext, SingleStmtContext } from '../lib/pgsql/PostgreSQLParser';
|
||||
import BasicParser from './common/basicParser';
|
||||
import { PostgreSQLParserListener } from '../lib/pgsql/PostgreSQLParserListener';
|
||||
import { SyntaxContextType, Suggestions, SyntaxSuggestion } from './common/basic-parser-types';
|
||||
@ -146,15 +146,15 @@ export default class PostgresSQL extends BasicParser<
|
||||
}
|
||||
|
||||
export class PgSqlSplitListener implements PostgreSQLParserListener {
|
||||
private _statementContext: ProgramContext[] = [];
|
||||
private _statementsContext: SingleStmtContext[] = [];
|
||||
|
||||
enterProgram = (ctx: ProgramContext) => {
|
||||
this._statementContext.push(ctx);
|
||||
exitSingleStmt = (ctx: SingleStmtContext) => {
|
||||
this._statementsContext.push(ctx);
|
||||
};
|
||||
|
||||
exitProgram = (ctx: ProgramContext) => {};
|
||||
enterSingleStmt = (ctx: SingleStmtContext) => {};
|
||||
|
||||
get statementsContext() {
|
||||
return this._statementContext;
|
||||
return this._statementsContext;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,11 @@
|
||||
import { Token } from 'antlr4ts';
|
||||
import { CandidatesCollection } from 'antlr4-c3';
|
||||
import { TrinoSqlLexer } from '../lib/trinosql/TrinoSqlLexer';
|
||||
import { TrinoSqlParser, ProgramContext, StatementContext } from '../lib/trinosql/TrinoSqlParser';
|
||||
import {
|
||||
TrinoSqlParser,
|
||||
ProgramContext,
|
||||
SingleStatementContext,
|
||||
} from '../lib/trinosql/TrinoSqlParser';
|
||||
import { TrinoSqlListener } from '../lib/trinosql/TrinoSqlListener';
|
||||
import BasicParser from './common/basicParser';
|
||||
import { Suggestions, SyntaxContextType, SyntaxSuggestion } from './common/basic-parser-types';
|
||||
@ -125,9 +129,9 @@ export default class TrinoSQL extends BasicParser<TrinoSqlLexer, ProgramContext,
|
||||
}
|
||||
|
||||
export class TrinoSqlSplitListener implements TrinoSqlListener {
|
||||
private _statementsContext: StatementContext[] = [];
|
||||
private _statementsContext: SingleStatementContext[] = [];
|
||||
|
||||
exitStatement = (ctx: StatementContext) => {
|
||||
exitSingleStatement = (ctx: SingleStatementContext) => {
|
||||
this._statementsContext.push(ctx);
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user