dt-sql-parser 4.5.0 → 4.5.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -138,6 +138,8 @@ import { RelationDefaultContext } from "./TrinoSqlParser.js";
138
138
  import { JoinRelationContext } from "./TrinoSqlParser.js";
139
139
  import { JoinTypeContext } from "./TrinoSqlParser.js";
140
140
  import { JoinCriteriaContext } from "./TrinoSqlParser.js";
141
+ import { JoinColumnEqualityContext } from "./TrinoSqlParser.js";
142
+ import { JoinColumnReferenceContext } from "./TrinoSqlParser.js";
141
143
  import { SampledRelationContext } from "./TrinoSqlParser.js";
142
144
  import { SampleTypeContext } from "./TrinoSqlParser.js";
143
145
  import { TrimsSpecificationContext } from "./TrinoSqlParser.js";
@@ -356,6 +358,7 @@ import { CatalogNameCreateContext } from "./TrinoSqlParser.js";
356
358
  import { FunctionNameContext } from "./TrinoSqlParser.js";
357
359
  import { FunctionNameCreateContext } from "./TrinoSqlParser.js";
358
360
  import { ColumnRefContext } from "./TrinoSqlParser.js";
361
+ import { EmptyColumnContext } from "./TrinoSqlParser.js";
359
362
  import { ColumnNameContext } from "./TrinoSqlParser.js";
360
363
  import { ColumnNameCreateContext } from "./TrinoSqlParser.js";
361
364
  import { QualifiedNameContext } from "./TrinoSqlParser.js";
@@ -1320,6 +1323,18 @@ export declare class TrinoSqlVisitor<Result> extends AbstractParseTreeVisitor<Re
1320
1323
  * @return the visitor result
1321
1324
  */
1322
1325
  visitJoinCriteria?: (ctx: JoinCriteriaContext) => Result;
1326
+ /**
1327
+ * Visit a parse tree produced by `TrinoSqlParser.joinColumnEquality`.
1328
+ * @param ctx the parse tree
1329
+ * @return the visitor result
1330
+ */
1331
+ visitJoinColumnEquality?: (ctx: JoinColumnEqualityContext) => Result;
1332
+ /**
1333
+ * Visit a parse tree produced by `TrinoSqlParser.joinColumnReference`.
1334
+ * @param ctx the parse tree
1335
+ * @return the visitor result
1336
+ */
1337
+ visitJoinColumnReference?: (ctx: JoinColumnReferenceContext) => Result;
1323
1338
  /**
1324
1339
  * Visit a parse tree produced by `TrinoSqlParser.sampledRelation`.
1325
1340
  * @param ctx the parse tree
@@ -2769,6 +2784,12 @@ export declare class TrinoSqlVisitor<Result> extends AbstractParseTreeVisitor<Re
2769
2784
  * @return the visitor result
2770
2785
  */
2771
2786
  visitColumnRef?: (ctx: ColumnRefContext) => Result;
