pgsql-deparser 13.18.0 → 13.19.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.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -10
  3. package/deparser/deparser.d.ts +308 -0
  4. package/deparser/deparser.js +10477 -0
  5. package/deparser/index.d.ts +9 -0
  6. package/deparser/index.js +17 -0
  7. package/deparser/utils/list-utils.d.ts +8 -0
  8. package/deparser/utils/list-utils.js +30 -0
  9. package/deparser/utils/quote-utils.d.ts +24 -0
  10. package/deparser/utils/quote-utils.js +89 -0
  11. package/deparser/utils/sql-formatter.d.ts +16 -0
  12. package/deparser/utils/sql-formatter.js +40 -0
  13. package/deparser/visitors/base.d.ts +68 -0
  14. package/deparser/visitors/base.js +122 -0
  15. package/{src/deparser/deparser.ts → esm/deparser/deparser.js} +751 -752
  16. package/{src/deparser/index.ts → esm/deparser/index.js} +3 -4
  17. package/{src/deparser/utils/list-utils.ts → esm/deparser/utils/list-utils.js} +2 -3
  18. package/{src/deparser/utils/quote-utils.ts → esm/deparser/utils/quote-utils.js} +6 -7
  19. package/{src/deparser/utils/sql-formatter.ts → esm/deparser/utils/sql-formatter.js} +10 -11
  20. package/{src/deparser/visitors/base.ts → esm/deparser/visitors/base.js} +34 -62
  21. package/esm/index.js +15 -0
  22. package/{src/v13-to-v14.ts → esm/v13-to-v14.js} +472 -609
  23. package/{src/v13-to-v17-direct.ts → esm/v13-to-v17-direct.js} +11 -12
  24. package/{src/v14-to-v15.ts → esm/v14-to-v15.js} +261 -662
  25. package/{src/v15-to-v16.ts → esm/v15-to-v16.js} +814 -1229
  26. package/esm/v16-to-v17.js +1488 -0
  27. package/index.d.ts +9 -0
  28. package/index.js +19 -0
  29. package/package.json +5 -5
  30. package/v13-to-v14.d.ts +253 -0
  31. package/v13-to-v14.js +2754 -0
  32. package/v13-to-v17-direct.d.ts +24 -0
  33. package/v13-to-v17-direct.js +82 -0
  34. package/v14-to-v15.d.ts +616 -0
  35. package/v14-to-v15.js +1227 -0
  36. package/v15-to-v16.d.ts +633 -0
  37. package/v15-to-v16.js +2944 -0
  38. package/v16-to-v17.d.ts +638 -0
  39. package/v16-to-v17.js +1492 -0
  40. package/src/index.ts +0 -27
  41. package/src/v16-to-v17.ts +0 -1897
  42. package/tsconfig.esm.json +0 -8
  43. package/tsconfig.json +0 -26
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Dan Lynch <pyramation@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
1
  # pgsql-deparser
2
2
 
3
3
  <p align="center" width="100%">
4
- <img height="120" src="https://github.com/launchql/pgsql-parser/assets/545047/6440fa7d-918b-4a3b-8d1b-755d85de8bea" />
4
+ <img height="120" src="https://github.com/constructive-io/pgsql-parser/assets/545047/6440fa7d-918b-4a3b-8d1b-755d85de8bea" />
5
5
  </p>
6
6
 
7
7
  <p align="center" width="100%">
8
- <a href="https://github.com/launchql/pgsql-parser/actions/workflows/run-tests.yaml">
9
- <img height="20" src="https://github.com/launchql/pgsql-parser/actions/workflows/run-tests.yaml/badge.svg" />
8
+ <a href="https://github.com/constructive-io/pgsql-parser/actions/workflows/run-tests.yaml">
9
+ <img height="20" src="https://github.com/constructive-io/pgsql-parser/actions/workflows/run-tests.yaml/badge.svg" />
10
10
  </a>
11
11
  <a href="https://www.npmjs.com/package/pgsql-deparser"><img height="20" src="https://img.shields.io/npm/dt/pgsql-deparser"></a>
12
12
  <a href="https://www.npmjs.com/package/pgsql-deparser"><img height="20" src="https://img.shields.io/npm/dw/pgsql-deparser"/></a>
