rawsql-ts 0.12.1 → 0.13.2

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.
Files changed (65) hide show
  1. package/LICENSE +21 -0
  2. package/dist/esm/index.d.ts +1 -1
  3. package/dist/esm/index.js +1 -1
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/index.min.js +7 -7
  6. package/dist/esm/index.min.js.map +3 -3
  7. package/dist/esm/models/DDLStatements.d.ts +84 -1
  8. package/dist/esm/models/DDLStatements.js +43 -0
  9. package/dist/esm/models/DDLStatements.js.map +1 -1
  10. package/dist/esm/models/SqlPrintToken.d.ts +5 -0
  11. package/dist/esm/models/SqlPrintToken.js +5 -0
  12. package/dist/esm/models/SqlPrintToken.js.map +1 -1
  13. package/dist/esm/models/TableDefinitionModel.d.ts +2 -0
  14. package/dist/esm/models/TableDefinitionModel.js +2 -1
  15. package/dist/esm/models/TableDefinitionModel.js.map +1 -1
  16. package/dist/esm/parsers/AlterTableParser.d.ts +1 -0
  17. package/dist/esm/parsers/AlterTableParser.js +59 -22
  18. package/dist/esm/parsers/AlterTableParser.js.map +1 -1
  19. package/dist/esm/parsers/SequenceParser.d.ts +16 -0
  20. package/dist/esm/parsers/SequenceParser.js +240 -0
  21. package/dist/esm/parsers/SequenceParser.js.map +1 -0
  22. package/dist/esm/parsers/SqlParser.d.ts +4 -2
  23. package/dist/esm/parsers/SqlParser.js +41 -0
  24. package/dist/esm/parsers/SqlParser.js.map +1 -1
  25. package/dist/esm/parsers/SqlPrintTokenParser.d.ts +5 -0
  26. package/dist/esm/parsers/SqlPrintTokenParser.js +147 -1
  27. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
  28. package/dist/esm/parsers/SqlTokenizer.d.ts +1 -0
  29. package/dist/esm/parsers/SqlTokenizer.js +33 -0
  30. package/dist/esm/parsers/SqlTokenizer.js.map +1 -1
  31. package/dist/esm/tokenReaders/CommandTokenReader.js +5 -0
  32. package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
  33. package/dist/index.js +4 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.min.js +7 -7
  36. package/dist/index.min.js.map +3 -3
  37. package/dist/models/DDLStatements.js +47 -1
  38. package/dist/models/DDLStatements.js.map +1 -1
  39. package/dist/models/SqlPrintToken.js +5 -0
  40. package/dist/models/SqlPrintToken.js.map +1 -1
  41. package/dist/models/TableDefinitionModel.js +2 -1
  42. package/dist/models/TableDefinitionModel.js.map +1 -1
  43. package/dist/parsers/AlterTableParser.js +58 -21
  44. package/dist/parsers/AlterTableParser.js.map +1 -1
  45. package/dist/parsers/SequenceParser.js +245 -0
  46. package/dist/parsers/SequenceParser.js.map +1 -0
  47. package/dist/parsers/SqlParser.js +41 -0
  48. package/dist/parsers/SqlParser.js.map +1 -1
  49. package/dist/parsers/SqlPrintTokenParser.js +146 -0
  50. package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
  51. package/dist/parsers/SqlTokenizer.js +33 -0
  52. package/dist/parsers/SqlTokenizer.js.map +1 -1
  53. package/dist/src/index.d.ts +1 -1
  54. package/dist/src/models/DDLStatements.d.ts +84 -1
  55. package/dist/src/models/SqlPrintToken.d.ts +5 -0
  56. package/dist/src/models/TableDefinitionModel.d.ts +2 -0
  57. package/dist/src/parsers/AlterTableParser.d.ts +1 -0
  58. package/dist/src/parsers/SequenceParser.d.ts +16 -0
  59. package/dist/src/parsers/SqlParser.d.ts +4 -2
  60. package/dist/src/parsers/SqlPrintTokenParser.d.ts +5 -0
  61. package/dist/src/parsers/SqlTokenizer.d.ts +1 -0
  62. package/dist/tokenReaders/CommandTokenReader.js +5 -0
  63. package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
  64. package/dist/tsconfig.browser.tsbuildinfo +1 -1
  65. package/package.json +62 -61
