prettier-plugin-tsql 0.6.0 → 0.6.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.
- package/bin/dotnet/PrettierSql.Core.dll +0 -0
- package/bin/dotnet/SqlScriptDom.dll +0 -0
- package/dist/printer/admin.d.ts +1 -0
- package/dist/printer/admin.d.ts.map +1 -1
- package/dist/printer/admin.js +26 -4
- package/dist/printer/admin.js.map +1 -1
- package/dist/printer/ddl.d.ts.map +1 -1
- package/dist/printer/ddl.js +198 -15
- package/dist/printer/ddl.js.map +1 -1
- package/dist/printer/expressions.d.ts.map +1 -1
- package/dist/printer/expressions.js +22 -6
- package/dist/printer/expressions.js.map +1 -1
- package/dist/printer/helpers.d.ts.map +1 -1
- package/dist/printer/helpers.js +12 -7
- package/dist/printer/helpers.js.map +1 -1
- package/dist/printer/index.js +1 -1
- package/dist/printer/index.js.map +1 -1
- package/dist/printer/procedural.d.ts.map +1 -1
- package/dist/printer/procedural.js +46 -3
- package/dist/printer/procedural.js.map +1 -1
- package/dist/printer/statements.d.ts.map +1 -1
- package/dist/printer/statements.js +133 -28
- package/dist/printer/statements.js.map +1 -1
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
package/dist/printer/admin.d.ts
CHANGED
|
@@ -19,4 +19,5 @@ export declare function printAlterDatabaseRemoveFileGroup(node: SqlNode, opts: O
|
|
|
19
19
|
export declare function printAlterDatabaseModifyFile(node: SqlNode, opts: Options): Doc;
|
|
20
20
|
export declare function printAlterDatabaseModifyFileGroup(node: SqlNode, opts: Options): Doc;
|
|
21
21
|
export declare function printAlterDatabaseRebuildLog(node: SqlNode, opts: Options): Doc;
|
|
22
|
+
export declare function printAlterEventSession(node: SqlNode, opts: Options): Doc;
|
|
22
23
|
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAQhE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAMnE;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAsB3D;AAsED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAErE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAEhE;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAqC9D;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAiCrE;AAmBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAkBvE;AAMD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG3E;AAMD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG9E;AAMD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAanF;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAarF;AAgBD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAe3E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAYhF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG9E;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAGnF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG9E;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAOnF;AAMD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAI9E"}
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAQhE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAMnE;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAsB3D;AAsED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAErE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAEhE;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAqC9D;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAiCrE;AAmBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAkBvE;AAMD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG3E;AAMD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG9E;AAMD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAanF;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAarF;AAgBD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAe3E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAYhF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG9E;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAGnF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAG9E;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAOnF;AAMD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAI9E;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAkBxE"}
|
package/dist/printer/admin.js
CHANGED
|
@@ -131,20 +131,20 @@ export function printCreateDatabase(node, opts) {
|
|
|
131
131
|
const logOn = node.props?.['logOn'];
|
|
132
132
|
const options = node.props?.['options'];
|
|
133
133
|
const parts = [keyword('CREATE DATABASE', opts), ' ', name];
|
|
134
|
-
if (collation)
|
|
135
|
-
parts.push(' ', keyword('COLLATE', opts), ' ', collation);
|
|
136
134
|
if (snapshot)
|
|
137
135
|
parts.push(' ', keyword('AS SNAPSHOT OF', opts), ' ', snapshot);
|
|
138
136
|
if (copyOf)
|
|
139
137
|
parts.push(' ', keyword('AS COPY OF', opts), ' ', copyOf);
|
|
140
138
|
if (fileGroups?.length) {
|
|
141
|
-
parts.push(hardline, keyword('ON', opts)
|
|
139
|
+
parts.push(hardline, keyword('ON', opts));
|
|
142
140
|
parts.push(indent([hardline, join([',', hardline], fileGroups)]));
|
|
143
141
|
}
|
|
144
142
|
if (logOn?.length) {
|
|
145
|
-
parts.push(hardline, keyword('LOG ON', opts)
|
|
143
|
+
parts.push(hardline, keyword('LOG ON', opts));
|
|
146
144
|
parts.push(indent([hardline, join([',', hardline], logOn)]));
|
|
147
145
|
}
|
|
146
|
+
if (collation)
|
|
147
|
+
parts.push(hardline, keyword('COLLATE', opts), ' ', collation);
|
|
148
148
|
if (options?.length)
|
|
149
149
|
parts.push(hardline, join([',', hardline], options.map((o) => kwOpt(o, opts))));
|
|
150
150
|
parts.push(';');
|
|
@@ -283,4 +283,26 @@ export function printAlterDatabaseRebuildLog(node, opts) {
|
|
|
283
283
|
const onPart = file ? [' ', keyword('ON', opts), ' ', caseFileSpec(file, opts)] : '';
|
|
284
284
|
return [alterDbHeader(node, opts), ' ', keyword('REBUILD LOG', opts), onPart, ';'];
|
|
285
285
|
}
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
// ALTER EVENT SESSION
|
|
288
|
+
// ---------------------------------------------------------------------------
|
|
289
|
+
export function printAlterEventSession(node, opts) {
|
|
290
|
+
const name = propStr(node, 'name') ?? '';
|
|
291
|
+
const scope = propStr(node, 'scope') ?? 'SERVER';
|
|
292
|
+
const state = propStr(node, 'state');
|
|
293
|
+
return [
|
|
294
|
+
keyword('ALTER EVENT SESSION', opts),
|
|
295
|
+
' ',
|
|
296
|
+
name,
|
|
297
|
+
' ',
|
|
298
|
+
keyword('ON', opts),
|
|
299
|
+
' ',
|
|
300
|
+
keyword(scope, opts),
|
|
301
|
+
' ',
|
|
302
|
+
keyword('STATE', opts),
|
|
303
|
+
' = ',
|
|
304
|
+
keyword(state ?? 'START', opts),
|
|
305
|
+
';',
|
|
306
|
+
];
|
|
307
|
+
}
|
|
286
308
|
//# sourceMappingURL=admin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/plugin/printer/admin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/plugin/printer/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/ddl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/ddl.ts"],"names":[],"mappings":"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"}
|
package/dist/printer/ddl.js
CHANGED
|
@@ -6,6 +6,18 @@ import { printStatementWithComments, printNode, printBool, qexpr } from './state
|
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
7
|
// Shared helpers
|
|
8
8
|
// ---------------------------------------------------------------------------
|
|
9
|
+
/**
|
|
10
|
+
* When ScriptDOM sees `AS BEGIN...END` it wraps the body in a single
|
|
11
|
+
* BeginEndBlockStatement. Unwrap that one outer block so that proc/function/
|
|
12
|
+
* trigger printers can emit their own BEGIN/END delimiters cleanly, while
|
|
13
|
+
* a *standalone* BEGIN...END statement still prints with its own delimiters.
|
|
14
|
+
*/
|
|
15
|
+
function unwrapBodyBlock(stmts) {
|
|
16
|
+
if (stmts.length === 1 && stmts[0]?.type === 'BeginEndBlock') {
|
|
17
|
+
return propArr(stmts[0], 'statements');
|
|
18
|
+
}
|
|
19
|
+
return stmts;
|
|
20
|
+
}
|
|
9
21
|
/** Render ` NULL` / ` NOT NULL` from a tristate `nullable` prop value. */
|
|
10
22
|
function nullablePart(nullable, opts) {
|
|
11
23
|
if (nullable === true)
|
|
@@ -92,8 +104,18 @@ export function printCreateTable(node, opts) {
|
|
|
92
104
|
const withPart = options && options.length > 0 ? [hardline, keyword('WITH', opts), ' ', parenList(options)] : '';
|
|
93
105
|
const onFileGroup = propStr(node, 'onFileGroup');
|
|
94
106
|
const textimageOn = propStr(node, 'textimageOn');
|
|
107
|
+
const fileStreamOn = propStr(node, 'fileStreamOn');
|
|
95
108
|
const onPart = onFileGroup ? [hardline, keyword('ON', opts), ' ', onFileGroup] : '';
|
|
96
109
|
const textimagePart = textimageOn ? [hardline, keyword('TEXTIMAGE_ON', opts), ' ', textimageOn] : '';
|
|
110
|
+
const fileStreamPart = fileStreamOn ? [hardline, keyword('FILESTREAM_ON', opts), ' ', fileStreamOn] : '';
|
|
111
|
+
// Graph table types (AS NODE / AS EDGE)
|
|
112
|
+
const asNode = node.props?.['asNode'];
|
|
113
|
+
const asEdge = node.props?.['asEdge'];
|
|
114
|
+
const graphPart = asNode
|
|
115
|
+
? [' ', keyword('AS NODE', opts)]
|
|
116
|
+
: asEdge
|
|
117
|
+
? [' ', keyword('AS EDGE', opts)]
|
|
118
|
+
: '';
|
|
97
119
|
return group([
|
|
98
120
|
keyword('CREATE TABLE', opts),
|
|
99
121
|
' ',
|
|
@@ -102,18 +124,27 @@ export function printCreateTable(node, opts) {
|
|
|
102
124
|
indent([hardline, join([',', hardline], allDefs)]),
|
|
103
125
|
hardline,
|
|
104
126
|
')',
|
|
127
|
+
graphPart,
|
|
105
128
|
onPart,
|
|
129
|
+
fileStreamPart,
|
|
106
130
|
textimagePart,
|
|
107
131
|
withPart,
|
|
108
132
|
';',
|
|
109
133
|
]);
|
|
110
134
|
}
|
|
111
135
|
export function printColumnDef(node, opts) {
|
|
136
|
+
// Raw leaf (e.g. ENCRYPTED WITH — property names vary across ScriptDOM versions).
|
|
137
|
+
// The C# AstBuilder emits `Leaf("ColumnDefinition", col, rawText)` which sets
|
|
138
|
+
// `node.text` to the original column fragment and leaves `node.props` undefined.
|
|
139
|
+
if (!node.props)
|
|
140
|
+
return node.text ?? '/* column */';
|
|
112
141
|
const name = propStr(node, 'name') ?? 'col';
|
|
113
|
-
// Computed column: Name AS expression [PERSISTED]
|
|
142
|
+
// Computed column: Name AS expression [PERSISTED] [NOT NULL|NULL]
|
|
114
143
|
const computedExpr = prop(node, 'computedExpression');
|
|
115
144
|
if (computedExpr) {
|
|
116
145
|
const isPersisted = node.props?.['isPersisted'];
|
|
146
|
+
// Computed PERSISTED columns may have an explicit nullability constraint
|
|
147
|
+
const computedNullPart = nullablePart(node.props?.['nullable'], opts);
|
|
117
148
|
return [
|
|
118
149
|
name,
|
|
119
150
|
' ',
|
|
@@ -121,10 +152,13 @@ export function printColumnDef(node, opts) {
|
|
|
121
152
|
' ',
|
|
122
153
|
printNode(computedExpr, opts),
|
|
123
154
|
isPersisted ? [' ', keyword('PERSISTED', opts)] : '',
|
|
155
|
+
computedNullPart,
|
|
124
156
|
];
|
|
125
157
|
}
|
|
126
158
|
const dataType = propStr(node, 'dataType') ?? 'INT';
|
|
127
159
|
const params = node.props?.['dataTypeParams'];
|
|
160
|
+
const xmlSchemaCollection = propStr(node, 'xmlSchemaCollection');
|
|
161
|
+
const xmlTypeOption = propStr(node, 'xmlTypeOption');
|
|
128
162
|
// Read nullable as a tristate (true/false/undefined) — propBool only returns true/false.
|
|
129
163
|
const isNullable = node.props?.['nullable'];
|
|
130
164
|
const isIdentity = propBool(node, 'identity');
|
|
@@ -133,9 +167,18 @@ export function printColumnDef(node, opts) {
|
|
|
133
167
|
const defaultValue = prop(node, 'defaultValue');
|
|
134
168
|
const checkConstraint = prop(node, 'checkConstraint');
|
|
135
169
|
const collation = propStr(node, 'collation');
|
|
136
|
-
const typeStr =
|
|
137
|
-
|
|
138
|
-
|
|
170
|
+
const typeStr = (() => {
|
|
171
|
+
const baseType = keyword(dataType, opts);
|
|
172
|
+
if (Array.isArray(params) && params.length > 0) {
|
|
173
|
+
return [baseType, `(${params.join(', ')})`];
|
|
174
|
+
}
|
|
175
|
+
if (xmlSchemaCollection) {
|
|
176
|
+
// xml(CONTENT|DOCUMENT schema_collection) — CONTENT/DOCUMENT are optional keywords
|
|
177
|
+
const prefix = xmlTypeOption ? `${keyword(xmlTypeOption, opts)} ` : '';
|
|
178
|
+
return [baseType, '(', prefix, xmlSchemaCollection, ')'];
|
|
179
|
+
}
|
|
180
|
+
return baseType;
|
|
181
|
+
})();
|
|
139
182
|
const parts = [name, ' ', typeStr];
|
|
140
183
|
// COLLATE clause comes right after the data type
|
|
141
184
|
if (collation)
|
|
@@ -144,6 +187,8 @@ export function printColumnDef(node, opts) {
|
|
|
144
187
|
const seed = identitySeed ?? '1';
|
|
145
188
|
const inc = identityIncrement ?? '1';
|
|
146
189
|
parts.push(' ', keyword('IDENTITY', opts), `(${seed}, ${inc})`);
|
|
190
|
+
if (node.props?.['identityNotForReplication'])
|
|
191
|
+
parts.push(' ', keyword('NOT FOR REPLICATION', opts));
|
|
147
192
|
}
|
|
148
193
|
if (node.props?.['isRowGuidCol'])
|
|
149
194
|
parts.push(' ', keyword('ROWGUIDCOL', opts));
|
|
@@ -179,8 +224,11 @@ export function printColumnDef(node, opts) {
|
|
|
179
224
|
const maskFn = propStr(node, 'maskingFunction') ?? 'default()';
|
|
180
225
|
parts.push(' ', keyword('MASKED WITH', opts), ' (', keyword('FUNCTION', opts), ` = '${maskFn}')`);
|
|
181
226
|
}
|
|
182
|
-
if (defaultValue)
|
|
183
|
-
|
|
227
|
+
if (defaultValue) {
|
|
228
|
+
const defaultName = propStr(node, 'defaultConstraintName');
|
|
229
|
+
const defaultNamePrefix = defaultName ? [keyword('CONSTRAINT', opts), ' ', defaultName, ' '] : '';
|
|
230
|
+
parts.push(' ', defaultNamePrefix, keyword('DEFAULT', opts), ' ', printNode(defaultValue, opts));
|
|
231
|
+
}
|
|
184
232
|
parts.push(nullablePart(isNullable, opts));
|
|
185
233
|
if (checkConstraint) {
|
|
186
234
|
const checkName = propStr(node, 'checkConstraintName');
|
|
@@ -201,9 +249,12 @@ export function printColumnDef(node, opts) {
|
|
|
201
249
|
: '';
|
|
202
250
|
parts.push(' ', constraintNamePrefix, uqKw, clusteredKw);
|
|
203
251
|
}
|
|
204
|
-
// Inline REFERENCES (column-level foreign key: col type REFERENCES Table(col))
|
|
252
|
+
// Inline REFERENCES (column-level foreign key: col type [CONSTRAINT name] REFERENCES Table(col))
|
|
205
253
|
const foreignKey = node.props?.['foreignKey'];
|
|
206
254
|
if (foreignKey) {
|
|
255
|
+
if (foreignKey.constraintName) {
|
|
256
|
+
parts.push(' ', keyword('CONSTRAINT', opts), ' ', foreignKey.constraintName);
|
|
257
|
+
}
|
|
207
258
|
const refColsPart = foreignKey.refColumns?.length ? [' (', join(', ', foreignKey.refColumns), ')'] : '';
|
|
208
259
|
parts.push(' ', keyword('REFERENCES', opts), ' ', schemaObjectName(foreignKey.refTable), refColsPart);
|
|
209
260
|
if (foreignKey.deleteAction) {
|
|
@@ -244,11 +295,23 @@ export function printConstraintDef(node, opts) {
|
|
|
244
295
|
return [c.name, dir];
|
|
245
296
|
});
|
|
246
297
|
const colsDoc = parenList(colDocs);
|
|
247
|
-
|
|
298
|
+
const indexOptions = node.props?.['indexOptions'];
|
|
299
|
+
const withPart = indexOptions?.length
|
|
300
|
+
? [' ', keyword('WITH', opts), ' (', join(', ', indexOptions), ')']
|
|
301
|
+
: '';
|
|
302
|
+
return group([namePrefix, indent([softline, kw, ' ', clusteredKw, colsDoc]), withPart]);
|
|
248
303
|
}
|
|
249
304
|
case 'CheckConstraint': {
|
|
250
305
|
const expr = prop(node, 'expression');
|
|
251
|
-
|
|
306
|
+
const nfr = propBool(node, 'notForReplication');
|
|
307
|
+
return [
|
|
308
|
+
namePrefix,
|
|
309
|
+
keyword('CHECK', opts),
|
|
310
|
+
nfr ? [' ', keyword('NOT FOR REPLICATION', opts)] : '',
|
|
311
|
+
' (',
|
|
312
|
+
expr ? printBool(expr, opts) : '',
|
|
313
|
+
')',
|
|
314
|
+
];
|
|
252
315
|
}
|
|
253
316
|
case 'ForeignKeyConstraint': {
|
|
254
317
|
const cols = Array.isArray(node.props?.['columns']) ? node.props?.['columns'] : [];
|
|
@@ -257,6 +320,7 @@ export function printConstraintDef(node, opts) {
|
|
|
257
320
|
const refName = refTable ? schemaObjectName(refTable) : '';
|
|
258
321
|
const deleteAction = propStr(node, 'deleteAction');
|
|
259
322
|
const updateAction = propStr(node, 'updateAction');
|
|
323
|
+
const nfr = propBool(node, 'notForReplication');
|
|
260
324
|
const refActionKw = (action) => keyword(action
|
|
261
325
|
.replace(/([A-Z])/g, ' $1')
|
|
262
326
|
.trim()
|
|
@@ -276,6 +340,7 @@ export function printConstraintDef(node, opts) {
|
|
|
276
340
|
]),
|
|
277
341
|
deleteAction ? [line, keyword('ON DELETE', opts), ' ', refActionKw(deleteAction)] : '',
|
|
278
342
|
updateAction ? [line, keyword('ON UPDATE', opts), ' ', refActionKw(updateAction)] : '',
|
|
343
|
+
nfr ? [line, keyword('NOT FOR REPLICATION', opts)] : '',
|
|
279
344
|
]),
|
|
280
345
|
]),
|
|
281
346
|
];
|
|
@@ -316,6 +381,11 @@ export function printAlterTable(node, opts) {
|
|
|
316
381
|
join([',', line], elements.map((e) => e.name)),
|
|
317
382
|
]),
|
|
318
383
|
]);
|
|
384
|
+
// WITH (ONLINE = ON, WAIT_AT_LOW_PRIORITY ...) on DROP CLUSTERED CONSTRAINT
|
|
385
|
+
const allDropOptions = elements.flatMap((e) => e.dropOptions ?? []);
|
|
386
|
+
const withPart = allDropOptions.length
|
|
387
|
+
? [' ', keyword('WITH', opts), ' (', join(', ', allDropOptions), ')']
|
|
388
|
+
: '';
|
|
319
389
|
return [
|
|
320
390
|
keyword('ALTER TABLE', opts),
|
|
321
391
|
' ',
|
|
@@ -325,6 +395,7 @@ export function printAlterTable(node, opts) {
|
|
|
325
395
|
ifExists ? [' ', keyword('IF EXISTS', opts)] : '',
|
|
326
396
|
' ',
|
|
327
397
|
nameList,
|
|
398
|
+
withPart,
|
|
328
399
|
';',
|
|
329
400
|
];
|
|
330
401
|
}
|
|
@@ -350,7 +421,49 @@ export function printAlterTable(node, opts) {
|
|
|
350
421
|
}
|
|
351
422
|
if (alterType === 'AlterTableAlterColumnStatement') {
|
|
352
423
|
const column = propStr(node, 'column') ?? '';
|
|
424
|
+
const alterColumnOption = propStr(node, 'alterColumnOption');
|
|
425
|
+
const maskingFunction = propStr(node, 'maskingFunction');
|
|
426
|
+
// ADD/DROP modifier variants (no data type change, just add/remove a column property)
|
|
427
|
+
if (alterColumnOption) {
|
|
428
|
+
let optDoc;
|
|
429
|
+
if (alterColumnOption === 'AddMaskingFunction') {
|
|
430
|
+
// ALTER COLUMN col ADD MASKED WITH (FUNCTION = 'fn()')
|
|
431
|
+
const fn = maskingFunction ?? 'default()';
|
|
432
|
+
optDoc = [keyword('ADD MASKED WITH', opts), ' (', keyword('FUNCTION', opts), ` = '${fn}')`];
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
const optMap = {
|
|
436
|
+
DropMaskingFunction: 'DROP MASKED',
|
|
437
|
+
AddSparse: 'ADD SPARSE',
|
|
438
|
+
DropSparse: 'DROP SPARSE',
|
|
439
|
+
AddRowGuidCol: 'ADD ROWGUIDCOL',
|
|
440
|
+
DropRowGuidCol: 'DROP ROWGUIDCOL',
|
|
441
|
+
AddHidden: 'ADD HIDDEN',
|
|
442
|
+
DropHidden: 'DROP HIDDEN',
|
|
443
|
+
AddPersisted: 'ADD PERSISTED',
|
|
444
|
+
DropPersisted: 'DROP PERSISTED',
|
|
445
|
+
};
|
|
446
|
+
optDoc = keyword(optMap[alterColumnOption] ?? alterColumnOption.toUpperCase(), opts);
|
|
447
|
+
}
|
|
448
|
+
return [
|
|
449
|
+
keyword('ALTER TABLE', opts),
|
|
450
|
+
' ',
|
|
451
|
+
name,
|
|
452
|
+
hardline,
|
|
453
|
+
keyword('ALTER COLUMN', opts),
|
|
454
|
+
' ',
|
|
455
|
+
column,
|
|
456
|
+
' ',
|
|
457
|
+
optDoc,
|
|
458
|
+
';',
|
|
459
|
+
];
|
|
460
|
+
}
|
|
461
|
+
// Normal type-change: ALTER COLUMN col newtype [COLLATE ...] [NULL|NOT NULL]
|
|
353
462
|
const dataType = propStr(node, 'dataType') ?? '';
|
|
463
|
+
const collationAC = propStr(node, 'collation');
|
|
464
|
+
const collatePart = collationAC
|
|
465
|
+
? [' ', keyword('COLLATE', opts), ' ', collationAC]
|
|
466
|
+
: '';
|
|
354
467
|
const nullPart = nullablePart(node.props?.['nullable'], opts);
|
|
355
468
|
return [
|
|
356
469
|
keyword('ALTER TABLE', opts),
|
|
@@ -362,6 +475,7 @@ export function printAlterTable(node, opts) {
|
|
|
362
475
|
column,
|
|
363
476
|
' ',
|
|
364
477
|
keyword(dataType, opts),
|
|
478
|
+
collatePart,
|
|
365
479
|
nullPart,
|
|
366
480
|
';',
|
|
367
481
|
];
|
|
@@ -407,9 +521,13 @@ export function printAlterTable(node, opts) {
|
|
|
407
521
|
const sourcePartition = propStr(node, 'sourcePartition');
|
|
408
522
|
const targetTable = prop(node, 'targetTable');
|
|
409
523
|
const targetPartition = propStr(node, 'targetPartition');
|
|
524
|
+
const switchOptions = node.props?.['switchOptions'];
|
|
410
525
|
const sourceDoc = sourcePartition ? [' ', keyword('PARTITION', opts), ' ', sourcePartition] : '';
|
|
411
526
|
const targetDoc = targetTable ? schemaObjectName(targetTable) : '';
|
|
412
527
|
const targetPartDoc = targetPartition ? [' ', keyword('PARTITION', opts), ' ', targetPartition] : '';
|
|
528
|
+
const switchOptDoc = switchOptions?.length
|
|
529
|
+
? [' ', keyword('WITH', opts), ' (', join(', ', switchOptions), ')']
|
|
530
|
+
: '';
|
|
413
531
|
return [
|
|
414
532
|
keyword('ALTER TABLE', opts),
|
|
415
533
|
' ',
|
|
@@ -422,6 +540,7 @@ export function printAlterTable(node, opts) {
|
|
|
422
540
|
' ',
|
|
423
541
|
targetDoc,
|
|
424
542
|
targetPartDoc,
|
|
543
|
+
switchOptDoc,
|
|
425
544
|
';',
|
|
426
545
|
];
|
|
427
546
|
}
|
|
@@ -477,6 +596,8 @@ export function printCreateIndex(node, opts) {
|
|
|
477
596
|
const withPart = indexOptions && indexOptions.length > 0
|
|
478
597
|
? [hardline, keyword('WITH', opts), ' (', join(', ', indexOptions), ')']
|
|
479
598
|
: '';
|
|
599
|
+
const onFileGroup = propStr(node, 'onFileGroup');
|
|
600
|
+
const fileGroupPart = onFileGroup ? [hardline, keyword('ON', opts), ' ', onFileGroup] : '';
|
|
480
601
|
return group([
|
|
481
602
|
keyword('CREATE', opts),
|
|
482
603
|
' ',
|
|
@@ -487,6 +608,7 @@ export function printCreateIndex(node, opts) {
|
|
|
487
608
|
indexName,
|
|
488
609
|
indent([hardline, onClause, includePart, filterPart]),
|
|
489
610
|
withPart,
|
|
611
|
+
fileGroupPart,
|
|
490
612
|
';',
|
|
491
613
|
]);
|
|
492
614
|
}
|
|
@@ -520,8 +642,8 @@ export function printAlterIndex(node, opts) {
|
|
|
520
642
|
schemaObjectName(table),
|
|
521
643
|
' ',
|
|
522
644
|
typeKw,
|
|
523
|
-
withPart,
|
|
524
645
|
partitionPart,
|
|
646
|
+
withPart,
|
|
525
647
|
';',
|
|
526
648
|
];
|
|
527
649
|
}
|
|
@@ -583,7 +705,11 @@ export function printCreateProcedure(node, opts) {
|
|
|
583
705
|
parts.push(' ', keyword('READONLY', opts));
|
|
584
706
|
return parts;
|
|
585
707
|
});
|
|
586
|
-
|
|
708
|
+
// Natively compiled procs have a single BEGIN ATOMIC WITH (...) body statement.
|
|
709
|
+
const atomicBlock = body.length === 1 && body[0].type === 'BeginEndAtomicBlock' ? body[0] : null;
|
|
710
|
+
const atomicOptions = atomicBlock?.props?.['atomicOptions'];
|
|
711
|
+
const innerBody = atomicBlock ? propArr(atomicBlock, 'statements') : unwrapBodyBlock(body);
|
|
712
|
+
const bodyDocs = innerBody.map((s) => printStatementWithComments(s, opts));
|
|
587
713
|
const preBody = commentsBlock(node.preBodyComments);
|
|
588
714
|
const postParam = commentsBlock(node.postParamComments);
|
|
589
715
|
const procKw = node.type === 'CreateOrAlterProcedureStatement'
|
|
@@ -591,6 +717,26 @@ export function printCreateProcedure(node, opts) {
|
|
|
591
717
|
: node.type === 'AlterProcedureStatement'
|
|
592
718
|
? keyword('ALTER PROCEDURE', opts)
|
|
593
719
|
: keyword('CREATE PROCEDURE', opts);
|
|
720
|
+
// CLR stored procedure: AS EXTERNAL NAME assembly.[class].method
|
|
721
|
+
const externalName = propStr(node, 'externalName');
|
|
722
|
+
if (externalName) {
|
|
723
|
+
return group([
|
|
724
|
+
procKw,
|
|
725
|
+
' ',
|
|
726
|
+
schemaObjectName(prop(node, 'name')),
|
|
727
|
+
preBody,
|
|
728
|
+
parameters.length > 0 ? indent([hardline, join([',', hardline], paramDocs)]) : '',
|
|
729
|
+
postParam,
|
|
730
|
+
printModuleOptions(node, opts),
|
|
731
|
+
hardline,
|
|
732
|
+
keyword('AS', opts),
|
|
733
|
+
' ',
|
|
734
|
+
keyword('EXTERNAL NAME', opts),
|
|
735
|
+
' ',
|
|
736
|
+
externalName,
|
|
737
|
+
';',
|
|
738
|
+
]);
|
|
739
|
+
}
|
|
594
740
|
return group([
|
|
595
741
|
procKw,
|
|
596
742
|
' ',
|
|
@@ -602,7 +748,19 @@ export function printCreateProcedure(node, opts) {
|
|
|
602
748
|
hardline,
|
|
603
749
|
keyword('AS', opts),
|
|
604
750
|
hardline,
|
|
605
|
-
|
|
751
|
+
...(atomicOptions?.length
|
|
752
|
+
? [
|
|
753
|
+
keyword('BEGIN', opts),
|
|
754
|
+
' ',
|
|
755
|
+
keyword('ATOMIC', opts),
|
|
756
|
+
' ',
|
|
757
|
+
keyword('WITH', opts),
|
|
758
|
+
' (',
|
|
759
|
+
indent([hardline, join([',', hardline], atomicOptions)]),
|
|
760
|
+
hardline,
|
|
761
|
+
')',
|
|
762
|
+
]
|
|
763
|
+
: [keyword('BEGIN', opts)]),
|
|
606
764
|
indent([hardline, join([hardline, hardline], bodyDocs)]),
|
|
607
765
|
hardline,
|
|
608
766
|
keyword('END', opts),
|
|
@@ -639,6 +797,25 @@ export function printCreateFunction(node, opts) {
|
|
|
639
797
|
group(['(', parameters.length > 0 ? [indent([softline, join([',', line], paramDocs)]), softline] : '', ')']),
|
|
640
798
|
postParam,
|
|
641
799
|
];
|
|
800
|
+
// CLR function: EXTERNAL NAME assembly.[class].method (no body)
|
|
801
|
+
const externalName = propStr(node, 'externalName');
|
|
802
|
+
if (externalName) {
|
|
803
|
+
return [
|
|
804
|
+
nameAndParamsNoOpts,
|
|
805
|
+
hardline,
|
|
806
|
+
keyword('RETURNS', opts),
|
|
807
|
+
' ',
|
|
808
|
+
keyword(returnType, opts),
|
|
809
|
+
printModuleOptions(node, opts),
|
|
810
|
+
hardline,
|
|
811
|
+
keyword('AS', opts),
|
|
812
|
+
' ',
|
|
813
|
+
keyword('EXTERNAL NAME', opts),
|
|
814
|
+
' ',
|
|
815
|
+
externalName,
|
|
816
|
+
';',
|
|
817
|
+
];
|
|
818
|
+
}
|
|
642
819
|
if (bodyType === 'table') {
|
|
643
820
|
// Inline TVF: RETURNS TABLE [WITH options] AS RETURN (query) — no BEGIN/END
|
|
644
821
|
const queryDoc = body && !Array.isArray(body) ? qexpr(body, opts) : '/* query */';
|
|
@@ -661,7 +838,7 @@ export function printCreateFunction(node, opts) {
|
|
|
661
838
|
];
|
|
662
839
|
}
|
|
663
840
|
// Scalar or multi-statement TVF — both use BEGIN...END
|
|
664
|
-
const stmts = Array.isArray(body) ? body.map((s) => printStatementWithComments(s, opts)) : [];
|
|
841
|
+
const stmts = Array.isArray(body) ? unwrapBodyBlock(body).map((s) => printStatementWithComments(s, opts)) : [];
|
|
665
842
|
const bodyDoc = join([hardline, hardline], stmts);
|
|
666
843
|
let retTypePart;
|
|
667
844
|
if (bodyType === 'inline-table') {
|
|
@@ -757,7 +934,13 @@ export function printCreateTrigger(node, opts) {
|
|
|
757
934
|
: '';
|
|
758
935
|
const notForReplication = propBool(node, 'notForReplication');
|
|
759
936
|
const notForReplicationDoc = notForReplication ? [hardline, keyword('NOT FOR REPLICATION', opts)] : '';
|
|
760
|
-
const bodyDocs = propArr(node, 'body').map((s) => printStatementWithComments(s, opts));
|
|
937
|
+
const bodyDocs = unwrapBodyBlock(propArr(node, 'body')).map((s) => printStatementWithComments(s, opts));
|
|
938
|
+
const triggerScope = propStr(node, 'triggerScope'); // 'Database' or 'Server' for DDL triggers
|
|
939
|
+
const onTarget = triggerScope === 'Database'
|
|
940
|
+
? keyword('DATABASE', opts)
|
|
941
|
+
: triggerScope === 'Server'
|
|
942
|
+
? keyword('ALL SERVER', opts)
|
|
943
|
+
: schemaObjectName(prop(node, 'onName'));
|
|
761
944
|
return [
|
|
762
945
|
kw,
|
|
763
946
|
' ',
|
|
@@ -765,7 +948,7 @@ export function printCreateTrigger(node, opts) {
|
|
|
765
948
|
hardline,
|
|
766
949
|
keyword('ON', opts),
|
|
767
950
|
' ',
|
|
768
|
-
|
|
951
|
+
onTarget,
|
|
769
952
|
hardline,
|
|
770
953
|
typeKw,
|
|
771
954
|
' ',
|