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.
- package/LICENSE +21 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +7 -7
- package/dist/esm/index.min.js.map +3 -3
- package/dist/esm/models/DDLStatements.d.ts +84 -1
- package/dist/esm/models/DDLStatements.js +43 -0
- package/dist/esm/models/DDLStatements.js.map +1 -1
- package/dist/esm/models/SqlPrintToken.d.ts +5 -0
- package/dist/esm/models/SqlPrintToken.js +5 -0
- package/dist/esm/models/SqlPrintToken.js.map +1 -1
- package/dist/esm/models/TableDefinitionModel.d.ts +2 -0
- package/dist/esm/models/TableDefinitionModel.js +2 -1
- package/dist/esm/models/TableDefinitionModel.js.map +1 -1
- package/dist/esm/parsers/AlterTableParser.d.ts +1 -0
- package/dist/esm/parsers/AlterTableParser.js +59 -22
- package/dist/esm/parsers/AlterTableParser.js.map +1 -1
- package/dist/esm/parsers/SequenceParser.d.ts +16 -0
- package/dist/esm/parsers/SequenceParser.js +240 -0
- package/dist/esm/parsers/SequenceParser.js.map +1 -0
- package/dist/esm/parsers/SqlParser.d.ts +4 -2
- package/dist/esm/parsers/SqlParser.js +41 -0
- package/dist/esm/parsers/SqlParser.js.map +1 -1
- package/dist/esm/parsers/SqlPrintTokenParser.d.ts +5 -0
- package/dist/esm/parsers/SqlPrintTokenParser.js +147 -1
- package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/parsers/SqlTokenizer.d.ts +1 -0
- package/dist/esm/parsers/SqlTokenizer.js +33 -0
- package/dist/esm/parsers/SqlTokenizer.js.map +1 -1
- package/dist/esm/tokenReaders/CommandTokenReader.js +5 -0
- package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +7 -7
- package/dist/index.min.js.map +3 -3
- package/dist/models/DDLStatements.js +47 -1
- package/dist/models/DDLStatements.js.map +1 -1
- package/dist/models/SqlPrintToken.js +5 -0
- package/dist/models/SqlPrintToken.js.map +1 -1
- package/dist/models/TableDefinitionModel.js +2 -1
- package/dist/models/TableDefinitionModel.js.map +1 -1
- package/dist/parsers/AlterTableParser.js +58 -21
- package/dist/parsers/AlterTableParser.js.map +1 -1
- package/dist/parsers/SequenceParser.js +245 -0
- package/dist/parsers/SequenceParser.js.map +1 -0
- package/dist/parsers/SqlParser.js +41 -0
- package/dist/parsers/SqlParser.js.map +1 -1
- package/dist/parsers/SqlPrintTokenParser.js +146 -0
- package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/parsers/SqlTokenizer.js +33 -0
- package/dist/parsers/SqlTokenizer.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/models/DDLStatements.d.ts +84 -1
- package/dist/src/models/SqlPrintToken.d.ts +5 -0
- package/dist/src/models/TableDefinitionModel.d.ts +2 -0
- package/dist/src/parsers/AlterTableParser.d.ts +1 -0
- package/dist/src/parsers/SequenceParser.d.ts +16 -0
- package/dist/src/parsers/SqlParser.d.ts +4 -2
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +5 -0
- package/dist/src/parsers/SqlTokenizer.d.ts +1 -0
- package/dist/tokenReaders/CommandTokenReader.js +5 -0
- package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
- package/dist/tsconfig.browser.tsbuildinfo +1 -1
- 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":"AAgBA,OAAO,EAAE,YAAY,EAAyB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA0BlE;;;GAGG;AACH,MAAM,OAAO,SAAS;IACX,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,UAA4B,EAAE;;QAC3D,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,mBAAmB,mCAAI,IAAI,CAAC;QACtD,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,QAAQ,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QAExC,gGAAgG;QAChG,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEpD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,8FAA8F;YAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACpF,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,wIAAwI,CAAC,CAAC;YAC9J,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,GAAW,EAAE,UAAgC,EAAE;;QACnE,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,mBAAmB,mCAAI,IAAI,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,GAAoB,IAAI,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,IAAI,EAAE,CAAC;YACV,iGAAiG;YACjG,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3D,KAAK,GAAG,IAAI,CAAC;YAEb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM;YACV,CAAC;YAED,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YAE9B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,4EAA4E;gBAC5E,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC;gBACpC,CAAC;gBACD,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnD,SAAS;gBACb,CAAC;YACL,CAAC;YAED,KAAK,EAAE,CAAC;YACR,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,OAA8B,EAAE,cAAsB;QAC/E,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,+BAA+B,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAE1D,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE9D,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnE,QAAQ,gBAAgB,EAAE,CAAC;oBACvB,KAAK,aAAa;wBACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC9D,KAAK,QAAQ;wBACT,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC9D,KAAK,aAAa;wBACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC9D,KAAK,YAAY;wBACb,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC7D;wBACI,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;YACD,KAAK,aAAa;gBACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE9D,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE9D,KAAK,aAAa;gBACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE9D,KAAK,cAAc,CAAC;YACpB,KAAK,wBAAwB;gBACzB,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEnE,KAAK,YAAY;gBACb,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE7D,KAAK,cAAc,CAAC;YACpB,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEnE,KAAK,YAAY;gBACb,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEjE,KAAK,YAAY;gBACb,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEjE,KAAK,aAAa;gBACd,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAElE,KAAK,iBAAiB;gBAClB,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEtE,KAAK,SAAS;gBACV,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE/D,KAAK,SAAS;gBACV,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE/D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,mCAAmC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChI,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,OAA8B,EAAE,cAAsB;;QACtF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAErE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,OAA8B,EAAE,cAAsB;;QACvF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE;gBAC/F,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACzF,CAAC;gBAED,MAAM,aAAa,GAA0B;oBACzC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;oBACnC,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;iBAC3C,CAAC;gBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,0BAA0B,cAAc,iBAAiB,QAAQ,GAAG,CACxH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,iDAAiD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,OAA8B,EAAE,cAAsB;;QACtF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAErE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,OAA8B,EAAE,cAAsB;;QACtF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAErE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,OAA8B,EAAE,cAAsB;;QACtF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAErE,2FAA2F;YAC3F,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,OAA8B,EAAE,cAAsB;;QAC3F,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAErE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,sDAAsD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,OAA8B,EAAE,cAAsB;;QACzF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,oDAAoD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACtG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,OAA8B,EAAE,cAAsB;;QACzF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,oDAAoD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACtG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,OAA8B,EAAE,cAAsB;;QAC3F,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,sDAAsD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,OAA8B,EAAE,cAAsB;;QAC1F,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,qDAAqD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAAC,OAA8B,EAAE,cAAsB;;QAC9F,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,yDAAyD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QAC3G,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,OAA8B,EAAE,cAAsB;;QACvF,IAAI,CAAC;YACD,iEAAiE;YACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAE1E,oEAAoE;YACpE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,iDAAiD,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,OAA8B,EAAE,cAAsB;;QACrF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAEpE,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,iFAAiF;gBACjF,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,aAAa,mCAAI,OAAO,CAAC,cAAc,CAAC;gBAC9E,MAAM,IAAI,KAAK,CACX,iCAAiC,UAAU,CAAC,KAAK,kBAAkB,cAAc,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,+CAA+C,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC;QACjG,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,OAAiB;;QAChD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,WAAW,EAAE,mCAAI,IAAI,CAAC;QAC7C,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAC/B,SAAuB,EACvB,MAAc,EACd,SAAkB;QAElB,IAAI,WAAW,GAAG,MAAM,CAAC;QACzB,IAAI,KAAK,GAAoB,IAAI,CAAC;QAElC,oEAAoE;QACpE,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChE,KAAK,GAAG,IAAI,CAAC;YAEb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;YAEnC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,2EAA2E;gBAC3E,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC;gBACpC,CAAC;gBACD,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnD,SAAS;gBACb,CAAC;YACL,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;IACL,CAAC;CACJ"}
|
|
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) {
|