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.
@@ -1,10 +1,10 @@
1
1
  import { keyword, getDensity, getCommaStyle, hardSep, softSep, hardline, join, indent, group, line, softline, lineSuffix, appendTrailingLines, parenList, } from '@prettier-sql/core/printer/utils';
2
- import { prop, propArr, propStr, assignmentOp } from './helpers.js';
2
+ import { prop, propArr, propStr, propBool, assignmentOp } from './helpers.js';
3
3
  import { printExpression, printBoolExpr, printTableRef, printOrderByClause, printQueryExpression, } from './expressions.js';
4
4
  import { printCreateTable, printAlterTable, printCreateIndex, printCreateProcedure, printCreateFunction, printCreateView, printCreateTrigger, printAlterIndex, printCreateSequence, printAlterSequence, printBulkInsert, printCreateTypeUddt, printCreateTypeTable, printDropObjects, printDropIndex, printCreateSynonym, printCreateSchema, printAlterSchema, printDropSchema, printCreatePartitionFunction, printAlterPartitionFunction, printDropPartitionFunction, printCreatePartitionScheme, printAlterPartitionScheme, printDropPartitionScheme, printEnableDisableTrigger, printCreateColumnStoreIndex, printCreateStatistics, printUpdateStatistics, printDropStatistics, } from './ddl.js';
5
5
  import { printBeginTransaction, printCommitTransaction, printRollbackTransaction, printSaveTransaction, printCheckpoint, printKill, printReconfigure, printDeclareVariable, printDeclareTableVariable, printSetVariable, printSetRowCount, printUse, printPredicateSet, printSetStatistics, printSetIdentityInsert, printSetIsolationLevel, printWaitFor, printPrint, printReturn, printIf, printWhile, printExecute, printTruncateTable, printGoto, printLabel, printThrow, printRaiseError, printTryCatch, printDeclareCursor, printOpenCursor, printFetchCursor, printCloseCursor, printDeallocateCursor, printExecuteAsStatement, printRevert, } from './procedural.js';
6
6
  import { printGrantDenyRevoke, printAlterAuthorization, printCreateUser, printAlterUser, printDropUser, printCreateLogin, printAlterLogin, printDropLogin, printCreateRole, printAlterRole, printDropRole, } from './security.js';
7
- import { printDropDatabase, printDbcc, printBackupDatabase, printBackupLog, printRestore, printCreateDatabase, printAlterDatabaseSet, printAlterDatabaseCollate, printAlterDatabaseModifyName, printAlterDatabaseScopedConfigSet, printAlterDatabaseScopedConfigClear, printAlterDatabaseAddFile, printAlterDatabaseAddFileGroup, printAlterDatabaseRemoveFile, printAlterDatabaseRemoveFileGroup, printAlterDatabaseModifyFile, printAlterDatabaseModifyFileGroup, printAlterDatabaseRebuildLog, } from './admin.js';
7
+ import { printDropDatabase, printDbcc, printBackupDatabase, printBackupLog, printRestore, printCreateDatabase, printAlterDatabaseSet, printAlterDatabaseCollate, printAlterDatabaseModifyName, printAlterDatabaseScopedConfigSet, printAlterDatabaseScopedConfigClear, printAlterDatabaseAddFile, printAlterDatabaseAddFileGroup, printAlterDatabaseRemoveFile, printAlterDatabaseRemoveFileGroup, printAlterDatabaseModifyFile, printAlterDatabaseModifyFileGroup, printAlterDatabaseRebuildLog, printAlterEventSession, } from './admin.js';
8
8
  // ---------------------------------------------------------------------------
9
9
  // Shared helpers — exported for use in ddl.ts, procedural.ts, and admin.ts
10
10
  // (those files import printStatementWithComments from here; circular but safe in ESM)