13
- <a href="https://github.com/launchql/pgsql-parser/blob/main/LICENSE-MIT"><img height="20" src="https://img.shields.io/badge/license-MIT-blue.svg"/></a>
14
- <a href="https://www.npmjs.com/package/pgsql-deparser"><img height="20" src="https://img.shields.io/github/package-json/v/launchql/pgsql-parser?filename=packages%2Fdeparser%2Fpackage.json"/></a>
13
+ <a href="https://github.com/constructive-io/pgsql-parser/blob/main/LICENSE-MIT"><img height="20" src="https://img.shields.io/badge/license-MIT-blue.svg"/></a>
14
+ <a href="https://www.npmjs.com/package/pgsql-deparser"><img height="20" src="https://img.shields.io/github/package-json/v/constructive-io/pgsql-parser?filename=packages%2Fdeparser%2Fpackage.json"/></a>
15
15
  </p>
16
16
 
17
- `pgsql-deparser` is the lightning-fast, pure TypeScript solution for converting PostgreSQL ASTs back into SQL queries. Perfect companion to [`pgsql-parser`](https://github.com/launchql/pgsql-parser), this focused tool delivers SQL generation without any native dependencies or WebAssembly overhead.
17
+ `pgsql-deparser` is the lightning-fast, pure TypeScript solution for converting PostgreSQL ASTs back into SQL queries. Perfect companion to [`pgsql-parser`](https://github.com/constructive-io/pgsql-parser), this focused tool delivers SQL generation without any native dependencies or WebAssembly overhead.
18
18
 
19
19
  ## Installation
20
20
 
@@ -33,7 +33,7 @@ npm install pgsql-deparser
33
33
 
34
34
  The `pgsql-deparser` module serializes ASTs to SQL in pure TypeScript, avoiding the full parser's native dependencies. It's useful when only SQL string conversion from ASTs is needed, and is written in pure TypeScript for easy cross-environment deployment.
35
35
 
36
- Here's how you can use the deparser in your TypeScript code, using [`@pgsql/utils`](https://github.com/launchql/pgsql-parser/tree/main/packages/utils) to create an AST for `deparse`:
36
+ Here's how you can use the deparser in your TypeScript code, using [`@pgsql/utils`](https://github.com/constructive-io/pgsql-parser/tree/main/packages/utils) to create an AST for `deparse`:
37
37
 
38
38
  ```ts
39
39
  import * as t from '@pgsql/utils';
@@ -131,7 +131,7 @@ const sql2 = deparse(selectAst, { pretty: true });
131
131
  // active = true;
132
132
  ```
133
133
 
134
- For complete documentation and advanced options, see [DEPARSER_USAGE.md](../../DEPARSER_USAGE.md).
134
+ For complete documentation and advanced options, see [DEPARSER_USAGE.md](https://github.com/constructive-io/pgsql-parser/tree/main/packages/deparser/DEPARSER_USAGE.md).
135
135
 
136
136
  ## Why Use `pgsql-deparser`?
137
137
 
@@ -147,6 +147,8 @@ Built on the excellent work of several contributors:
147
147
  * **[Ethan Resnick](https://github.com/ethanresnick)** for the original Node.js N-API bindings
148
148
  * **[Zac McCormick](https://github.com/zhm)** for the foundational [node-pg-query-native](https://github.com/zhm/node-pg-query-native) parser
149
149
 
150
+ **🛠 Built by the [Constructive](https://constructive.io) team — creators of modular Postgres tooling for secure, composable backends. If you like our work, contribute on [GitHub](https://github.com/constructive-io).**
151
+
150
152
  ## Related
151
153
 
152
154
  * [pgsql-parser](https://www.npmjs.com/package/pgsql-parser): The real PostgreSQL parser for Node.js, providing symmetric parsing and deparsing of SQL statements with actual PostgreSQL parser integration.
@@ -157,10 +159,10 @@ Built on the excellent work of several contributors:
157
159
  * [@pgsql/utils](https://www.npmjs.com/package/@pgsql/utils): A comprehensive utility library for PostgreSQL, offering type-safe AST node creation and enum value conversions, simplifying the construction and manipulation of PostgreSQL ASTs.
158
160
  * [@pgsql/traverse](https://www.npmjs.com/package/@pgsql/traverse): PostgreSQL AST traversal utilities for pgsql-parser, providing a visitor pattern for traversing PostgreSQL Abstract Syntax Tree nodes, similar to Babel's traverse functionality but specifically designed for PostgreSQL AST structures.
159
161
  * [pg-proto-parser](https://www.npmjs.com/package/pg-proto-parser): A TypeScript tool that parses PostgreSQL Protocol Buffers definitions to generate TypeScript interfaces, utility functions, and JSON mappings for enums.
160
- * [libpg-query](https://github.com/launchql/libpg-query-node): The real PostgreSQL parser exposed for Node.js, used primarily in `pgsql-parser` for parsing and deparsing SQL queries.
162
+ * [libpg-query](https://github.com/constructive-io/libpg-query-node): The real PostgreSQL parser exposed for Node.js, used primarily in `pgsql-parser` for parsing and deparsing SQL queries.
161
163
 
162
164
  ## Disclaimer
163
165
 
164
166
  AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED "AS IS", AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.
165
167
 
166
- No developer or entity involved in creating Software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the Software code or Software CLI, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.
168
+ No developer or entity involved in creating Software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the Software code or Software CLI, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.
@@ -0,0 +1,308 @@
1
+ /**
2
+ * Auto-generated file with types stripped for better tree-shaking
3
+ * DO NOT EDIT - Generated by strip-deparser-types.ts
4
+ */
5
+ import { DeparserContext, DeparserVisitor } from './visitors/base';
6
+ export interface DeparserOptions {
7
+ newline?: string;
8
+ tab?: string;
9
+ functionDelimiter?: string;
10
+ functionDelimiterFallback?: string;
11
+ pretty?: boolean;
12
+ }
13
+ /**
14
+ * Deparser - Converts PostgreSQL AST nodes back to SQL strings
15
+ *
16
+ * Entry Points:
17
+ * 1. ParseResult (from libpg-query) - The complete parse result
18
+ * Structure: { version: number, stmts: RawStmt[] }
19
+ * Note: stmts is "repeated RawStmt" in protobuf, so array contains RawStmt
20
+ * objects inline (not wrapped as { RawStmt: ... } nodes)
21
+ * Example: { version: 170004, stmts: [{ stmt: {...}, stmt_len: 32 }] }
22
+ *
23
+ * 2. Wrapped ParseResult - When explicitly wrapped as a Node
24
+ * Structure: { ParseResult: { version: number, stmts: RawStmt[] } }
25
+ *
26
+ * 3. Wrapped RawStmt - When explicitly wrapped as a Node
27
+ * Structure: { RawStmt: { stmt: Node, stmt_len?: number } }
28
+ *
29
+ * 4. Array of Nodes - Multiple statements to deparse
30
+ * Can be: Node[] (e.g., SelectStmt, InsertStmt, etc.)
31
+ *
32
+ * 5. Single Node - Individual statement node
33
+ * Example: { SelectStmt: {...} }, { InsertStmt: {...} }, etc.
34
+ *
35
+ * The deparser automatically detects bare ParseResult objects for backward
36
+ * compatibility and wraps them internally for consistent processing.
37
+ */
38
+ export declare class Deparser implements DeparserVisitor {
39
+ private tree;
40
+ private options;
41
+ constructor(tree: any | any[] | any, opts?: DeparserOptions);
42
+ /**
43
+ * Static method to deparse PostgreSQL AST nodes to SQL
44
+ * @param query - Can be:
45
+ * - ParseResult from libpg-query (e.g., { version: 170004, stmts: [...] })
46
+ * - Wrapped ParseResult node (e.g., { ParseResult: {...} })
47
+ * - Wrapped RawStmt node (e.g., { RawStmt: {...} })
48
+ * - Array of Nodes
49
+ * - Single Node (e.g., { SelectStmt: {...} })
50
+ * @param opts - Deparser options for formatting
51
+ * @returns The deparsed SQL string
52
+ */
53
+ static deparse(query: any | any[] | any, opts?: DeparserOptions): string;
54
+ deparseQuery(): string;
55
+ /**
56
+ * Get the appropriate function delimiter based on the body content
57
+ * @param body The function body to check
58
+ * @returns The delimiter to use
59
+ */
60
+ private getFunctionDelimiter;
61
+ /**
62
+ * Maps ObjectType enum values to their corresponding SQL keywords
63
+ * Used by AlterOwnerStmt, AlterObjectSchemaStmt, and other statements that need object type keywords
64
+ */
65
+ private getObjectTypeKeyword;
66
+ deparse(node: any, context?: DeparserContext): string | null;
67
+ visit(node: any, context?: DeparserContext): string;
68
+ getNodeType(node: any): string;
69
+ getNodeData(node: any): any;
70
+ ParseResult(node: any, context: DeparserContext): string;
71
+ RawStmt(node: any, context: DeparserContext): string;
72
+ SelectStmt(node: any, context: DeparserContext): string;
73
+ A_Expr(node: any, context: DeparserContext): string;
74
+ deparseOperatorName(name: any, context: DeparserContext): string;
75
+ private getOperatorPrecedence;
76
+ private needsParentheses;
77
+ private isComplexExpression;
78
+ private isComplexSelectTarget;
79
+ visitBetweenRange(rexpr: any, context: DeparserContext): string;
80
+ InsertStmt(node: any, context: DeparserContext): string;
81
+ UpdateStmt(node: any, context: DeparserContext): string;
82
+ DeleteStmt(node: any, context: DeparserContext): string;
83
+ WithClause(node: any, context: DeparserContext): string;
84
+ ResTarget(node: any, context: DeparserContext): string;
85
+ deparseReturningList(list: any, context: DeparserContext): string;
86
+ BoolExpr(node: any, context: DeparserContext): string;
87
+ FuncCall(node: any, context: DeparserContext): string;
88
+ FuncExpr(node: any, context: DeparserContext): string;
89
+ A_Const(node: any, context: DeparserContext): string;
90
+ ColumnRef(node: any, context: DeparserContext): string;
91
+ TypeName(node: any, context: DeparserContext): string;
92
+ Alias(node: any, context: DeparserContext): string;
93
+ RangeVar(node: any, context: DeparserContext): string;
94
+ formatIntervalTypeMods(typmods: any, context: DeparserContext): string | null;
95
+ formatTypeMods(typmods: any, context: DeparserContext): string | null;
96
+ formatSingleTypeMod(typemod: number, typeName: string): string | null;
97
+ getPgCatalogTypeName(typeName: string, size: string | null): string;
98
+ isPgCatalogType(typeName: string): boolean;
99
+ A_ArrayExpr(node: any, context: DeparserContext): string;
100
+ A_Indices(node: any, context: DeparserContext): string;
101
+ A_Indirection(node: any, context: DeparserContext): string;
102
+ A_Star(node: any, context: DeparserContext): string;
103
+ CaseExpr(node: any, context: DeparserContext): string;
104
+ CoalesceExpr(node: any, context: DeparserContext): string;
105
+ TypeCast(node: any, context: DeparserContext): string;
106
+ CollateClause(node: any, context: DeparserContext): string;
107
+ BooleanTest(node: any, context: DeparserContext): string;
108
+ NullTest(node: any, context: DeparserContext): string;
109
+ private static readonly RESERVED_WORDS;
110
+ private static needsQuotes;
111
+ quoteIfNeeded(value: string): string;
112
+ preserveOperatorDefElemCase(defName: string): string;
113
+ String(node: any, context: DeparserContext): string;
114
+ Integer(node: any, context: DeparserContext): string;
115
+ Float(node: any, context: DeparserContext): string;
116
+ Boolean(node: any, context: DeparserContext): string;
117
+ BitString(node: any, context: DeparserContext): string;
118
+ Null(node: any, context: DeparserContext): string;
119
+ List(node: any, context: DeparserContext): string;
120
+ CreateStmt(node: any, context: DeparserContext): string;
121
+ ColumnDef(node: any, context: DeparserContext): string;
122
+ Constraint(node: any, context: DeparserContext): string;
123
+ SubLink(node: any, context: DeparserContext): string;
124
+ CaseWhen(node: any, context: DeparserContext): string;
125
+ WindowDef(node: any, context: DeparserContext): string;
126
+ formatWindowFrame(node: any, context: DeparserContext): string | null;
127
+ SortBy(node: any, context: DeparserContext): string;
128
+ GroupingSet(node: any, context: DeparserContext): string;
129
+ CommonTableExpr(node: any, context: DeparserContext): string;
130
+ ParamRef(node: any, context: DeparserContext): string;
131
+ LockingClause(node: any, context: DeparserContext): string;
132
+ MinMaxExpr(node: any, context: DeparserContext): string;
133
+ RowExpr(node: any, context: DeparserContext): string;
134
+ OpExpr(node: any, context: DeparserContext): string;
135
+ DistinctExpr(node: any, context: DeparserContext): string;
136
+ NullIfExpr(node: any, context: DeparserContext): string;
137
+ ScalarArrayOpExpr(node: any, context: DeparserContext): string;
138
+ Aggref(node: any, context: DeparserContext): string;
139
+ WindowFunc(node: any, context: DeparserContext): string;
140
+ FieldSelect(node: any, context: DeparserContext): string;
141
+ RelabelType(node: any, context: DeparserContext): string;
142
+ CoerceViaIO(node: any, context: DeparserContext): string;
143
+ ArrayCoerceExpr(node: any, context: DeparserContext): string;
144
+ ConvertRowtypeExpr(node: any, context: DeparserContext): string;
145
+ NamedArgExpr(node: any, context: DeparserContext): string;
146
+ ViewStmt(node: any, context: DeparserContext): string;
147
+ IndexStmt(node: any, context: DeparserContext): string;
148
+ IndexElem(node: any, context: DeparserContext): string;
149
+ PartitionElem(node: any, context: DeparserContext): string;
150
+ PartitionCmd(node: any, context: DeparserContext): string;
151
+ private getAggFunctionName;
152
+ private getWindowFunctionName;
153
+ private getOperatorName;
154
+ JoinExpr(node: any, context: DeparserContext): string;
155
+ FromExpr(node: any, context: DeparserContext): string;
156
+ TransactionStmt(node: any, context: DeparserContext): string;
157
+ VariableSetStmt(node: any, context: DeparserContext): string;
158
+ VariableShowStmt(node: any, context: DeparserContext): string;
159
+ CreateSchemaStmt(node: any, context: DeparserContext): string;
160
+ RoleSpec(node: any, context: DeparserContext): string;
161
+ roletype(node: any, context: DeparserContext): string;
162
+ DropStmt(node: any, context: DeparserContext): string;
163
+ TruncateStmt(node: any, context: DeparserContext): string;
164
+ ReturnStmt(node: any, context: DeparserContext): string;
165
+ PLAssignStmt(node: any, context: DeparserContext): string;
166
+ CopyStmt(node: any, context: DeparserContext): string;
167
+ AlterTableStmt(node: any, context: DeparserContext): string;
168
+ AlterTableCmd(node: any, context: DeparserContext): string;
169
+ CreateFunctionStmt(node: any, context: DeparserContext): string;
170
+ FunctionParameter(node: any, context: DeparserContext): string;
171
+ CreateEnumStmt(node: any, context: DeparserContext): string;
172
+ CreateDomainStmt(node: any, context: DeparserContext): string;
173
+ CreateRoleStmt(node: any, context: DeparserContext): string;
174
+ DefElem(node: any, context: DeparserContext): string;
175
+ CreateTableSpaceStmt(node: any, context: DeparserContext): string;
176
+ DropTableSpaceStmt(node: any, context: DeparserContext): string;
177
+ AlterTableSpaceOptionsStmt(node: any, context: DeparserContext): string;
178
+ CreateExtensionStmt(node: any, context: DeparserContext): string;
179
+ AlterExtensionStmt(node: any, context: DeparserContext): string;
180
+ AlterExtensionContentsStmt(node: any, context: DeparserContext): string;
181
+ CreateFdwStmt(node: any, context: DeparserContext): string;
182
+ SetOperationStmt(node: any, context: DeparserContext): string;
183
+ ReplicaIdentityStmt(node: any, context: DeparserContext): string;
184
+ AlterCollationStmt(node: any, context: DeparserContext): string;
185
+ AlterDomainStmt(node: any, context: DeparserContext): string;
186
+ PrepareStmt(node: any, context: DeparserContext): string;
187
+ ExecuteStmt(node: any, context: DeparserContext): string;
188
+ DeallocateStmt(node: any, context: DeparserContext): string;
189
+ NotifyStmt(node: any, context: DeparserContext): string;
190
+ ListenStmt(node: any, context: DeparserContext): string;
191
+ UnlistenStmt(node: any, context: DeparserContext): string;
192
+ CheckPointStmt(node: any, context: DeparserContext): string;
193
+ LoadStmt(node: any, context: DeparserContext): string;
194
+ DiscardStmt(node: any, context: DeparserContext): string;
195
+ CommentStmt(node: any, context: DeparserContext): string;
196
+ LockStmt(node: any, context: DeparserContext): string;
197
+ CreatePolicyStmt(node: any, context: DeparserContext): string;
198
+ AlterPolicyStmt(node: any, context: DeparserContext): string;
199
+ CreateUserMappingStmt(node: any, context: DeparserContext): string;
200
+ CreateStatsStmt(node: any, context: DeparserContext): string;
201
+ StatsElem(node: any, context: DeparserContext): string;
202
+ CreatePublicationStmt(node: any, context: DeparserContext): string;
203
+ CreateSubscriptionStmt(node: any, context: DeparserContext): string;
204
+ AlterPublicationStmt(node: any, context: DeparserContext): string;
205
+ AlterSubscriptionStmt(node: any, context: DeparserContext): string;
206
+ DropSubscriptionStmt(node: any, context: DeparserContext): string;
207
+ DoStmt(node: any, context: DeparserContext): string;
208
+ private generateUniqueDollarTag;
209
+ InlineCodeBlock(node: any, context: DeparserContext): string;
210
+ CallContext(node: any, context: DeparserContext): string;
211
+ ConstraintsSetStmt(node: any, context: DeparserContext): string;
212
+ AlterSystemStmt(node: any, context: DeparserContext): string;
213
+ VacuumRelation(node: any, context: DeparserContext): string;
214
+ DropOwnedStmt(node: any, context: DeparserContext): string;
215
+ ReassignOwnedStmt(node: any, context: DeparserContext): string;
216
+ AlterTSDictionaryStmt(node: any, context: DeparserContext): string;
217
+ AlterTSConfigurationStmt(node: any, context: DeparserContext): string;
218
+ ClosePortalStmt(node: any, context: DeparserContext): string;
219
+ FetchStmt(node: any, context: DeparserContext): string;
220
+ AlterStatsStmt(node: any, context: DeparserContext): string;
221
+ ObjectWithArgs(node: any, context: DeparserContext): string;
222
+ AlterOperatorStmt(node: any, context: DeparserContext): string;
223
+ AlterFdwStmt(node: any, context: DeparserContext): string;
224
+ CreateForeignServerStmt(node: any, context: DeparserContext): string;
225
+ AlterForeignServerStmt(node: any, context: DeparserContext): string;
226
+ AlterUserMappingStmt(node: any, context: DeparserContext): string;
227
+ DropUserMappingStmt(node: any, context: DeparserContext): string;
228
+ ImportForeignSchemaStmt(node: any, context: DeparserContext): string;
229
+ ClusterStmt(node: any, context: DeparserContext): string;
230
+ VacuumStmt(node: any, context: DeparserContext): string;
231
+ ExplainStmt(node: any, context: DeparserContext): string;
232
+ ReindexStmt(node: any, context: DeparserContext): string;
233
+ CallStmt(node: any, context: DeparserContext): string;
234
+ CreatedbStmt(node: any, context: DeparserContext): string;
235
+ DropdbStmt(node: any, context: DeparserContext): string;
236
+ RenameStmt(node: any, context: DeparserContext): string;
237
+ AlterOwnerStmt(node: any, context: DeparserContext): string;
238
+ GrantStmt(node: any, context: DeparserContext): string;
239
+ GrantRoleStmt(node: any, context: DeparserContext): string;
240
+ SecLabelStmt(node: any, context: DeparserContext): string;
241
+ AlterDefaultPrivilegesStmt(node: any, context: DeparserContext): string;
242
+ CreateConversionStmt(node: any, context: DeparserContext): string;
243
+ CreateCastStmt(node: any, context: DeparserContext): string;
244
+ CreatePLangStmt(node: any, context: DeparserContext): string;
245
+ CreateTransformStmt(node: any, context: DeparserContext): string;
246
+ CreateTrigStmt(node: any, context: DeparserContext): string;
247
+ TriggerTransition(node: any, context: DeparserContext): string;
248
+ CreateEventTrigStmt(node: any, context: DeparserContext): string;
249
+ AlterEventTrigStmt(node: any, context: DeparserContext): string;
250
+ CreateOpClassStmt(node: any, context: DeparserContext): string;
251
+ CreateOpFamilyStmt(node: any, context: DeparserContext): string;
252
+ AlterOpFamilyStmt(node: any, context: DeparserContext): string;
253
+ MergeStmt(node: any, context: DeparserContext): string;
254
+ AlterTableMoveAllStmt(node: any, context: DeparserContext): string;
255
+ CreateSeqStmt(node: any, context: DeparserContext): string;
256
+ AlterSeqStmt(node: any, context: DeparserContext): string;
257
+ CompositeTypeStmt(node: any, context: DeparserContext): string;
258
+ CreateRangeStmt(node: any, context: DeparserContext): string;
259
+ AlterEnumStmt(node: any, context: DeparserContext): string;
260
+ AlterTypeStmt(node: any, context: DeparserContext): string;
261
+ AlterRoleStmt(node: any, context: DeparserContext): string;
262
+ DropRoleStmt(node: any, context: DeparserContext): string;
263
+ targetList(node: any, context: DeparserContext): string;
264
+ CreateAggregateStmt(node: any, context: DeparserContext): string;
265
+ CreateTableAsStmt(node: any, context: DeparserContext): string;
266
+ RefreshMatViewStmt(node: any, context: DeparserContext): string;
267
+ AccessPriv(node: any, context: DeparserContext): string;
268
+ aliasname(node: any, context: DeparserContext): string;
269
+ DefineStmt(node: any, context: DeparserContext): string;
270
+ AlterDatabaseStmt(node: any, context: DeparserContext): string;
271
+ AlterDatabaseRefreshCollStmt(node: any, context: DeparserContext): string;
272
+ AlterDatabaseSetStmt(node: any, context: DeparserContext): string;
273
+ DeclareCursorStmt(node: any, context: DeparserContext): string;
274
+ PublicationObjSpec(node: any, context: DeparserContext): string;
275
+ PublicationTable(node: any, context: DeparserContext): string;
276
+ CreateAmStmt(node: any, context: DeparserContext): string;
277
+ IntoClause(node: any, context: DeparserContext): string;
278
+ OnConflictExpr(node: any, context: DeparserContext): string;
279
+ ScanToken(node: any, context: DeparserContext): string;
280
+ CreateOpClassItem(node: any, context: DeparserContext): string;
281
+ Var(node: any, context: DeparserContext): string;
282
+ TableFunc(node: any, context: DeparserContext): string;
283
+ RangeTableFunc(node: any, context: DeparserContext): string;
284
+ RangeTableFuncCol(node: any, context: DeparserContext): string;
285
+ JsonArrayQueryConstructor(node: any, context: DeparserContext): string;
286
+ RangeFunction(node: any, context: DeparserContext): string;
287
+ XmlExpr(node: any, context: DeparserContext): string;
288
+ schemaname(node: any, context: DeparserContext): string;
289
+ RangeTableSample(node: any, context: DeparserContext): string;
290
+ XmlSerialize(node: any, context: DeparserContext): string;
291
+ ctes(node: any, context: DeparserContext): string;
292
+ RuleStmt(node: any, context: DeparserContext): string;
293
+ RangeSubselect(node: any, context: DeparserContext): string;
294
+ relname(node: any, context: DeparserContext): string;
295
+ rel(node: any, context: DeparserContext): string;
296
+ objname(node: any, context: DeparserContext): string;
297
+ SQLValueFunction(node: any, context: DeparserContext): string;
298
+ GroupingFunc(node: any, context: DeparserContext): string;
299
+ MultiAssignRef(node: any, context: DeparserContext): string;
300
+ SetToDefault(node: any, context: DeparserContext): string;
301
+ CurrentOfExpr(node: any, context: DeparserContext): string;
302
+ TableLikeClause(node: any, context: DeparserContext): string;
303
+ AlterFunctionStmt(node: any, context: DeparserContext): string;
304
+ AlterObjectSchemaStmt(node: any, context: DeparserContext): string;
305
+ AlterRoleSetStmt(node: any, context: DeparserContext): string;
306
+ CreateForeignTableStmt(node: any, context: DeparserContext): string;
307
+ private containsMultilineStringLiteral;
308
+ }