2787
+ /**
2788
+ * Visit a parse tree produced by `TrinoSqlParser.emptyColumn`.
2789
+ * @param ctx the parse tree
2790
+ * @return the visitor result
2791
+ */
2792
+ visitEmptyColumn?: (ctx: EmptyColumnContext) => Result;
2772
2793
  /**
2773
2794
  * Visit a parse tree produced by `TrinoSqlParser.columnName`.
2774
2795
  * @param ctx the parse tree
@@ -26,6 +26,7 @@ export class MySQL extends BasicSQL {
26
26
  MySqlParser.RULE_functionNameCreate,
27
27
  MySqlParser.RULE_columnName,
28
28
  MySqlParser.RULE_columnNamePath,
29
+ MySqlParser.RULE_columnNamePathAllowEmpty,
29
30
  MySqlParser.RULE_columnNameCreate,
30
31
  ...this.excludeKeywordRules,
31
32
  ]);
@@ -94,6 +95,16 @@ export class MySQL extends BasicSQL {
94
95
  syntaxContextType = EntityContextType.COLUMN;
95
96
  break;
96
97
  }
98
+ case MySqlParser.RULE_columnNamePathAllowEmpty: {
99
+ if (candidateRule.ruleList.includes(MySqlParser.RULE_joinSpec) ||
100
+ candidateRule.ruleList.includes(MySqlParser.RULE_fromClause) ||
101
+ candidateRule.ruleList.includes(MySqlParser.RULE_orderByExpression) ||
102
+ candidateRule.ruleList.includes(MySqlParser.RULE_groupByItem) ||
103
+ candidateRule.ruleList.includes(MySqlParser.RULE_havingClause)) {
104
+ syntaxContextType = EntityContextType.COLUMN;
105
+ }
106
+ break;
107
+ }
97
108
  case MySqlParser.RULE_columnNameCreate: {
98
109
  syntaxContextType = EntityContextType.COLUMN_CREATE;
99
110
  break;
@@ -1,4 +1,4 @@
1
- import { ColumnCreateTableContext, ColumnNameCreateContext, CopyCreateTableContext, CreateDatabaseContext, CreateFunctionContext, CreateFunctionLoadableContext, CreateViewContext, DatabaseNameContext, DatabaseNameCreateContext, FunctionNameCreateContext, InsertStatementContext, QueryCreateTableContext, SelectElementsContext, SelectExpressionElementContext, SelectLiteralColumnNameContext, SelectStatementContext, SingleStatementContext, TableNameContext, TableNameCreateContext, ViewNameContext, ViewNameCreateContext, TableAllColumnsContext, AtomSubQueryTableSourceContext, PureAllColumnsContext, SelectElement_dot_emptyContext } from '../../lib/mysql/MySqlParser';
1
+ import { ColumnCreateTableContext, ColumnNameCreateContext, CopyCreateTableContext, CreateDatabaseContext, CreateFunctionContext, CreateFunctionLoadableContext, CreateViewContext, DatabaseNameContext, DatabaseNameCreateContext, FunctionNameCreateContext, InsertStatementContext, QueryCreateTableContext, SelectElementsContext, SelectExpressionElementContext, SelectLiteralColumnNameContext, SelectStatementContext, SingleStatementContext, TableNameContext, TableNameCreateContext, ViewNameContext, ViewNameCreateContext, TableAllColumnsContext, AtomSubQueryTableSourceContext, PureAllColumnsContext, SelectElement_dot_emptyContext, ColumnNamePath_dot_emptyContext } from '../../lib/mysql/MySqlParser';
2
2
  import type { MySqlParserListener } from '../../lib/mysql/MySqlParserListener';
3
3
  import { EntityCollector } from '../common/entityCollector';
4
4
  export declare class MySqlEntityCollector extends EntityCollector implements MySqlParserListener {
@@ -19,6 +19,7 @@ export declare class MySqlEntityCollector extends EntityCollector implements MyS
19
19
  exitPureAllColumns(ctx: PureAllColumnsContext): void;
20
20
  exitSelectLiteralColumnName(ctx: SelectLiteralColumnNameContext): void;
21
21
  exitSelectElement_dot_empty(ctx: SelectElement_dot_emptyContext): void;
22
+ exitColumnNamePath_dot_empty(ctx: ColumnNamePath_dot_emptyContext): void;
22
23
  exitSelectExpressionElement(ctx: SelectExpressionElementContext): void;
23
24
  /** ===== Statement begin */
24
25
  enterSingleStatement(ctx: SingleStatementContext): void;
@@ -98,6 +98,11 @@ export class MySqlEntityCollector extends EntityCollector {
98
98
  declareType: ColumnDeclareType.LITERAL,
99
99
  });
100
100
  }
