prettier-plugin-tsql 0.1.0
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/README.md +199 -0
- package/bin/dotnet/Microsoft.SqlServer.TransactSql.ScriptDom.dll +0 -0
- package/bin/dotnet/SqlScriptDom.deps.json +41 -0
- package/bin/dotnet/SqlScriptDom.dll +0 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/language.d.ts +3 -0
- package/dist/language.d.ts.map +1 -0
- package/dist/language.js +9 -0
- package/dist/language.js.map +1 -0
- package/dist/options.d.ts +3 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +35 -0
- package/dist/options.js.map +1 -0
- package/dist/parser/index.d.ts +5 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +263 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/types.d.ts +21 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +2 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/printer/admin.d.ts +22 -0
- package/dist/printer/admin.d.ts.map +1 -0
- package/dist/printer/admin.js +250 -0
- package/dist/printer/admin.js.map +1 -0
- package/dist/printer/ddl.d.ts +36 -0
- package/dist/printer/ddl.d.ts.map +1 -0
- package/dist/printer/ddl.js +836 -0
- package/dist/printer/ddl.js.map +1 -0
- package/dist/printer/expressions.d.ts +11 -0
- package/dist/printer/expressions.d.ts.map +1 -0
- package/dist/printer/expressions.js +1475 -0
- package/dist/printer/expressions.js.map +1 -0
- package/dist/printer/helpers.d.ts +25 -0
- package/dist/printer/helpers.d.ts.map +1 -0
- package/dist/printer/helpers.js +61 -0
- package/dist/printer/helpers.js.map +1 -0
- package/dist/printer/index.d.ts +4 -0
- package/dist/printer/index.d.ts.map +1 -0
- package/dist/printer/index.js +30 -0
- package/dist/printer/index.js.map +1 -0
- package/dist/printer/procedural.d.ts +41 -0
- package/dist/printer/procedural.d.ts.map +1 -0
- package/dist/printer/procedural.js +364 -0
- package/dist/printer/procedural.js.map +1 -0
- package/dist/printer/security.d.ts +15 -0
- package/dist/printer/security.d.ts.map +1 -0
- package/dist/printer/security.js +309 -0
- package/dist/printer/security.js.map +1 -0
- package/dist/printer/statements.d.ts +18 -0
- package/dist/printer/statements.d.ts.map +1 -0
- package/dist/printer/statements.js +689 -0
- package/dist/printer/statements.js.map +1 -0
- package/dist/printer/utils.d.ts +34 -0
- package/dist/printer/utils.d.ts.map +1 -0
- package/dist/printer/utils.js +61 -0
- package/dist/printer/utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { keyword, hardline, join, indent, group, onOffKw } from './utils.js';
|
|
2
|
+
import { prop, propArr, propStr, propBool, schemaObjectName, assignmentOp } from './helpers.js';
|
|
3
|
+
// printNode / printBool / qexpr / printStatementWithComments are imported from statements.ts
|
|
4
|
+
// — circular but safe in ESM (all imports are function references, never accessed during init)
|
|
5
|
+
import { printStatementWithComments, printNode, printBool, qexpr } from './statements.js';
|
|
6
|
+
import { printColumnDef, printConstraintDef } from './ddl.js';
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Transactions
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
function printTransaction(kw, node, opts) {
|
|
11
|
+
const name = propStr(node, 'name');
|
|
12
|
+
return [keyword(kw, opts), ...(name ? [' ', name] : []), ';'];
|
|
13
|
+
}
|
|
14
|
+
export function printBeginTransaction(node, opts) {
|
|
15
|
+
return printTransaction('BEGIN TRANSACTION', node, opts);
|
|
16
|
+
}
|
|
17
|
+
export function printCommitTransaction(node, opts) {
|
|
18
|
+
return printTransaction('COMMIT TRANSACTION', node, opts);
|
|
19
|
+
}
|
|
20
|
+
export function printRollbackTransaction(node, opts) {
|
|
21
|
+
return printTransaction('ROLLBACK TRANSACTION', node, opts);
|
|
22
|
+
}
|
|
23
|
+
export function printSaveTransaction(node, opts) {
|
|
24
|
+
return printTransaction('SAVE TRANSACTION', node, opts);
|
|
25
|
+
}
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// CHECKPOINT / KILL / RECONFIGURE
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
export function printCheckpoint(node, opts) {
|
|
30
|
+
const duration = propStr(node, 'duration');
|
|
31
|
+
return [keyword('CHECKPOINT', opts), ...(duration ? [' ', duration] : []), ';'];
|
|
32
|
+
}
|
|
33
|
+
export function printKill(node, opts) {
|
|
34
|
+
const param = propStr(node, 'param') ?? '';
|
|
35
|
+
const statusOnly = propBool(node, 'withStatusOnly');
|
|
36
|
+
return [keyword('KILL', opts), ' ', param, ...(statusOnly ? [' ', keyword('WITH STATUSONLY', opts)] : []), ';'];
|
|
37
|
+
}
|
|
38
|
+
export function printReconfigure(node, opts) {
|
|
39
|
+
const withOverride = propBool(node, 'withOverride');
|
|
40
|
+
return [keyword('RECONFIGURE', opts), ...(withOverride ? [' ', keyword('WITH OVERRIDE', opts)] : []), ';'];
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// DECLARE
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
export function printDeclareVariable(node, opts) {
|
|
46
|
+
const decls = propArr(node, 'declarations');
|
|
47
|
+
const declDocs = decls.map((d) => {
|
|
48
|
+
const name = propStr(d, 'name') ?? '@var';
|
|
49
|
+
const dt = propStr(d, 'dataType') ?? 'INT';
|
|
50
|
+
const params = d.props?.['dataTypeParams'];
|
|
51
|
+
const typeStr = Array.isArray(params) && params.length > 0
|
|
52
|
+
? [keyword(dt, opts), `(${params.join(', ')})`]
|
|
53
|
+
: keyword(dt, opts);
|
|
54
|
+
const val = prop(d, 'value');
|
|
55
|
+
return [
|
|
56
|
+
keyword('DECLARE', opts),
|
|
57
|
+
' ',
|
|
58
|
+
name,
|
|
59
|
+
' ',
|
|
60
|
+
typeStr,
|
|
61
|
+
...(val ? [' = ', printNode(val, opts)] : []),
|
|
62
|
+
';',
|
|
63
|
+
];
|
|
64
|
+
});
|
|
65
|
+
return join(hardline, declDocs);
|
|
66
|
+
}
|
|
67
|
+
export function printDeclareTableVariable(node, opts) {
|
|
68
|
+
const name = propStr(node, 'name') ?? '@t';
|
|
69
|
+
const allDefs = [
|
|
70
|
+
...propArr(node, 'columns').map((c) => printColumnDef(c, opts)),
|
|
71
|
+
...propArr(node, 'constraints').map((c) => printConstraintDef(c, opts)),
|
|
72
|
+
];
|
|
73
|
+
return group([
|
|
74
|
+
keyword('DECLARE', opts),
|
|
75
|
+
' ',
|
|
76
|
+
name,
|
|
77
|
+
' ',
|
|
78
|
+
keyword('TABLE', opts),
|
|
79
|
+
' (',
|
|
80
|
+
indent([hardline, join([',', hardline], allDefs)]),
|
|
81
|
+
hardline,
|
|
82
|
+
');',
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// SET variable / ROWCOUNT
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
export function printSetVariable(node, opts) {
|
|
89
|
+
const name = propStr(node, 'name') ?? '@var';
|
|
90
|
+
const val = prop(node, 'value');
|
|
91
|
+
const opStr = assignmentOp(propStr(node, 'operator') ?? 'Equals');
|
|
92
|
+
return [keyword('SET', opts), ' ', name, ' ', opStr, ' ', val ? printNode(val, opts) : '', ';'];
|
|
93
|
+
}
|
|
94
|
+
export function printSetRowCount(node, opts) {
|
|
95
|
+
const rows = prop(node, 'rows');
|
|
96
|
+
return [keyword('SET', opts), ' ', keyword('ROWCOUNT', opts), ' ', rows ? printNode(rows, opts) : '0', ';'];
|
|
97
|
+
}
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
// USE / SET variants / WAITFOR
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
export function printUse(node, opts) {
|
|
102
|
+
return [keyword('USE', opts), ' ', propStr(node, 'database') ?? '', ';'];
|
|
103
|
+
}
|
|
104
|
+
export function printPredicateSet(node, opts) {
|
|
105
|
+
const opt = propStr(node, 'options') ?? '';
|
|
106
|
+
const onOff = onOffKw(propBool(node, 'isOn'), opts);
|
|
107
|
+
return [keyword('SET', opts), ' ', keyword(opt, opts), ' ', onOff, ';'];
|
|
108
|
+
}
|
|
109
|
+
export function printSetStatistics(node, opts) {
|
|
110
|
+
const opt = propStr(node, 'options') ?? '';
|
|
111
|
+
const onOff = onOffKw(propBool(node, 'isOn'), opts);
|
|
112
|
+
return [keyword('SET STATISTICS', opts), ' ', keyword(opt, opts), ' ', onOff, ';'];
|
|
113
|
+
}
|
|
114
|
+
export function printSetIdentityInsert(node, opts) {
|
|
115
|
+
const onOff = onOffKw(propBool(node, 'isOn'), opts);
|
|
116
|
+
return [keyword('SET IDENTITY_INSERT', opts), ' ', schemaObjectName(prop(node, 'table')), ' ', onOff, ';'];
|
|
117
|
+
}
|
|
118
|
+
export function printSetIsolationLevel(node, opts) {
|
|
119
|
+
const levelMap = {
|
|
120
|
+
ReadCommitted: 'READ COMMITTED',
|
|
121
|
+
ReadUncommitted: 'READ UNCOMMITTED',
|
|
122
|
+
RepeatableRead: 'REPEATABLE READ',
|
|
123
|
+
Serializable: 'SERIALIZABLE',
|
|
124
|
+
Snapshot: 'SNAPSHOT',
|
|
125
|
+
};
|
|
126
|
+
const raw = propStr(node, 'level') ?? '';
|
|
127
|
+
const level = levelMap[raw] ?? raw.toUpperCase();
|
|
128
|
+
return [keyword('SET TRANSACTION ISOLATION LEVEL', opts), ' ', keyword(level, opts), ';'];
|
|
129
|
+
}
|
|
130
|
+
export function printWaitFor(node, opts) {
|
|
131
|
+
const opt = propStr(node, 'option') ?? 'Delay';
|
|
132
|
+
const param = propStr(node, 'parameter') ?? '';
|
|
133
|
+
const kw = opt === 'Time' ? keyword('WAITFOR TIME', opts) : keyword('WAITFOR DELAY', opts);
|
|
134
|
+
return [kw, ' ', param, ';'];
|
|
135
|
+
}
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
// PRINT / RETURN
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
export function printPrint(node, opts) {
|
|
140
|
+
const expr = prop(node, 'expr');
|
|
141
|
+
return [keyword('PRINT', opts), ' ', expr ? printNode(expr, opts) : '', ';'];
|
|
142
|
+
}
|
|
143
|
+
export function printReturn(node, opts) {
|
|
144
|
+
const expr = prop(node, 'expr');
|
|
145
|
+
return expr ? [keyword('RETURN', opts), ' ', printNode(expr, opts), ';'] : [keyword('RETURN', opts), ';'];
|
|
146
|
+
}
|
|
147
|
+
// ---------------------------------------------------------------------------
|
|
148
|
+
// TRUNCATE TABLE
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
export function printTruncateTable(node, opts) {
|
|
151
|
+
return [keyword('TRUNCATE TABLE', opts), ' ', schemaObjectName(prop(node, 'name')), ';'];
|
|
152
|
+
}
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
// GOTO / LABEL
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
export function printGoto(node, opts) {
|
|
157
|
+
return [keyword('GOTO', opts), ' ', propStr(node, 'label') ?? '', ';'];
|
|
158
|
+
}
|
|
159
|
+
export function printLabel(node, opts) {
|
|
160
|
+
// LabelStatement.Value already includes the trailing colon from ScriptDom
|
|
161
|
+
return propStr(node, 'label') ?? '';
|
|
162
|
+
}
|
|
163
|
+
// ---------------------------------------------------------------------------
|
|
164
|
+
// THROW / RAISERROR
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
166
|
+
export function printThrow(node, opts) {
|
|
167
|
+
const errNum = prop(node, 'errorNumber');
|
|
168
|
+
if (!errNum)
|
|
169
|
+
return [keyword('THROW', opts), ';'];
|
|
170
|
+
return [
|
|
171
|
+
keyword('THROW', opts),
|
|
172
|
+
' ',
|
|
173
|
+
printNode(errNum, opts),
|
|
174
|
+
', ',
|
|
175
|
+
printNode(prop(node, 'message'), opts),
|
|
176
|
+
', ',
|
|
177
|
+
printNode(prop(node, 'state'), opts),
|
|
178
|
+
';',
|
|
179
|
+
];
|
|
180
|
+
}
|
|
181
|
+
export function printRaiseError(node, opts) {
|
|
182
|
+
return [
|
|
183
|
+
keyword('RAISERROR', opts),
|
|
184
|
+
' (',
|
|
185
|
+
printNode(prop(node, 'message'), opts),
|
|
186
|
+
', ',
|
|
187
|
+
printNode(prop(node, 'severity'), opts),
|
|
188
|
+
', ',
|
|
189
|
+
printNode(prop(node, 'state'), opts),
|
|
190
|
+
');',
|
|
191
|
+
];
|
|
192
|
+
}
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
194
|
+
// TRY / CATCH
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
export function printTryCatch(node, opts) {
|
|
197
|
+
const tryStmts = propArr(node, 'tryBody').map((s) => printStatementWithComments(s, opts));
|
|
198
|
+
const catchStmts = propArr(node, 'catchBody').map((s) => printStatementWithComments(s, opts));
|
|
199
|
+
return [
|
|
200
|
+
keyword('BEGIN TRY', opts),
|
|
201
|
+
indent([hardline, join([hardline, hardline], tryStmts)]),
|
|
202
|
+
hardline,
|
|
203
|
+
keyword('END TRY', opts),
|
|
204
|
+
hardline,
|
|
205
|
+
keyword('BEGIN CATCH', opts),
|
|
206
|
+
indent([hardline, join([hardline, hardline], catchStmts)]),
|
|
207
|
+
hardline,
|
|
208
|
+
keyword('END CATCH', opts),
|
|
209
|
+
];
|
|
210
|
+
}
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
// IF / WHILE
|
|
213
|
+
// ---------------------------------------------------------------------------
|
|
214
|
+
/** Wrap a statement in BEGIN/END if it's a block, otherwise indent inline. */
|
|
215
|
+
export function printStatementBlock(node, opts) {
|
|
216
|
+
if (node.type === 'BeginEndBlock') {
|
|
217
|
+
const stmts = propArr(node, 'statements');
|
|
218
|
+
return [
|
|
219
|
+
hardline,
|
|
220
|
+
keyword('BEGIN', opts),
|
|
221
|
+
indent([
|
|
222
|
+
hardline,
|
|
223
|
+
join([hardline, hardline], stmts.map((s) => printStatementWithComments(s, opts))),
|
|
224
|
+
]),
|
|
225
|
+
hardline,
|
|
226
|
+
keyword('END', opts),
|
|
227
|
+
];
|
|
228
|
+
}
|
|
229
|
+
return indent([hardline, printStatementWithComments(node, opts)]);
|
|
230
|
+
}
|
|
231
|
+
export function printIf(node, opts) {
|
|
232
|
+
const condition = prop(node, 'condition');
|
|
233
|
+
const then = prop(node, 'then');
|
|
234
|
+
const els = prop(node, 'else');
|
|
235
|
+
const condDoc = condition ? printBool(condition, opts) : '';
|
|
236
|
+
const thenDoc = then ? printStatementBlock(then, opts) : ';';
|
|
237
|
+
const parts = [keyword('IF', opts), ' ', condDoc, thenDoc];
|
|
238
|
+
if (els)
|
|
239
|
+
parts.push(hardline, keyword('ELSE', opts), printStatementBlock(els, opts));
|
|
240
|
+
return group(parts);
|
|
241
|
+
}
|
|
242
|
+
export function printWhile(node, opts) {
|
|
243
|
+
const condition = prop(node, 'condition');
|
|
244
|
+
const body = prop(node, 'body');
|
|
245
|
+
const condDoc = condition ? printBool(condition, opts) : '';
|
|
246
|
+
return group([keyword('WHILE', opts), ' ', condDoc, body ? printStatementBlock(body, opts) : ';']);
|
|
247
|
+
}
|
|
248
|
+
// ---------------------------------------------------------------------------
|
|
249
|
+
// EXECUTE
|
|
250
|
+
// ---------------------------------------------------------------------------
|
|
251
|
+
export function printExecute(node, opts) {
|
|
252
|
+
const procNode = prop(node, 'proc');
|
|
253
|
+
const parameters = propArr(node, 'parameters');
|
|
254
|
+
const paramDocs = parameters.map((p) => {
|
|
255
|
+
const pname = propStr(p, 'name');
|
|
256
|
+
const val = prop(p, 'value');
|
|
257
|
+
const isOutput = propBool(p, 'output');
|
|
258
|
+
const valDoc = val ? printNode(val, opts) : '';
|
|
259
|
+
const parts = pname ? [pname, ' = ', valDoc] : [valDoc];
|
|
260
|
+
if (isOutput)
|
|
261
|
+
parts.push(' ', keyword('OUTPUT', opts));
|
|
262
|
+
return parts;
|
|
263
|
+
});
|
|
264
|
+
return group([
|
|
265
|
+
keyword('EXECUTE', opts),
|
|
266
|
+
' ',
|
|
267
|
+
schemaObjectName(procNode),
|
|
268
|
+
parameters.length > 0 ? indent([hardline, join([',', hardline], paramDocs)]) : '',
|
|
269
|
+
';',
|
|
270
|
+
]);
|
|
271
|
+
}
|
|
272
|
+
// ---------------------------------------------------------------------------
|
|
273
|
+
// Cursor operations
|
|
274
|
+
// ---------------------------------------------------------------------------
|
|
275
|
+
export function printDeclareCursor(node, opts) {
|
|
276
|
+
const name = propStr(node, 'name') ?? 'cursor_name';
|
|
277
|
+
const options = node.props?.['options'];
|
|
278
|
+
const optPart = Array.isArray(options) && options.length > 0 ? [options.join(' '), ' '] : [];
|
|
279
|
+
const select = prop(node, 'select');
|
|
280
|
+
return group([
|
|
281
|
+
keyword('DECLARE', opts),
|
|
282
|
+
' ',
|
|
283
|
+
name,
|
|
284
|
+
' ',
|
|
285
|
+
...optPart,
|
|
286
|
+
keyword('CURSOR', opts),
|
|
287
|
+
hardline,
|
|
288
|
+
keyword('FOR', opts),
|
|
289
|
+
hardline,
|
|
290
|
+
select ? qexpr(select, opts) : '',
|
|
291
|
+
';',
|
|
292
|
+
]);
|
|
293
|
+
}
|
|
294
|
+
export function printOpenCursor(node, opts) {
|
|
295
|
+
return [keyword('OPEN', opts), ' ', propStr(node, 'cursorName') ?? '', ';'];
|
|
296
|
+
}
|
|
297
|
+
export function printFetchCursor(node, opts) {
|
|
298
|
+
const fetchType = propStr(node, 'fetchType') ?? 'Next';
|
|
299
|
+
const cursorName = propStr(node, 'cursorName') ?? '';
|
|
300
|
+
const intoVars = node.props?.['intoVariables'];
|
|
301
|
+
const fetchOffset = prop(node, 'fetchOffset');
|
|
302
|
+
const typeMap = {
|
|
303
|
+
Next: 'NEXT',
|
|
304
|
+
Prior: 'PRIOR',
|
|
305
|
+
First: 'FIRST',
|
|
306
|
+
Last: 'LAST',
|
|
307
|
+
Absolute: 'ABSOLUTE',
|
|
308
|
+
Relative: 'RELATIVE',
|
|
309
|
+
};
|
|
310
|
+
const typeKw = keyword(typeMap[fetchType] ?? fetchType.toUpperCase(), opts);
|
|
311
|
+
const offsetPart = fetchOffset ? [' ', printNode(fetchOffset, opts)] : '';
|
|
312
|
+
const intoPart = Array.isArray(intoVars) && intoVars.length > 0
|
|
313
|
+
? [' ', keyword('INTO', opts), ' ', join(', ', intoVars)]
|
|
314
|
+
: '';
|
|
315
|
+
return [
|
|
316
|
+
keyword('FETCH', opts),
|
|
317
|
+
' ',
|
|
318
|
+
typeKw,
|
|
319
|
+
offsetPart,
|
|
320
|
+
' ',
|
|
321
|
+
keyword('FROM', opts),
|
|
322
|
+
' ',
|
|
323
|
+
cursorName,
|
|
324
|
+
intoPart,
|
|
325
|
+
';',
|
|
326
|
+
];
|
|
327
|
+
}
|
|
328
|
+
export function printCloseCursor(node, opts) {
|
|
329
|
+
return [keyword('CLOSE', opts), ' ', propStr(node, 'cursorName') ?? '', ';'];
|
|
330
|
+
}
|
|
331
|
+
export function printDeallocateCursor(node, opts) {
|
|
332
|
+
return [keyword('DEALLOCATE', opts), ' ', propStr(node, 'cursorName') ?? '', ';'];
|
|
333
|
+
}
|
|
334
|
+
// ---------------------------------------------------------------------------
|
|
335
|
+
// EXECUTE AS / REVERT (session context)
|
|
336
|
+
// ---------------------------------------------------------------------------
|
|
337
|
+
export function printExecuteAsStatement(node, opts) {
|
|
338
|
+
const kind = propStr(node, 'kind') ?? 'Caller';
|
|
339
|
+
const principal = prop(node, 'principal');
|
|
340
|
+
const withNoRevert = propBool(node, 'withNoRevert');
|
|
341
|
+
const cookie = prop(node, 'cookie');
|
|
342
|
+
const kindMap = {
|
|
343
|
+
Caller: 'CALLER',
|
|
344
|
+
User: 'USER',
|
|
345
|
+
Login: 'LOGIN',
|
|
346
|
+
};
|
|
347
|
+
const kindKw = keyword(kindMap[kind] ?? kind.toUpperCase(), opts);
|
|
348
|
+
const contextDoc = principal ? [kindKw, ' = ', printNode(principal, opts)] : kindKw;
|
|
349
|
+
const parts = [keyword('EXECUTE AS', opts), ' ', contextDoc];
|
|
350
|
+
if (withNoRevert)
|
|
351
|
+
parts.push(' ', keyword('WITH NO REVERT', opts));
|
|
352
|
+
if (cookie)
|
|
353
|
+
parts.push(' ', keyword('WITH COOKIE INTO', opts), ' ', cookie.text ?? '');
|
|
354
|
+
parts.push(';');
|
|
355
|
+
return parts;
|
|
356
|
+
}
|
|
357
|
+
export function printRevert(node, opts) {
|
|
358
|
+
const cookie = prop(node, 'cookie');
|
|
359
|
+
if (cookie) {
|
|
360
|
+
return [keyword('REVERT', opts), ' ', keyword('WITH COOKIE =', opts), ' ', printNode(cookie, opts), ';'];
|
|
361
|
+
}
|
|
362
|
+
return [keyword('REVERT', opts), ';'];
|
|
363
|
+
}
|
|
364
|
+
//# sourceMappingURL=procedural.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedural.js","sourceRoot":"","sources":["../../src/plugin/printer/procedural.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Doc } from 'prettier';
|
|
2
|
+
import type { SqlNode } from '../parser/types.js';
|
|
3
|
+
import type { Options } from './utils.js';
|
|
4
|
+
export declare function printGrantDenyRevoke(node: SqlNode, verb: string, opts: Options): Doc;
|
|
5
|
+
export declare function printCreateUser(node: SqlNode, opts: Options): Doc;
|
|
6
|
+
export declare function printAlterUser(node: SqlNode, opts: Options): Doc;
|
|
7
|
+
export declare function printDropUser(node: SqlNode, opts: Options): Doc;
|
|
8
|
+
export declare function printCreateLogin(node: SqlNode, opts: Options): Doc;
|
|
9
|
+
export declare function printAlterLogin(node: SqlNode, opts: Options): Doc;
|
|
10
|
+
export declare function printDropLogin(node: SqlNode, opts: Options): Doc;
|
|
11
|
+
export declare function printCreateRole(node: SqlNode, opts: Options): Doc;
|
|
12
|
+
export declare function printAlterRole(node: SqlNode, opts: Options): Doc;
|
|
13
|
+
export declare function printDropRole(node: SqlNode, opts: Options): Doc;
|
|
14
|
+
export declare function printAlterAuthorization(node: SqlNode, opts: Options): Doc;
|
|
15
|
+
//# sourceMappingURL=security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgE1C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAgCpF;AA8ED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAuBjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAI/D;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CA+BlE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAyBjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAIhE;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAUjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAYhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAI/D;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CASzE"}
|