prettier-plugin-tsql 0.3.0 → 0.4.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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Beta** — covers the vast majority of T-SQL; a small number of less-common statements fall back to original source text (see [Pending implementation](#pending-implementation)). Breaking changes possible before 1.0.
4
4
 
5
- A [Prettier](https://prettier.io) plugin that formats T-SQL (SQL Server) using Microsoft's official `Microsoft.SqlServer.TransactSql.ScriptDom` parser — the same parser SQL Server itself uses.
5
+ A [Prettier](https://prettier.io) plugin that formats T-SQL (SQL Server) using Microsoft's official `Microsoft.SqlServer.TransactSql.ScriptDom` parser — the same parser SQL Server itself uses. Supports SQL Server syntax up to and including **SQL Server 2025** (via `TSql180Parser`).
6
6
 
7
7
  **Requires [.NET 8+ Runtime](https://dotnet.microsoft.com/download/dotnet/8.0)** to be installed on your machine (the SDK is not needed).
8
8
 
@@ -16,17 +16,19 @@ Parses T-SQL via the official ScriptDom library (no hand-rolled grammar). Config
16
16
  - [`MERGE INTO … USING … ON … WHEN MATCHED/NOT MATCHED`](docs/examples.md#merge)
17
17
  - `OUTPUT` / `OUTPUT INTO` on `INSERT`, `UPDATE`, `DELETE`, and `MERGE` (including `$action`, `inserted.*`, `deleted.*`)
18
18
  - [CTEs](docs/examples.md#cte-with-window-function), `UNION`/`UNION ALL`, subqueries, derived tables
19
- - `CASE` expressions (simple and searched), `IN`/`NOT IN`
19
+ - [`EXISTS` / `NOT EXISTS`](docs/examples.md#exists), [`GROUP BY` / `HAVING`](docs/examples.md#group-by-and-having)
20
+ - [`CASE` expressions](docs/examples.md#case-expression) (simple and searched), [`IN`/`NOT IN`](docs/examples.md#in--not-in) (value lists and subqueries), [`ANY`/`ALL` subquery predicates](docs/examples.md#any--all)
21
+ - [Inline `VALUES(...)` derived tables](docs/examples.md#inline-values-derived-table) in `FROM`
20
22
  - `TOP (n)`, `TOP (n) PERCENT`, `TOP (n) WITH TIES`
21
23
  - `PIVOT` / `UNPIVOT`
22
24
  - `FOR XML` (`AUTO`, `PATH`, `RAW`, `EXPLICIT`, `XMLSCHEMA`, `ELEMENTS`, `ROOT`, `TYPE`, etc.) and `FOR JSON` (`AUTO`, `PATH`, `ROOT`, `INCLUDE_NULL_VALUES`, `WITHOUT_ARRAY_WRAPPER`)
23
25
  - `TABLESAMPLE [SYSTEM] (n PERCENT|ROWS) [REPEATABLE(seed)]`
24
26
  - Temporal table queries — `FOR SYSTEM_TIME AS OF`, `FROM … TO`, `BETWEEN … AND`, `CONTAINED IN`, `ALL`
25
- - Joins: `INNER`, `LEFT`, `RIGHT`, `FULL OUTER`, `CROSS JOIN`, `CROSS APPLY`, `OUTER APPLY`; multiple joins, multi-predicate `ON`, self-joins, parenthesized joins, derived table joins
27
+ - [Joins](docs/examples.md#join-types): `INNER`, `LEFT`, `RIGHT`, `FULL OUTER`, `CROSS JOIN`, `CROSS APPLY`, `OUTER APPLY`; multiple joins, multi-predicate `ON`, self-joins, parenthesized joins, derived table joins
26
28
  - Table-valued functions (TVFs) in `FROM` clauses; table hints (`WITH (NOLOCK)`, etc.)
27
- - [Window functions](docs/examples.md#running-totals-with-over) with `OVER` clause — `PARTITION BY`, `ORDER BY`, full frame support (`ROWS`/`RANGE BETWEEN … AND …`, `UNBOUNDED PRECEDING/FOLLOWING`, `CURRENT ROW`); `IGNORE NULLS`/`RESPECT NULLS`; named window references; named `WINDOW` clause
29
+ - [Window functions](docs/examples.md#window-functions-with-over) with `OVER` clause — `PARTITION BY`, `ORDER BY`, full frame support (`ROWS`/`RANGE BETWEEN … AND …`, `UNBOUNDED PRECEDING/FOLLOWING`, `CURRENT ROW`); `IGNORE NULLS`/`RESPECT NULLS`; named window references; named `WINDOW` clause
28
30
  - Ordered set aggregates: `WITHIN GROUP (ORDER BY …)` for `STRING_AGG`, `PERCENTILE_CONT`/`PERCENTILE_DISC`, etc.
29
- - Expression functions: `CAST`, `CONVERT`, `TRY_CAST`, `TRY_CONVERT` (with full data type including length/precision), `IIF`, `COALESCE`, `NULLIF`, `AT TIME ZONE`, `IS [NOT] DISTINCT FROM`, `TRIM(LEADING|TRAILING|BOTH …)`, `PARSE`, `TRY_PARSE`
31
+ - Expression functions: `CAST`, `CONVERT`, `TRY_CAST`, `TRY_CONVERT` (with full data type including length/precision), `IIF`, `COALESCE`, `NULLIF`, `AT TIME ZONE`, `IS [NOT] DISTINCT FROM`, `TRIM(LEADING|TRAILING|BOTH …)`, `TRIM(chars FROM str)`, `PARSE`, `TRY_PARSE`
30
32
  - Sequence expressions: `NEXT VALUE FOR sequence [OVER (…)]`
31
33
  - JSON functions: `JSON_OBJECT(key: value, …)`, `JSON_ARRAY(…)`, `JSON_ARRAYAGG(… ORDER BY …)` with `ABSENT|NULL ON NULL`
32
34
  - Full-text predicates: `CONTAINS`/`FREETEXT` (single column, multi-column, wildcard, `LANGUAGE`); `CONTAINSTABLE`/`FREETEXTTABLE` as join sources
@@ -35,8 +37,8 @@ Parses T-SQL via the official ScriptDom library (no hand-rolled grammar). Config
35
37
 
36
38
  **DDL**
37
39
 
38
- - `CREATE TABLE` (columns, constraints, computed columns `AS expr [PERSISTED]`, `WITH` options such as `DATA_COMPRESSION`, `MEMORY_OPTIMIZED`), [`ALTER TABLE`](docs/examples.md#alter-table) (ADD/DROP column, ADD/DROP/ENABLE/DISABLE constraint, ALTER COLUMN, SET, REBUILD, SWITCH), `CREATE INDEX` (UNIQUE/CLUSTERED/NONCLUSTERED, ASC/DESC, INCLUDE), `ALTER INDEX … REBUILD/REORGANIZE/DISABLE`
39
- - [`CREATE/ALTER/CREATE OR ALTER PROCEDURE`](docs/examples.md#create-procedure), `CREATE/ALTER/CREATE OR ALTER FUNCTION`, `CREATE/ALTER/CREATE OR ALTER VIEW`
40
+ - [`CREATE TABLE`](docs/examples.md#create-table) (columns, constraints, computed columns `AS expr [PERSISTED]`, `WITH` options such as `DATA_COMPRESSION`, `MEMORY_OPTIMIZED`), [`ALTER TABLE`](docs/examples.md#alter-table) (ADD/DROP column, ADD/DROP/ENABLE/DISABLE constraint, ALTER COLUMN, SET, REBUILD, SWITCH), `CREATE INDEX` (UNIQUE/CLUSTERED/NONCLUSTERED, ASC/DESC, INCLUDE), `ALTER INDEX … REBUILD/REORGANIZE/DISABLE`
41
+ - [`CREATE/ALTER/CREATE OR ALTER PROCEDURE`](docs/examples.md#create-procedure), `CREATE/ALTER/CREATE OR ALTER FUNCTION`, [`CREATE/ALTER/CREATE OR ALTER VIEW`](docs/examples.md#create-view)
40
42
  - `CREATE/ALTER TRIGGER` (DML triggers: AFTER/INSTEAD OF INSERT/UPDATE/DELETE)
41
43
  - `CREATE/ALTER/DROP SEQUENCE` with full options (START WITH, INCREMENT BY, MINVALUE/NO MINVALUE, MAXVALUE/NO MAXVALUE, CYCLE/NO CYCLE, CACHE/NO CACHE)
42
44
  - `BULK INSERT … FROM … WITH (options)`
@@ -48,7 +50,7 @@ Parses T-SQL via the official ScriptDom library (no hand-rolled grammar). Config
48
50
  - `DROP TABLE/PROCEDURE/VIEW/FUNCTION/INDEX/TRIGGER/SEQUENCE/SYNONYM/SCHEMA` (with `IF EXISTS`)
49
51
  - `DROP DATABASE` (with `IF EXISTS`, multiple databases)
50
52
  - `CREATE DATABASE` (with optional `COLLATE`, file group specs, snapshot)
51
- - `ALTER DATABASE` — `SET` (any option with proper keyword reconstruction), `COLLATE`, `MODIFY NAME`, `ADD/REMOVE FILE`, `ADD/REMOVE FILEGROUP`, `MODIFY FILE`, `MODIFY FILEGROUP`, `REBUILD LOG`, `SCOPED CONFIGURATION SET/CLEAR`
53
+ - `ALTER DATABASE` — `SET` (any option with proper keyword reconstruction, including SQL Server 2025 options such as `AUTOMATIC_INDEX_COMPACTION`), `COLLATE`, `MODIFY NAME`, `ADD/REMOVE FILE`, `ADD/REMOVE FILEGROUP`, `MODIFY FILE`, `MODIFY FILEGROUP`, `REBUILD LOG`, `SCOPED CONFIGURATION SET/CLEAR`
52
54
 
53
55
  **Database Administration**
54
56
 
@@ -59,8 +61,8 @@ Parses T-SQL via the official ScriptDom library (no hand-rolled grammar). Config
59
61
  **Procedural / Control Flow**
60
62
 
61
63
  - `USE`, `SET NOCOUNT/ANSI_NULLS/QUOTED_IDENTIFIER/XACT_ABORT/…` ON/OFF, `SET IDENTITY_INSERT`, `SET TRANSACTION ISOLATION LEVEL`, `SET STATISTICS`, `WAITFOR DELAY/TIME`
62
- - `DECLARE`, `SET @var`, `SET ROWCOUNT`, `PRINT`, `RETURN`, `EXECUTE`, `TRUNCATE TABLE`
63
- - `IF`/`ELSE`, `WHILE`, `BREAK`, `CONTINUE`, `GOTO`/label, `THROW`, `RAISERROR`, `TRY/CATCH`
64
+ - [`DECLARE`, `SET @var`](docs/examples.md#declare-and-variables), `SET ROWCOUNT`, `PRINT`, `RETURN`, [`EXECUTE`](docs/examples.md#execute) (named proc, dynamic SQL, variable proc name), `TRUNCATE TABLE`
65
+ - [`IF`/`ELSE`](docs/examples.md#if--else), `WHILE`, `BREAK`, `CONTINUE`, `GOTO`/label, `THROW`, `RAISERROR`, `TRY/CATCH`
64
66
  - `BEGIN`/`COMMIT`/`ROLLBACK TRANSACTION`
65
67
  - `DECLARE CURSOR` / `OPEN` / `FETCH NEXT/PRIOR/FIRST/LAST/ABSOLUTE/RELATIVE` / `CLOSE` / `DEALLOCATE`
66
68
  - `EXECUTE AS` (CALLER / USER / LOGIN / SELF / OWNER, with `WITH NO REVERT`) / `REVERT`
@@ -68,7 +70,7 @@ Parses T-SQL via the official ScriptDom library (no hand-rolled grammar). Config
68
70
 
69
71
  **Security**
70
72
 
71
- - `GRANT` / `DENY` / `REVOKE` — all securable classes (OBJECT, SCHEMA, DATABASE, SERVER, LOGIN, USER, ROLE, ASSEMBLY, …), column lists, WITH GRANT OPTION, CASCADE, GRANT OPTION FOR, AS clause, multiple principals
73
+ - [`GRANT` / `DENY` / `REVOKE`](docs/examples.md#grant--deny--revoke) — all securable classes (OBJECT, SCHEMA, DATABASE, SERVER, LOGIN, USER, ROLE, ASSEMBLY, …), column lists, WITH GRANT OPTION, CASCADE, GRANT OPTION FOR, AS clause, multiple principals
72
74
  - `CREATE/ALTER/DROP USER` — FOR LOGIN, WITHOUT LOGIN, FROM EXTERNAL PROVIDER, WITH options
73
75
  - `CREATE/ALTER/DROP LOGIN` — password (HASHED/MUST_CHANGE), FROM WINDOWS, FROM CERTIFICATE/ASYMMETRIC KEY, ENABLE/DISABLE, ADD/DROP CREDENTIAL
74
76
  - `CREATE/ALTER/DROP ROLE` — AUTHORIZATION owner, ADD/DROP MEMBER, WITH NAME rename
@@ -8,17 +8,17 @@
8
8
  ".NETCoreApp,Version=v8.0": {
9
9
  "SqlScriptDom/1.0.0": {
10
10
  "dependencies": {
11
- "Microsoft.SqlServer.TransactSql.ScriptDom": "170.191.0"
11
+ "Microsoft.SqlServer.TransactSql.ScriptDom": "180.18.1"
12
12
  },
13
13
  "runtime": {
14
14
  "SqlScriptDom.dll": {}
15
15
  }
16
16
  },
17
- "Microsoft.SqlServer.TransactSql.ScriptDom/170.191.0": {
17
+ "Microsoft.SqlServer.TransactSql.ScriptDom/180.18.1": {
18
18
  "runtime": {
19
19
  "lib/net8.0/Microsoft.SqlServer.TransactSql.ScriptDom.dll": {
20
- "assemblyVersion": "17.0.0.0",
21
- "fileVersion": "17.0.191.0"
20
+ "assemblyVersion": "18.0.0.0",
21
+ "fileVersion": "18.0.18.1"
22
22
  }
23
23
  }
24
24
  }
@@ -30,12 +30,12 @@
30
30
  "serviceable": false,
31
31
  "sha512": ""
32
32
  },
33
- "Microsoft.SqlServer.TransactSql.ScriptDom/170.191.0": {
33
+ "Microsoft.SqlServer.TransactSql.ScriptDom/180.18.1": {
34
34
  "type": "package",
35
35
  "serviceable": true,
36
- "sha512": "sha512-Rd0xOrMhZV3bE7LwkiOv9zJsZ/OUNUS7xvEPvbSVK04vDotPk1lxRTPXxul/E6TSfdmT8E+RoeVDgtIaFMUshQ==",
37
- "path": "microsoft.sqlserver.transactsql.scriptdom/170.191.0",
38
- "hashPath": "microsoft.sqlserver.transactsql.scriptdom.170.191.0.nupkg.sha512"
36
+ "sha512": "sha512-CULNOChk4ia9Z4c7CXlFYJWMJkn0DkyZMMt/xPZPBW184r7+o84IFq5vuI6yVt0WIiL71oWBp5EwzhhHX28jOw==",
37
+ "path": "microsoft.sqlserver.transactsql.scriptdom/180.18.1",
38
+ "hashPath": "microsoft.sqlserver.transactsql.scriptdom.180.18.1.nupkg.sha512"
39
39
  }
40
40
  }
41
41
  }
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/ddl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/ddl.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,36 @@
1
- import { keyword, hardline, join, indent, group, softline, line, ifExistsDoc } from './utils.js';
1
+ import { keyword, hardline, join, indent, group, softline, line, ifExistsDoc, commentsBlock, parenList } from './utils.js';
2
2
  import { prop, propArr, propStr, propBool, schemaObjectName } from './helpers.js';
3
3
  // printNode / printBool / qexpr / printStatementWithComments are imported from statements.ts
4
4
  // — circular but safe in ESM (all imports are function references, never accessed during init)
5
5
  import { printStatementWithComments, printNode, printBool, qexpr } from './statements.js';
6
6
  // ---------------------------------------------------------------------------
7
+ // Shared helpers
8
+ // ---------------------------------------------------------------------------
9
+ /** Render ` NULL` / ` NOT NULL` from a tristate `nullable` prop value. */
10
+ function nullablePart(nullable, opts) {
11
+ if (nullable === true)
12
+ return [' ', keyword('NULL', opts)];
13
+ if (nullable === false)
14
+ return [' ', keyword('NOT NULL', opts)];
15
+ return '';
16
+ }
17
+ /**
18
+ * Render a `WITH opt1, opt2, ...` clause where each option is keyword-cased.
19
+ * Stays inline when it fits; breaks one-per-line under WITH otherwise.
20
+ * Returns an empty string when no options are supplied.
21
+ */
22
+ function withOptionsClause(options, opts) {
23
+ if (!options?.length)
24
+ return '';
25
+ return group([
26
+ keyword('WITH', opts),
27
+ indent([
28
+ line,
29
+ join([',', line], options.map((o) => keyword(o, opts))),
30
+ ]),
31
+ ]);
32
+ }
33
+ // ---------------------------------------------------------------------------
7
34
  // CREATE TABLE
8
35
  // ---------------------------------------------------------------------------
9
36
  export function printCreateTable(node, opts) {
@@ -19,7 +46,7 @@ export function printCreateTable(node, opts) {
19
46
  hardline,
20
47
  keyword('WITH', opts),
21
48
  ' ',
22
- group(['(', indent([softline, join([',', line], options)]), softline, ')']),
49
+ parenList(options),
23
50
  ]
24
51
  : '';
25
52
  return group([
@@ -68,10 +95,7 @@ export function printColumnDef(node, opts) {
68
95
  }
69
96
  if (defaultValue)
70
97
  parts.push(' ', keyword('DEFAULT', opts), ' ', printNode(defaultValue, opts));
71
- if (isNullable === false)
72
- parts.push(' ', keyword('NOT NULL', opts));
73
- else if (isNullable === true)
74
- parts.push(' ', keyword('NULL', opts));
98
+ parts.push(nullablePart(isNullable, opts));
75
99
  return parts;
76
100
  }
77
101
  export function printConstraintDef(node, opts) {
@@ -82,7 +106,7 @@ export function printConstraintDef(node, opts) {
82
106
  const isPK = propBool(node, 'isPrimaryKey');
83
107
  const cols = Array.isArray(node.props?.['columns']) ? node.props?.['columns'] : [];
84
108
  const kw = isPK ? keyword('PRIMARY KEY', opts) : keyword('UNIQUE', opts);
85
- const colsDoc = group(['(', indent([softline, join([',', line], cols)]), softline, ')']);
109
+ const colsDoc = parenList(cols);
86
110
  return group([namePrefix, indent([softline, kw, ' ', colsDoc])]);
87
111
  }
88
112
  case 'CheckConstraint': {
@@ -100,8 +124,8 @@ export function printConstraintDef(node, opts) {
100
124
  .replace(/([A-Z])/g, ' $1')
101
125
  .trim()
102
126
  .toUpperCase(), opts);
103
- const fkColsDoc = group(['(', indent([softline, join([',', line], cols)]), softline, ')']);
104
- const refColsDoc = group(['(', indent([softline, join([',', line], refCols)]), softline, ')']);
127
+ const fkColsDoc = parenList(cols);
128
+ const refColsDoc = parenList(refCols);
105
129
  return [
106
130
  group([
107
131
  namePrefix,
@@ -190,12 +214,7 @@ export function printAlterTable(node, opts) {
190
214
  if (alterType === 'AlterTableAlterColumnStatement') {
191
215
  const column = propStr(node, 'column') ?? '';
192
216
  const dataType = propStr(node, 'dataType') ?? '';
193
- const nullable = node.props?.['nullable'];
194
- const nullPart = nullable === true
195
- ? [' ', keyword('NULL', opts)]
196
- : nullable === false
197
- ? [' ', keyword('NOT NULL', opts)]
198
- : '';
217
+ const nullPart = nullablePart(node.props?.['nullable'], opts);
199
218
  return [
200
219
  keyword('ALTER TABLE', opts),
201
220
  ' ',
@@ -307,7 +326,7 @@ export function printCreateIndex(node, opts) {
307
326
  hardline,
308
327
  keyword('INCLUDE', opts),
309
328
  ' ',
310
- group(['(', indent([softline, join([',', line], includeColumns)]), softline, ')']),
329
+ parenList(includeColumns),
311
330
  ]
312
331
  : '';
313
332
  return group([
@@ -404,12 +423,8 @@ export function printCreateProcedure(node, opts) {
404
423
  return parts;
405
424
  });
406
425
  const bodyDocs = body.map((s) => printStatementWithComments(s, opts));
407
- const preBody = node.preBodyComments?.length
408
- ? node.preBodyComments.flatMap((c) => [hardline, c])
409
- : '';
410
- const postParam = node.postParamComments?.length
411
- ? node.postParamComments.flatMap((c) => [hardline, c])
412
- : '';
426
+ const preBody = commentsBlock(node.preBodyComments);
427
+ const postParam = commentsBlock(node.postParamComments);
413
428
  const procKw = node.type === 'CreateOrAlterProcedureStatement'
414
429
  ? keyword('CREATE OR ALTER PROCEDURE', opts)
415
430
  : node.type === 'AlterProcedureStatement'
@@ -446,12 +461,8 @@ export function printCreateFunction(node, opts) {
446
461
  const dt = propStr(p, 'dataType') ?? 'INT';
447
462
  return [pName, ' ', keyword(dt, opts)];
448
463
  });
449
- const preBody = node.preBodyComments?.length
450
- ? node.preBodyComments.flatMap((c) => [hardline, c])
451
- : '';
452
- const postParam = node.postParamComments?.length
453
- ? node.postParamComments.flatMap((c) => [hardline, c])
454
- : '';
464
+ const preBody = commentsBlock(node.preBodyComments);
465
+ const postParam = commentsBlock(node.postParamComments);
455
466
  const fnKw = node.type === 'CreateOrAlterFunctionStatement'
456
467
  ? keyword('CREATE OR ALTER FUNCTION', opts)
457
468
  : node.type === 'AlterFunctionStatement'
@@ -537,7 +548,7 @@ export function printCreateView(node, opts) {
537
548
  ? keyword('ALTER VIEW', opts)
538
549
  : keyword('CREATE VIEW', opts);
539
550
  const colsPart = columns?.length
540
- ? [' ', group(['(', indent([softline, join([',', line], columns)]), softline, ')'])]
551
+ ? [' ', parenList(columns)]
541
552
  : '';
542
553
  const withPart = withOptions?.length
543
554
  ? [
@@ -547,9 +558,7 @@ export function printCreateView(node, opts) {
547
558
  join(', ', withOptions.map((o) => keyword(o, opts))),
548
559
  ]
549
560
  : '';
550
- const preBodyPart = node.preBodyComments?.length
551
- ? node.preBodyComments.flatMap((c) => [hardline, c])
552
- : '';
561
+ const preBodyPart = commentsBlock(node.preBodyComments);
553
562
  return group([
554
563
  kw,
555
564
  ' ',
@@ -694,8 +703,6 @@ export function printBulkInsert(node, opts) {
694
703
  // CREATE TYPE
695
704
  // ---------------------------------------------------------------------------
696
705
  export function printCreateTypeUddt(node, opts) {
697
- const nullable = node.props?.['nullable'];
698
- const nullablePart = nullable === false ? [' ', keyword('NOT NULL', opts)] : nullable === true ? [' ', keyword('NULL', opts)] : '';
699
706
  return [
700
707
  keyword('CREATE TYPE', opts),
701
708
  ' ',
@@ -704,7 +711,7 @@ export function printCreateTypeUddt(node, opts) {
704
711
  keyword('FROM', opts),
705
712
  ' ',
706
713
  keyword(propStr(node, 'dataType') ?? '', opts),
707
- nullablePart,
714
+ nullablePart(node.props?.['nullable'], opts),
708
715
  ';',
709
716
  ];
710
717
  }
@@ -848,7 +855,7 @@ export function printCreatePartitionScheme(node, opts) {
848
855
  const isAll = propBool(node, 'isAll');
849
856
  const fileGroups = propArr(node, 'fileGroups');
850
857
  const fgDocs = fileGroups.map((fg) => String(fg));
851
- const fgListDoc = group(['(', indent([softline, join([',', line], fgDocs)]), softline, ')']);
858
+ const fgListDoc = parenList(fgDocs);
852
859
  const toClause = isAll ? [keyword('ALL TO', opts), ' ', fgListDoc] : [keyword('TO', opts), ' ', fgListDoc];
853
860
  return [
854
861
  keyword('CREATE PARTITION SCHEME', opts),
@@ -887,7 +894,7 @@ export function printCreateColumnStoreIndex(node, opts) {
887
894
  const parts = [keyword('CREATE', opts), ' ', clusterKw, keyword('COLUMNSTORE INDEX', opts), ' ', name];
888
895
  parts.push([hardline, keyword('ON', opts), ' ', onName ? schemaObjectName(onName) : '']);
889
896
  if (columns?.length) {
890
- parts.push([' ', group(['(', indent([softline, join([',', line], columns)]), softline, ')'])]);
897
+ parts.push([' ', parenList(columns)]);
891
898
  }
892
899
  if (filterPredicate)
893
900
  parts.push([hardline, keyword('WHERE', opts), ' ', filterPredicate]);
@@ -943,22 +950,12 @@ export function printCreateStatistics(node, opts) {
943
950
  const parts = [keyword('CREATE STATISTICS', opts), ' ', name];
944
951
  parts.push([hardline, keyword('ON', opts), ' ', onName ? schemaObjectName(onName) : '']);
945
952
  if (columns?.length) {
946
- parts.push([' ', group(['(', indent([softline, join([',', line], columns)]), softline, ')'])]);
953
+ parts.push([' ', parenList(columns)]);
947
954
  }
948
955
  if (filterPredicate)
949
956
  parts.push([hardline, keyword('WHERE', opts), ' ', filterPredicate]);
950
- if (options?.length) {
951
- parts.push([
952
- hardline,
953
- group([
954
- keyword('WITH', opts),
955
- indent([
956
- line,
957
- join([',', line], options.map((o) => keyword(o, opts))),
958
- ]),
959
- ]),
960
- ]);
961
- }
957
+ if (options?.length)
958
+ parts.push([hardline, withOptionsClause(options, opts)]);
962
959
  parts.push(';');
963
960
  return parts;
964
961
  }
@@ -967,21 +964,10 @@ export function printUpdateStatistics(node, opts) {
967
964
  const subElements = node.props?.['subElements'];
968
965
  const options = node.props?.['options'];
969
966
  const parts = [keyword('UPDATE STATISTICS', opts), ' ', table ? schemaObjectName(table) : ''];
970
- if (subElements?.length) {
971
- parts.push([' ', group(['(', indent([softline, join([',', line], subElements)]), softline, ')'])]);
972
- }
973
- if (options?.length) {
974
- parts.push([
975
- hardline,
976
- group([
977
- keyword('WITH', opts),
978
- indent([
979
- line,
980
- join([',', line], options.map((o) => keyword(o, opts))),
981
- ]),
982
- ]),
983
- ]);
984
- }
967
+ if (subElements?.length)
968
+ parts.push([' ', parenList(subElements)]);
969
+ if (options?.length)
970
+ parts.push([hardline, withOptionsClause(options, opts)]);
985
971
  parts.push(';');
986
972
  return parts;
987
973
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/plugin/printer/ddl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/plugin/printer/ddl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/expressions.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;AAqB1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CA+F/F;AAmYD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAwBpG;AA6MD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAiC/F;AA0ED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAOnG;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CA2B7F;AA+LD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAiC7F;AAwTD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAiBlG"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/plugin/printer/expressions.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;AAuB1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CA+F/F;AA8YD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAwBpG;AAkND,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAiC/F;AA0ED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAOnG;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CA6B7F;AAiND,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAmC7F;AA6UD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,GAAG,GAAG,GAAG,CAiBlG"}