@@ -0,0 +1,240 @@
1
+ import { CreateSequenceStatement, AlterSequenceStatement } from "../models/DDLStatements";
2
+ import { FullNameParser } from "./FullNameParser";
3
+ import { QualifiedName } from "../models/ValueComponent";
4
+ import { SqlTokenizer } from "./SqlTokenizer";
5
+ import { ValueParser } from "./ValueParser";
6
+ const CREATE_SEQUENCE_COMMANDS = new Set([
7
+ "create sequence",
8
+ "create temporary sequence",
9
+ "create temp sequence"
10
+ ]);
11
+ const SEQUENCE_CLAUSE_STARTERS = new Set([
12
+ "increment",
13
+ "start",
14
+ "minvalue",
15
+ "maxvalue",
16
+ "cache",
17
+ "cycle",
18
+ "owned",
19
+ "no"
20
+ ]);
21
+ export class CreateSequenceParser {
22
+ static parse(sql) {
23
+ var _a, _b;
24
+ const tokenizer = new SqlTokenizer(sql);
25
+ const lexemes = tokenizer.readLexemes();
26
+ const result = this.parseFromLexeme(lexemes, 0);
27
+ // Ensure the statement was fully consumed and no extra tokens remain.
28
+ if (result.newIndex < lexemes.length) {
29
+ const unexpected = lexemes[result.newIndex];
30
+ const position = (_b = (_a = unexpected.position) === null || _a === void 0 ? void 0 : _a.startPosition) !== null && _b !== void 0 ? _b : 0;
31
+ throw new Error(`[CreateSequenceParser] Unexpected token "${unexpected.value}" at position ${position}.`);
32
+ }
33
+ return result.value;
34
+ }
35
+ static parseFromLexeme(lexemes, index) {
36
+ var _a, _b;
37
+ let idx = index;
38
+ // The cursor should start on a CREATE SEQUENCE command (possibly with TEMP/TEMPORARY).
39
+ const command = (_a = lexemes[idx]) === null || _a === void 0 ? void 0 : _a.value.toLowerCase();
40
+ if (!command || !CREATE_SEQUENCE_COMMANDS.has(command)) {
41
+ throw new Error(`[CreateSequenceParser] Expected CREATE SEQUENCE at index ${idx}.`);
42
+ }
43
+ idx++;
44
+ let ifNotExists = false;
45
+ // Accept an optional IF NOT EXISTS clause.
46
+ if (((_b = lexemes[idx]) === null || _b === void 0 ? void 0 : _b.value.toLowerCase()) === "if not exists") {
47
+ ifNotExists = true;
48
+ idx++;
49
+ }
50
+ // Parse the qualified name of the target sequence.
51
+ const nameResult = FullNameParser.parseFromLexeme(lexemes, idx);
52
+ const sequenceName = new QualifiedName(nameResult.namespaces, nameResult.name);
53
+ idx = nameResult.newIndex;
54
+ // Gather sequence option clauses that follow the target identifier.
55
+ const optionsResult = parseSequenceClauses(lexemes, idx);
56
+ idx = optionsResult.newIndex;
57
+ return {
58
+ value: new CreateSequenceStatement({
59
+ sequenceName,
60
+ ifNotExists,
61
+ clauses: optionsResult.clauses
62
+ }),
63
+ newIndex: idx
64
+ };
65
+ }
66
+ }
67
+ export class AlterSequenceParser {
68
+ static parse(sql) {
69
+ var _a, _b;
70
+ const tokenizer = new SqlTokenizer(sql);
71
+ const lexemes = tokenizer.readLexemes();
72
+ const result = this.parseFromLexeme(lexemes, 0);
73
+ // Guard against unexpected trailing tokens after a valid ALTER SEQUENCE statement.
74
+ if (result.newIndex < lexemes.length) {
75
+ const unexpected = lexemes[result.newIndex];
76
+ const position = (_b = (_a = unexpected.position) === null || _a === void 0 ? void 0 : _a.startPosition) !== null && _b !== void 0 ? _b : 0;
77
+ throw new Error(`[AlterSequenceParser] Unexpected token "${unexpected.value}" at position ${position}.`);
78
+ }
79
+ return result.value;
80
+ }
81
+ static parseFromLexeme(lexemes, index) {
82
+ var _a, _b;
83
+ let idx = index;
84
+ // Expect ALTER SEQUENCE as the leading keywords.
85
+ if (((_a = lexemes[idx]) === null || _a === void 0 ? void 0 : _a.value.toLowerCase()) !== "alter sequence") {
86
+ throw new Error(`[AlterSequenceParser] Expected ALTER SEQUENCE at index ${idx}.`);
87
+ }
88
+ idx++;
89
+ let ifExists = false;
90
+ // Consume the optional IF EXISTS qualifier.
91
+ if (((_b = lexemes[idx]) === null || _b === void 0 ? void 0 : _b.value.toLowerCase()) === "if exists") {
92
+ ifExists = true;
93
+ idx++;
94
+ }
95
+ // Parse the fully qualified sequence identifier.
96
+ const nameResult = FullNameParser.parseFromLexeme(lexemes, idx);
97
+ const sequenceName = new QualifiedName(nameResult.namespaces, nameResult.name);
98
+ idx = nameResult.newIndex;
99
+ // Capture any option clauses that follow.
100
+ const optionsResult = parseSequenceClauses(lexemes, idx);
101
+ idx = optionsResult.newIndex;
102
+ return {
103
+ value: new AlterSequenceStatement({
104
+ sequenceName,
105
+ ifExists,
106
+ clauses: optionsResult.clauses
107
+ }),
108
+ newIndex: idx
109
+ };
110
+ }
111
+ }
112
+ function parseSequenceClauses(lexemes, index) {
113
+ var _a, _b, _c, _d, _e;
114
+ let idx = index;
115
+ // Continue parsing clause-by-clause until a non-clause token stops the loop.
116
+ const clauses = [];
117
+ while (idx < lexemes.length) {
118
+ const token = (_a = lexemes[idx]) === null || _a === void 0 ? void 0 : _a.value.toLowerCase();
119
+ // Terminate when there are no more tokens left to consume.
120
+ if (!token) {
121
+ break;
122
+ }
123
+ // Recognize INCREMENT BY <value> while tolerating the optional BY keyword.
124
+ if (token === "increment") {
125
+ idx++;
126
+ idx = consumeOptionalKeyword(lexemes, idx, "by");
127
+ const valueResult = ValueParser.parseFromLexeme(lexemes, idx);
128
+ clauses.push({ kind: "increment", value: valueResult.value });
129
+ idx = valueResult.newIndex;
130
+ continue;
131
+ }
132
+ // START WITH <value> clause prefers a WITH keyword but does not require it.
133
+ if (token === "start") {
134
+ idx++;
135
+ idx = consumeOptionalKeyword(lexemes, idx, "with");
136
+ const valueResult = ValueParser.parseFromLexeme(lexemes, idx);
137
+ clauses.push({ kind: "start", value: valueResult.value });
138
+ idx = valueResult.newIndex;
139
+ continue;
140
+ }
141
+ // MINVALUE <value> clause captures the lower bound directly.
142
+ if (token === "minvalue") {
143
+ idx++;
144
+ const valueResult = ValueParser.parseFromLexeme(lexemes, idx);
145
+ clauses.push({ kind: "minValue", value: valueResult.value });
146
+ idx = valueResult.newIndex;
147
+ continue;
148
+ }
149
+ // MAXVALUE <value> clause captures the upper bound directly.
150
+ if (token === "maxvalue") {
151
+ idx++;
152
+ const valueResult = ValueParser.parseFromLexeme(lexemes, idx);
153
+ clauses.push({ kind: "maxValue", value: valueResult.value });
154
+ idx = valueResult.newIndex;
155
+ continue;
156
+ }
157
+ // CACHE <value> clause records the in-memory cache size.
158
+ if (token === "cache") {
159
+ idx++;
160
+ const valueResult = ValueParser.parseFromLexeme(lexemes, idx);
161
+ clauses.push({ kind: "cache", value: valueResult.value });
162
+ idx = valueResult.newIndex;
163
+ continue;
164
+ }
165
+ // CYCLE enables wrapping behavior.
166
+ if (token === "cycle") {
167
+ clauses.push({ kind: "cycle", enabled: true });
168
+ idx++;
169
+ continue;
170
+ }
171
+ // RESTART may be followed by an optional WITH keyword and/or a value before the next clause starts.
172
+ if (token === "restart") {
173
+ idx++;
174
+ idx = consumeOptionalKeyword(lexemes, idx, "with");
175
+ let restartValue;
176
+ const nextToken = (_b = lexemes[idx]) === null || _b === void 0 ? void 0 : _b.value.toLowerCase();
177
+ if (nextToken && !SEQUENCE_CLAUSE_STARTERS.has(nextToken)) {
178
+ const restartResult = ValueParser.parseFromLexeme(lexemes, idx);
179
+ restartValue = restartResult.value;
180
+ idx = restartResult.newIndex;
181
+ }
182
+ clauses.push({ kind: "restart", value: restartValue });
183
+ continue;
184
+ }
185
+ // OWNED BY clause can point to a target column or NONE.
186
+ if (token === "owned") {
187
+ idx++;
188
+ if (((_c = lexemes[idx]) === null || _c === void 0 ? void 0 : _c.value.toLowerCase()) !== "by") {
189
+ throw new Error(`[SequenceParser] Expected BY after OWNED at index ${idx}.`);
190
+ }
191
+ idx++;
192
+ const nextToken = (_d = lexemes[idx]) === null || _d === void 0 ? void 0 : _d.value.toLowerCase();
193
+ if (nextToken === "none") {
194
+ clauses.push({ kind: "ownedBy", none: true });
195
+ idx++;
196
+ continue;
197
+ }
198
+ const ownerResult = FullNameParser.parseFromLexeme(lexemes, idx);
199
+ const ownerName = new QualifiedName(ownerResult.namespaces, ownerResult.name);
200
+ clauses.push({ kind: "ownedBy", target: ownerName });
201
+ idx = ownerResult.newIndex;
202
+ continue;
203
+ }
204
+ // NO {MINVALUE|MAXVALUE|CACHE|CYCLE} disables the respective default clauses.
205
+ if (token === "no") {
206
+ const nextToken = (_e = lexemes[idx + 1]) === null || _e === void 0 ? void 0 : _e.value.toLowerCase();
207
+ if (nextToken === "minvalue") {
208
+ clauses.push({ kind: "minValue", noValue: true });
209
+ idx += 2;
210
+ continue;
211
+ }
212
+ if (nextToken === "maxvalue") {
213
+ clauses.push({ kind: "maxValue", noValue: true });
214
+ idx += 2;
215
+ continue;
216
+ }
217
+ if (nextToken === "cache") {
218
+ clauses.push({ kind: "cache", noValue: true });
219
+ idx += 2;
220
+ continue;
221
+ }
222
+ if (nextToken === "cycle") {
223
+ clauses.push({ kind: "cycle", enabled: false });
224
+ idx += 2;
225
+ continue;
226
+ }
227
+ }
228
+ break;
229
+ }
230
+ return { clauses, newIndex: idx };
231
+ }
232
+ function consumeOptionalKeyword(lexemes, index, keyword) {
233
+ var _a;
234
+ // Skip an optional keyword that may appear before a value (e.g., BY or WITH).
235
+ if (((_a = lexemes[index]) === null || _a === void 0 ? void 0 : _a.value.toLowerCase()) === keyword) {
236
+ return index + 1;
237
+ }
238
+ return index;
239
+ }
240
+ //# sourceMappingURL=SequenceParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceParser.js","sourceRoot":"","sources":["../../../src/parsers/SequenceParser.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import type { UpdateQuery } from '../models/UpdateQuery';
4
4
  import type { DeleteQuery } from '../models/DeleteQuery';