101
+ exitColumnNamePath_dot_empty(ctx) {
102
+ this.pushEntity(ctx, EntityContextType.COLUMN, [], {
103
+ declareType: ColumnDeclareType.LITERAL,
104
+ });
105
+ }
101
106
  exitSelectExpressionElement(ctx) {
102
107
  this.pushEntity(ctx, EntityContextType.COLUMN, [
103
108
  {
@@ -130,7 +130,8 @@ export class PostgreSQL extends BasicSQL {
130
130
  candidateRule.ruleList.includes(PostgreSqlParser.RULE_whereClause) ||
131
131
  candidateRule.ruleList.includes(PostgreSqlParser.RULE_havingClause) ||
132
132
  candidateRule.ruleList.includes(PostgreSqlParser.RULE_windowClause) ||
133
- candidateRule.ruleList.includes(PostgreSqlParser.RULE_triggerWhen)) {
133
+ candidateRule.ruleList.includes(PostgreSqlParser.RULE_triggerWhen) ||
134
+ candidateRule.ruleList.includes(PostgreSqlParser.RULE_joinQual)) {
134
135
  syntaxContextType = EntityContextType.COLUMN;
135
136
  }
136
137
  break;
@@ -1,4 +1,4 @@
1
- import { type AlterTableStmtContext, type ColumnCreateTableContext, type ColumnNameCreateContext, type CreateDatabaseContext, type CreateForeignTableContext, type CreateFunctionStmtContext, type CreateMaterializedViewContext, type CreatePartitionForeignTableContext, type CreateViewContext, type DatabaseNameContext, type DatabaseNameCreateContext, FuncTableContext, type FunctionNameCreateContext, type InsertStatementContext, type ProcedureNameContext, type ProcedureNameCreateContext, type QueryCreateTableContext, SelectExpressionColumnNameContext, SelectLiteralColumnNameContext, SelectNoParensContext, type SelectStatementContext, SelectWithParensContext, type SingleStmtContext, TableAllColumnsContext, type TableNameContext, type TableNameCreateContext, Target_dot_emptyContext, Target_emptyContext, TargetListContext, type ViewNameContext, type ViewNameCreateContext, XmlTableContext } from '../../lib/postgresql/PostgreSqlParser';
1
+ import { type AlterTableStmtContext, type ColumnCreateTableContext, type ColumnNameCreateContext, type CreateDatabaseContext, type CreateForeignTableContext, type CreateFunctionStmtContext, type CreateMaterializedViewContext, type CreatePartitionForeignTableContext, type CreateViewContext, type DatabaseNameContext, type DatabaseNameCreateContext, FuncTableContext, type FunctionNameCreateContext, type InsertStatementContext, type ProcedureNameContext, type ProcedureNameCreateContext, type QueryCreateTableContext, SelectExpressionColumnNameContext, SelectLiteralColumnNameContext, SelectNoParensContext, type SelectStatementContext, SelectWithParensContext, type SingleStmtContext, TableAllColumnsContext, type TableNameContext, type TableNameCreateContext, Target_dot_emptyContext, Target_emptyContext, ColumnNamePath_dot_emptyContext, TargetListContext, type ViewNameContext, type ViewNameCreateContext, XmlTableContext } from '../../lib/postgresql/PostgreSqlParser';
2
2
  import type { PostgreSqlParserListener } from '../../lib/postgresql/PostgreSqlParserListener';
3
3
  import { EntityCollector } from '../common/entityCollector';
4
4
  export declare class PostgreSqlEntityCollector extends EntityCollector implements PostgreSqlParserListener {
@@ -18,6 +18,7 @@ export declare class PostgreSqlEntityCollector extends EntityCollector implement
18
18
  exitTableAllColumns(ctx: TableAllColumnsContext): void;
19
19
  exitTarget_empty(ctx: Target_emptyContext): void;
20
20
  exitTarget_dot_empty(ctx: Target_dot_emptyContext): void;
21
+ exitColumnNamePath_dot_empty(ctx: ColumnNamePath_dot_emptyContext): void;
21
22
  exitSelectExpressionColumnName(ctx: SelectExpressionColumnNameContext): void;
22
23
  exitSelectLiteralColumnName(ctx: SelectLiteralColumnNameContext): void;
23
24
  exitProcedureName(ctx: ProcedureNameContext): void;
@@ -105,6 +105,11 @@ export class PostgreSqlEntityCollector extends EntityCollector {
105
105
  declareType: ColumnDeclareType.LITERAL,
106
106
  });
107
107
  }
108
+ exitColumnNamePath_dot_empty(ctx) {
109
+ this.pushEntity(ctx, EntityContextType.COLUMN, [], {
110
+ declareType: ColumnDeclareType.LITERAL,
111
+ });
112
+ }
108
113
  exitSelectExpressionColumnName(ctx) {
109
114
  this.pushEntity(ctx, EntityContextType.COLUMN, [
110
115
  {
@@ -115,9 +115,11 @@ export class TrinoSQL extends BasicSQL {
115
115
  candidateRule.ruleList.includes(TrinoSqlParser.RULE_havingClause) ||
116
116
  candidateRule.ruleList.includes(TrinoSqlParser.RULE_partitionBy) ||
117
117
  candidateRule.ruleList.includes(TrinoSqlParser.RULE_whenClause) ||
118
- candidateRule.ruleList.includes(TrinoSqlParser.RULE_relation)) {
118
+ candidateRule.ruleList.includes(TrinoSqlParser.RULE_relation) ||
119
+ candidateRule.ruleList.includes(TrinoSqlParser.RULE_joinCriteria)) {
119
120
  syntaxContextType = EntityContextType.COLUMN;
120
121
  }
122
+ break;
121
123
  }
122
124
  default:
123
125
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dt-sql-parser",
3
- "version": "4.5.0",
3
+ "version": "4.5.1-beta.1",
4
4
  "authors": "DTStack Corporation",
5
5
  "description": "SQL Parsers for BigData, built with antlr4",
6
6
  "keywords": [