@@ -218,7 +218,32 @@ export function printStatement(node, opts) {
218
218
  // BEGIN/END block (proc bodies, inline blocks)
219
219
  case 'BeginEndBlock': {
220
220
  const stmts = propArr(node, 'statements');
221
- return join([hardline, hardline], stmts.map((s) => printStatementWithComments(s, opts)));
221
+ const bodyDocs = stmts.map((s) => printStatementWithComments(s, opts));
222
+ return [
223
+ keyword('BEGIN', opts),
224
+ indent([hardline, join([hardline, hardline], bodyDocs)]),
225
+ hardline,
226
+ keyword('END', opts),
227
+ ];
228
+ }
229
+ case 'BeginEndAtomicBlock': {
230
+ const atomicOptions = node.props?.['atomicOptions'];
231
+ const stmts = propArr(node, 'statements');
232
+ const bodyDocs = stmts.map((s) => printStatementWithComments(s, opts));
233
+ return [
234
+ keyword('BEGIN', opts),
235
+ ' ',
236
+ keyword('ATOMIC', opts),
237
+ ' ',
238
+ keyword('WITH', opts),
239
+ ' (',
240
+ indent([hardline, join([',', hardline], atomicOptions ?? [])]),
241
+ hardline,
242
+ ')',
243
+ indent([hardline, join([hardline, hardline], bodyDocs)]),
244
+ hardline,
245
+ keyword('END', opts),
246
+ ];
222
247
  }
223
248
  // Transactions
224
249
  case 'BeginTransactionStatement':
@@ -374,6 +399,27 @@ export function printStatement(node, opts) {
374
399
  return printAlterDatabaseModifyFileGroup(node, opts);
375
400
  case 'AlterDatabaseRebuildLogStatement':
376
401
  return printAlterDatabaseRebuildLog(node, opts);
402
+ // ── Extended Events ───────────────────────────────────────────────────
403
+ case 'AlterEventSessionStatement':
404
+ return printAlterEventSession(node, opts);
405
+ // ── Service Broker ────────────────────────────────────────────────────
406
+ case 'EndConversationStatement': {
407
+ const handle = propStr(node, 'handle') ?? '';
408
+ const withCleanup = propBool(node, 'withCleanup');
409
+ const errorCode = propStr(node, 'errorCode');
410
+ const errorDesc = propStr(node, 'errorDescription');
411
+ let withPart = '';
412
+ if (withCleanup) {
413
+ withPart = [' ', keyword('WITH CLEANUP', opts)];
414
+ }
415
+ else if (errorCode) {
416
+ withPart = [
417
+ ' ', keyword('WITH ERROR =', opts), ' ', errorCode,
418
+ ' ', keyword('DESCRIPTION =', opts), ' ', errorDesc ?? "''",
419
+ ];
420
+ }
421
+ return [[keyword('END CONVERSATION', opts), ' ', handle, withPart], ';'];
422
+ }
377
423
  default: {
378
424
  // Raw-text fallback for statement types not yet explicitly handled.
379
425
  // ScriptDOM includes the trailing ';' terminator in the fragment when the
@@ -389,15 +435,33 @@ export function printStatement(node, opts) {
389
435
  // ---------------------------------------------------------------------------
390
436
  function printCtes(node, opts) {
391
437
  const ctes = propArr(node, 'ctes');
392
- if (ctes.length === 0)
393
- return [];
438
+ const xmlNamespaces = node.props?.['xmlNamespaces'];
439
+ const changeTrackingCtx = propStr(node, 'changeTrackingContext');
440
+ // WITH CHANGE_TRACKING_CONTEXT emits as a separate statement prefix
441
+ const ctxPrefix = changeTrackingCtx
442
+ ? [[keyword('WITH CHANGE_TRACKING_CONTEXT', opts), ' (', changeTrackingCtx, ')'], hardline]
443
+ : [];
444
+ if (ctes.length === 0 && !xmlNamespaces?.length)
445
+ return ctxPrefix;
394
446
  const leading = getCommaStyle(opts) === 'leading';
395
- const cteDocs = ctes.map((cte) => {
447
+ const sep = leading ? [hardline, ', '] : [',', hardline];
448
+ // Collect all items for the WITH clause: XMLNAMESPACES first, then CTEs.
449
+ const allItems = [];
450
+ if (xmlNamespaces?.length) {
451
+ allItems.push([
452
+ keyword('XMLNAMESPACES', opts),
453
+ ' (',
454
+ indent([hardline, join(sep, xmlNamespaces)]),
455
+ hardline,
456
+ ')',
457
+ ]);
458
+ }
459
+ for (const cte of ctes) {
396
460
  const name = propStr(cte, 'name') ?? 'cte';
397
461
  const cols = cte.props?.['columns'];
398
462
  const query = prop(cte, 'query');
399
463
  const colsPart = cols?.length ? [' ', parenList(cols)] : '';
400
- return [
464
+ allItems.push([
401
465
  name,
402
466
  colsPart,
403
467
  ' ',
@@ -406,10 +470,9 @@ function printCtes(node, opts) {
406
470
  indent([hardline, query ? qexpr(query, opts) : '']),
407
471
  hardline,
408
472
  ')',
409
- ];
410
- });
411
- const sep = leading ? [hardline, ', '] : [',', hardline];
412
- return [[keyword('WITH', opts), indent([hardline, join(sep, cteDocs)])], hardline];
473
+ ]);
474
+ }
475
+ return [...ctxPrefix, [keyword('WITH', opts), indent([hardline, join(sep, allItems)])], hardline];
413
476
  }
414
477
  function printSelect(node, opts) {
415
478
  const ctesDocs = printCtes(node, opts);
@@ -484,26 +547,61 @@ function printValuesSource(node, opts) {
484
547
  return [hardline, keyword('VALUES', opts), indent([hardline, join(hardSep(opts), rowDocs)])];
485
548
  }
486
549
  // ---------------------------------------------------------------------------
550
+ // Shared SET-clause renderer (UPDATE and MERGE UPDATE)
551
+ // ---------------------------------------------------------------------------
552
+ /** Render TOP (n) [PERCENT] [WITH TIES] for DELETE and UPDATE statements. */
553
+ function renderTopFilter(topNode, opts) {
554
+ const expr = prop(topNode, 'expression');
555
+ const isPercent = propBool(topNode, 'percent');
556
+ const withTies = propBool(topNode, 'withTies');
557
+ const parts = [keyword('TOP', opts), ' (', expr ? printNode(expr, opts) : '', ')'];
558
+ if (isPercent)
559
+ parts.push(' ', keyword('PERCENT', opts));
560
+ if (withTies)
561
+ parts.push(' ', keyword('WITH TIES', opts));
562
+ return parts;
563
+ }
564
+ /**
565
+ * Render one SET clause item, handling three forms:
566
+ * col = val — plain column assignment
567
+ * @var = val — variable-only assignment (no column update)
568
+ * col = @var = val — compound: update col AND assign @var
569
+ */
570
+ function printSetClauseItem(sc, opts) {
571
+ const col = prop(sc, 'column');
572
+ const val = prop(sc, 'value');
573
+ const variable = propStr(sc, 'variable');
574
+ const opStr = assignmentOp(propStr(sc, 'operator') ?? 'Equals');
575
+ let lhs;
576
+ if (col && variable)
577
+ lhs = [printNode(col, opts), ' ', opStr, ' ', variable];
578
+ else if (col)
579
+ lhs = printNode(col, opts);
580
+ else if (variable)
581
+ lhs = variable;
582
+ else
583
+ lhs = sc.text ?? '';
584
+ return [lhs, ' ', opStr, ' ', val ? printNode(val, opts) : ''];
585
+ }
586
+ // ---------------------------------------------------------------------------
487
587
  // UPDATE
488
588
  // ---------------------------------------------------------------------------
489
589
  function printUpdate(node, opts) {
490
590
  const ctesDocs = printCtes(node, opts);
491
591
  const density = getDensity(opts);
592
+ const topNode = prop(node, 'top');
492
593
  const target = prop(node, 'target');
493
594
  const setClauses = propArr(node, 'set');
494
595
  const from = prop(node, 'from');
495
596
  const where = prop(node, 'where');
496
597
  const output = prop(node, 'output');
497
598
  const outputInto = prop(node, 'outputInto');
498
- const setParts = setClauses.map((sc) => {
499
- const col = prop(sc, 'column');
500
- const val = prop(sc, 'value');
501
- const opStr = assignmentOp(propStr(sc, 'operator') ?? 'Equals');
502
- return [col ? printNode(col, opts) : '', ' ', opStr, ' ', val ? printNode(val, opts) : ''];
503
- });
599
+ const setParts = setClauses.map((sc) => printSetClauseItem(sc, opts));
600
+ const topDoc = topNode ? [' ', renderTopFilter(topNode, opts)] : '';
504
601
  const parts = [
505
602
  ...ctesDocs,
506
603
  keyword('UPDATE', opts),
604
+ topDoc,
507
605
  ' ',
508
606
  target ? printTable(target, opts) : '',
509
607
  hardline,
@@ -533,15 +631,22 @@ function printUpdate(node, opts) {
533
631
  // ---------------------------------------------------------------------------
534
632
  function printDelete(node, opts) {
535
633
  const ctesDocs = printCtes(node, opts);
634
+ const topNode = prop(node, 'top');
536
635
  const target = prop(node, 'target');
537
636
  const from = prop(node, 'from');
538
637
  const where = prop(node, 'where');
539
638
  const output = prop(node, 'output');
540
639
  const outputInto = prop(node, 'outputInto');
541
- // Multi-table DELETE: DELETE alias FROM join-tree omit the FROM before the alias.
542
- // Simple DELETE: DELETE FROM table — no separate FROM clause.
543
- const deleteKw = from ? keyword('DELETE', opts) : keyword('DELETE FROM', opts);
544
- const parts = [...ctesDocs, deleteKw, ' ', target ? printTable(target, opts) : ''];
640
+ const topDoc = topNode ? [' ', renderTopFilter(topNode, opts)] : '';
641
+ // Multi-table DELETE: DELETE [TOP] alias FROM join-tree
642
+ // Simple DELETE: DELETE [TOP] FROM table (TOP goes between DELETE and FROM)
643
+ let parts;
644
+ if (from) {
645
+ parts = [...ctesDocs, keyword('DELETE', opts), topDoc, ' ', target ? printTable(target, opts) : ''];
646
+ }
647
+ else {
648
+ parts = [...ctesDocs, keyword('DELETE', opts), topDoc, ' ', keyword('FROM', opts), ' ', target ? printTable(target, opts) : ''];
649
+ }
545
650
  if (from) {
546
651
  const tableRefs = propArr(from, 'tableReferences');
547
652
  parts.push(hardline, keyword('FROM', opts), indent([
@@ -601,6 +706,7 @@ function printOutputIntoClause(node, opts) {
601
706
  // ---------------------------------------------------------------------------
602
707
  function printMerge(node, opts) {
603
708
  const ctesDocs = printCtes(node, opts);
709
+ const topNode = prop(node, 'top');
604
710
  const target = prop(node, 'target');
605
711
  const targetAlias = propStr(node, 'targetAlias');
606
712
  const source = prop(node, 'source');
@@ -627,9 +733,13 @@ function printMerge(node, opts) {
627
733
  onDoc = [' ', keyword('ON', opts), indent([hardline, printBool(on, opts)])];
628
734
  }
629
735
  }
736
+ const topDoc = topNode ? [renderTopFilter(topNode, opts), ' '] : '';
630
737
  const parts = [
631
738
  ...ctesDocs,
632
- keyword('MERGE INTO', opts),
739
+ keyword('MERGE', opts),
740
+ ' ',
741
+ topDoc,
742
+ keyword('INTO', opts),
633
743
  ' ',
634
744
  targetDoc,
635
745
  hardline,
@@ -670,12 +780,7 @@ function printMergeClause(node, opts) {
670
780
  function printMergeAction(node, opts) {
671
781
  switch (node.type) {
672
782
  case 'MergeUpdateAction': {
673
- const setParts = propArr(node, 'set').map((sc) => {
674
- const col = prop(sc, 'column');
675
- const val = prop(sc, 'value');
676
- const opStr = assignmentOp(propStr(sc, 'operator') ?? 'Equals');
677
- return [col ? printNode(col, opts) : '', ' ', opStr, ' ', val ? printNode(val, opts) : ''];
678
- });
783
+ const setParts = propArr(node, 'set').map((sc) => printSetClauseItem(sc, opts));
679
784
  const density = getDensity(opts);
680
785
  const setBody = density !== 'spacious' && setParts.length === 1
681
786
  ? [' ', setParts[0]]
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/plugin/printer/statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/plugin/printer/statements.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prettier-plugin-tsql",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Prettier plugin for T-SQL (Microsoft SQL Server) using the official ScriptDom parser",
5
5
  "author": "Mike Schall",
6
6
  "license": "MIT",