5
5
  import type { CreateTableQuery } from '../models/CreateTableQuery';
6
6
  import type { MergeQuery } from '../models/MergeQuery';
7
- import type { DropTableStatement, DropIndexStatement, CreateIndexStatement, AlterTableStatement, DropConstraintStatement, AnalyzeStatement, ExplainStatement } from '../models/DDLStatements';
8
- export type ParsedStatement = SelectQuery | InsertQuery | UpdateQuery | DeleteQuery | CreateTableQuery | MergeQuery | DropTableStatement | DropIndexStatement | CreateIndexStatement | AlterTableStatement | DropConstraintStatement | AnalyzeStatement | ExplainStatement;
7
+ import type { DropTableStatement, DropIndexStatement, CreateIndexStatement, AlterTableStatement, DropConstraintStatement, AnalyzeStatement, ExplainStatement, CreateSequenceStatement, AlterSequenceStatement } from '../models/DDLStatements';
8
+ export type ParsedStatement = SelectQuery | InsertQuery | UpdateQuery | DeleteQuery | CreateTableQuery | MergeQuery | DropTableStatement | DropIndexStatement | CreateIndexStatement | CreateSequenceStatement | AlterTableStatement | AlterSequenceStatement | DropConstraintStatement | AnalyzeStatement | ExplainStatement;
9
9
  export interface SqlParserOptions {
10
10
  mode?: 'single' | 'multiple';
11
11
  skipEmptyStatements?: boolean;
@@ -30,6 +30,8 @@ export declare class SqlParser {
30
30
  private static parseDropTableStatement;
31
31
  private static parseDropIndexStatement;
32
32
  private static parseCreateIndexStatement;
33
+ private static parseCreateSequenceStatement;
34
+ private static parseAlterSequenceStatement;
33
35
  private static parseAlterTableStatement;
34
36
  private static parseDropConstraintStatement;
35
37
  private static parseAnalyzeStatement;
@@ -13,6 +13,7 @@ import { AlterTableParser } from './AlterTableParser';
13
13
  import { DropConstraintParser } from './DropConstraintParser';
14
14
  import { AnalyzeStatementParser } from './AnalyzeStatementParser';
15
15
  import { ExplainStatementParser } from './ExplainStatementParser';
16
+ import { CreateSequenceParser, AlterSequenceParser } from './SequenceParser';
16
17
  /**
17
18
  * Canonical entry point for SQL parsing.
18
19
  * Delegates to dedicated parsers for SELECT, INSERT, UPDATE, and DELETE statements, and is designed to embrace additional statement types next.
@@ -106,12 +107,18 @@ export class SqlParser {
106
107
  case 'create index':
107
108
  case 'create unique index':
108
109
  return this.parseCreateIndexStatement(segment, statementIndex);
110
+ case 'create sequence':
111
+ case 'create temporary sequence':
112
+ case 'create temp sequence':
113
+ return this.parseCreateSequenceStatement(segment, statementIndex);
109
114
  case 'drop table':
110
115
  return this.parseDropTableStatement(segment, statementIndex);
111
116
  case 'drop index':
112
117
  return this.parseDropIndexStatement(segment, statementIndex);
113
118
  case 'alter table':
114
119
  return this.parseAlterTableStatement(segment, statementIndex);
120
+ case 'alter sequence':
121
+ return this.parseAlterSequenceStatement(segment, statementIndex);
115
122
  case 'drop constraint':
116
123
  return this.parseDropConstraintStatement(segment, statementIndex);
117
124
  case 'analyze':
@@ -281,6 +288,40 @@ export class SqlParser {
281
288
  throw new Error(`[SqlParser] Failed to parse CREATE INDEX statement ${statementIndex}: ${message}`);
282
289
  }
283
290
  }
291
+ static parseCreateSequenceStatement(segment, statementIndex) {
292
+ var _a, _b;
293
+ try {
294
+ const result = CreateSequenceParser.parseFromLexeme(segment.lexemes, 0);
295
+ // Ensure no trailing lexemes remain after the CREATE SEQUENCE clause.
296
+ if (result.newIndex < segment.lexemes.length) {
297
+ const unexpected = segment.lexemes[result.newIndex];
298
+ const position = (_b = (_a = unexpected.position) === null || _a === void 0 ? void 0 : _a.startPosition) !== null && _b !== void 0 ? _b : segment.statementStart;
299
+ throw new Error(`[SqlParser] Unexpected token "${unexpected.value}" in statement ${statementIndex} at character ${position}.`);
300
+ }
301
+ return result.value;
302
+ }
303
+ catch (error) {
304
+ const message = error instanceof Error ? error.message : String(error);
305
+ throw new Error(`[SqlParser] Failed to parse CREATE SEQUENCE statement ${statementIndex}: ${message}`);
306
+ }
307
+ }
308
+ static parseAlterSequenceStatement(segment, statementIndex) {
309
+ var _a, _b;
310
+ try {
311
+ const result = AlterSequenceParser.parseFromLexeme(segment.lexemes, 0);
312
+ // Validate that the ALTER SEQUENCE statement consumed all available tokens.
313
+ if (result.newIndex < segment.lexemes.length) {
314
+ const unexpected = segment.lexemes[result.newIndex];
315
+ const position = (_b = (_a = unexpected.position) === null || _a === void 0 ? void 0 : _a.startPosition) !== null && _b !== void 0 ? _b : segment.statementStart;
316
+ throw new Error(`[SqlParser] Unexpected token "${unexpected.value}" in statement ${statementIndex} at character ${position}.`);
317
+ }
318
+ return result.value;
319
+ }
320
+ catch (error) {
321
+ const message = error instanceof Error ? error.message : String(error);
322
+ throw new Error(`[SqlParser] Failed to parse ALTER SEQUENCE statement ${statementIndex}: ${message}`);
323
+ }
324
+ }
284
325
  static parseAlterTableStatement(segment, statementIndex) {
285
326
  var _a, _b;
286
327
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"SqlParser.js","sourceRoot":"","sources":["../../../src/parsers/SqlParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlParser.js","sourceRoot":"","sources":["../../../src/parsers/SqlParser.ts"],"names":[],"mappings":"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"}
@@ -295,6 +295,10 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
295
295
  private wrapWithParenExpression;
296
296
  private visitReferenceDefinition;
297
297
  private visitCreateIndexStatement;
298
+ private visitCreateSequenceStatement;
299
+ private visitAlterSequenceStatement;
300
+ private visitSequenceClauses;
301
+ private visitSequenceClause;
298
302
  private visitIndexColumnDefinition;
299
303
  private visitDropTableStatement;
300
304
  private visitDropIndexStatement;
@@ -303,6 +307,7 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
303
307
  private visitAlterTableDropConstraint;
304
308
  private visitAlterTableAddColumn;
305
309
  private visitAlterTableDropColumn;
310
+ private visitAlterTableAlterColumnDefault;
306
311
  private visitDropConstraintStatement;
307
312
  private visitExplainStatement;
308
313
  private visitAnalyzeStatement;
@@ -12,7 +12,7 @@ import { UpdateQuery } from "../models/UpdateQuery";
12
12
  import { DeleteQuery } from "../models/DeleteQuery";
13
13
  import { CreateTableQuery, TableColumnDefinition, ColumnConstraintDefinition, TableConstraintDefinition, ReferenceDefinition } from "../models/CreateTableQuery";
14
14
  import { MergeQuery, MergeWhenClause, MergeUpdateAction, MergeDeleteAction, MergeInsertAction, MergeDoNothingAction } from "../models/MergeQuery";
15
- import { DropTableStatement, DropIndexStatement, CreateIndexStatement, IndexColumnDefinition, AlterTableStatement, AlterTableAddConstraint, AlterTableDropConstraint, AlterTableAddColumn, AlterTableDropColumn, DropConstraintStatement, ExplainStatement, AnalyzeStatement } from "../models/DDLStatements";
15
+ import { DropTableStatement, DropIndexStatement, CreateIndexStatement, IndexColumnDefinition, AlterTableStatement, AlterTableAddConstraint, AlterTableDropConstraint, AlterTableAddColumn, AlterTableDropColumn, AlterTableAlterColumnDefault, DropConstraintStatement, ExplainStatement, AnalyzeStatement, CreateSequenceStatement, AlterSequenceStatement } from "../models/DDLStatements";
16
16
  export var ParameterStyle;
17
17
  (function (ParameterStyle) {
18
18
  ParameterStyle["Anonymous"] = "anonymous";
@@ -258,6 +258,8 @@ export class SqlPrintTokenParser {
258
258
  this.handlers.set(ReferenceDefinition.kind, (expr) => this.visitReferenceDefinition(expr));
259
259
  this.handlers.set(CreateIndexStatement.kind, (expr) => this.visitCreateIndexStatement(expr));
260
260
  this.handlers.set(IndexColumnDefinition.kind, (expr) => this.visitIndexColumnDefinition(expr));
261
+ this.handlers.set(CreateSequenceStatement.kind, (expr) => this.visitCreateSequenceStatement(expr));
262
+ this.handlers.set(AlterSequenceStatement.kind, (expr) => this.visitAlterSequenceStatement(expr));
261
263
  this.handlers.set(DropTableStatement.kind, (expr) => this.visitDropTableStatement(expr));
262
264
  this.handlers.set(DropIndexStatement.kind, (expr) => this.visitDropIndexStatement(expr));
263
265
  this.handlers.set(AlterTableStatement.kind, (expr) => this.visitAlterTableStatement(expr));
@@ -265,6 +267,7 @@ export class SqlPrintTokenParser {
265
267
  this.handlers.set(AlterTableDropConstraint.kind, (expr) => this.visitAlterTableDropConstraint(expr));
266
268
  this.handlers.set(AlterTableAddColumn.kind, (expr) => this.visitAlterTableAddColumn(expr));
267
269
  this.handlers.set(AlterTableDropColumn.kind, (expr) => this.visitAlterTableDropColumn(expr));
270
+ this.handlers.set(AlterTableAlterColumnDefault.kind, (expr) => this.visitAlterTableAlterColumnDefault(expr));
268
271
  this.handlers.set(DropConstraintStatement.kind, (expr) => this.visitDropConstraintStatement(expr));
269
272
  this.handlers.set(ExplainStatement.kind, (expr) => this.visitExplainStatement(expr));
270
273
  this.handlers.set(AnalyzeStatement.kind, (expr) => this.visitAnalyzeStatement(expr));
@@ -2852,6 +2855,126 @@ export class SqlPrintTokenParser {
2852
2855
  }
2853
2856
  return token;
2854
2857
  }
2858
+ visitCreateSequenceStatement(arg) {
2859
+ const keywordParts = ['create', 'sequence'];
2860
+ if (arg.ifNotExists) {
2861
+ keywordParts.push('if not exists');
2862
+ }
2863
+ const token = new SqlPrintToken(SqlPrintTokenType.keyword, keywordParts.join(' '), SqlPrintTokenContainerType.CreateSequenceStatement);
2864
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2865
+ token.innerTokens.push(arg.sequenceName.accept(this));
2866
+ if (arg.clauses.length > 0) {
2867
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2868
+ token.innerTokens.push(this.visitSequenceClauses(arg.clauses));
2869
+ }
2870
+ return token;
2871
+ }
2872
+ visitAlterSequenceStatement(arg) {
2873
+ const keywordParts = ['alter', 'sequence'];
2874
+ if (arg.ifExists) {
2875
+ keywordParts.push('if exists');
2876
+ }
2877
+ const token = new SqlPrintToken(SqlPrintTokenType.keyword, keywordParts.join(' '), SqlPrintTokenContainerType.AlterSequenceStatement);
2878
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2879
+ token.innerTokens.push(arg.sequenceName.accept(this));
2880
+ if (arg.clauses.length > 0) {
2881
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2882
+ token.innerTokens.push(this.visitSequenceClauses(arg.clauses));
2883
+ }
2884
+ return token;
2885
+ }
2886
+ visitSequenceClauses(clauses) {
2887
+ const token = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.SequenceOptionList);
2888
+ // Separate each clause with a space to mimic standard SQL layout.
2889
+ for (let i = 0; i < clauses.length; i++) {
2890
+ if (i > 0) {
2891
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2892
+ }
2893
+ token.innerTokens.push(this.visitSequenceClause(clauses[i]));
2894
+ }
2895
+ return token;
2896
+ }
2897
+ visitSequenceClause(clause) {
2898
+ const token = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.SequenceOptionClause);
2899
+ // Convert each clause kind into its keyword/value representation.
2900
+ switch (clause.kind) {
2901
+ case 'increment':
2902
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'increment'));
2903
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2904
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'by'));
2905
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2906
+ token.innerTokens.push(clause.value.accept(this));
2907
+ break;
2908
+ case 'start':
2909
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'start'));
2910
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2911
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'with'));
2912
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2913
+ token.innerTokens.push(clause.value.accept(this));
2914
+ break;
2915
+ case 'minValue':
2916
+ if (clause.noValue) {
2917
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'no'));
2918
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2919
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'minvalue'));
2920
+ }
2921
+ else if (clause.value) {
2922
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'minvalue'));
2923
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2924
+ token.innerTokens.push(clause.value.accept(this));
2925
+ }
2926
+ break;
2927
+ case 'maxValue':
2928
+ if (clause.noValue) {
2929
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'no'));
2930
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2931
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'maxvalue'));
2932
+ }
2933
+ else if (clause.value) {
2934
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'maxvalue'));
2935
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2936
+ token.innerTokens.push(clause.value.accept(this));
2937
+ }
2938
+ break;
2939
+ case 'cache':
2940
+ if (clause.noValue) {
2941
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'no'));
2942
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2943
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'cache'));
2944
+ }
2945
+ else if (clause.value) {
2946
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'cache'));
2947
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2948
+ token.innerTokens.push(clause.value.accept(this));
2949
+ }
2950
+ break;
2951
+ case 'cycle':
2952
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, clause.enabled ? 'cycle' : 'no cycle'));
2953
+ break;
2954
+ case 'restart':
2955
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'restart'));
2956
+ if (clause.value) {
2957
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2958
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'with'));
2959
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2960
+ token.innerTokens.push(clause.value.accept(this));
2961
+ }
2962
+ break;
2963
+ case 'ownedBy':
2964
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'owned'));
2965
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2966
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'by'));
2967
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
2968
+ if (clause.none) {
2969
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'none'));
2970
+ }
2971
+ else if (clause.target) {
2972
+ token.innerTokens.push(clause.target.accept(this));
2973
+ }
2974
+ break;
2975
+ }
2976
+ return token;
2977
+ }
2855
2978
  visitIndexColumnDefinition(arg) {
2856
2979
  const token = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.IndexColumnDefinition);
2857
2980
  token.innerTokens.push(this.visit(arg.expression));
@@ -2993,6 +3116,29 @@ export class SqlPrintTokenParser {
2993
3116
  }
2994
3117
  return token;
2995
3118
  }
3119
+ visitAlterTableAlterColumnDefault(arg) {
3120
+ const token = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.AlterTableAlterColumnDefault);
3121
+ // Begin with ALTER COLUMN and the targeted column name.
3122
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'alter column'));
3123
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
3124
+ token.innerTokens.push(arg.columnName.accept(this));
3125
+ // Emit either SET DEFAULT or DROP DEFAULT depending on the action.
3126
+ if (arg.dropDefault) {
3127
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
3128
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'drop default'));
3129
+ }
3130
+ else if (arg.setDefault) {
3131
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
3132
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'set default'));
3133
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
3134
+ token.innerTokens.push(arg.setDefault.accept(this));
3135
+ }
3136
+ else {
3137
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
3138
+ token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'set default'));
3139
+ }
3140
+ return token;
3141
+ }
2996
3142
  visitDropConstraintStatement(arg) {
2997
3143
  let keyword = 'drop constraint';
2998
3144
  if (arg.ifExists) {