@quereus/quereus 3.1.1 → 3.1.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/dist/src/core/database.d.ts +17 -3
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +76 -3
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts +0 -1
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +187 -78
- package/dist/src/emit/ast-stringify.js.map +1 -1
- package/dist/src/parser/ast.d.ts +0 -4
- package/dist/src/parser/ast.d.ts.map +1 -1
- package/dist/src/parser/parser.d.ts +9 -1
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +33 -20
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +23 -1
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +51 -37
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +0 -2
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +12 -52
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +28 -2
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/runtime/emit/transaction.d.ts.map +1 -1
- package/dist/src/runtime/emit/transaction.js +4 -22
- package/dist/src/runtime/emit/transaction.js.map +1 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +0 -4
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/vtab/capabilities.d.ts +26 -0
- package/dist/src/vtab/capabilities.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +2 -0
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +2 -0
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/module.d.ts +4 -1
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -160,7 +160,7 @@ export function expressionToString(expr) {
|
|
|
160
160
|
return `${leftStr} ${expr.operator.toLowerCase()} ${rightStr}`;
|
|
161
161
|
}
|
|
162
162
|
case 'unary': {
|
|
163
|
-
const exprStr = expr
|
|
163
|
+
const exprStr = unaryBodyNeedsParens(expr)
|
|
164
164
|
? `(${expressionToString(expr.expr)})`
|
|
165
165
|
: expressionToString(expr.expr);
|
|
166
166
|
// Handle postfix operators like IS NULL, IS NOT NULL
|
|
@@ -168,7 +168,7 @@ export function expressionToString(expr) {
|
|
|
168
168
|
return `${exprStr} ${expr.operator.toLowerCase()}`;
|
|
169
169
|
}
|
|
170
170
|
else if (expr.operator.toUpperCase() === 'NOT') {
|
|
171
|
-
return
|
|
171
|
+
return `not ${exprStr}`;
|
|
172
172
|
}
|
|
173
173
|
return `${expr.operator.toLowerCase()}${exprStr}`;
|
|
174
174
|
}
|
|
@@ -244,6 +244,14 @@ export function expressionToString(expr) {
|
|
|
244
244
|
return '[unknown_expr]';
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
|
+
// Determines whether the body of a unary expression must be parenthesised so
|
|
248
|
+
// the emitted SQL re-parses to the same AST. With prefix NOT bound above all
|
|
249
|
+
// predicates (IS [NOT] NULL, IN, BETWEEN, LIKE, comparison), most inner shapes
|
|
250
|
+
// round-trip cleanly without parens — only a `binary` body could re-associate
|
|
251
|
+
// (e.g. `not a and b` would be read as `(not a) and b`).
|
|
252
|
+
function unaryBodyNeedsParens(expr) {
|
|
253
|
+
return expr.expr.type === 'binary';
|
|
254
|
+
}
|
|
247
255
|
// Helper to determine if parentheses are needed for binary operations
|
|
248
256
|
function needsParens(expr, parentOp, side) {
|
|
249
257
|
if (expr.type !== 'binary')
|
|
@@ -367,12 +375,21 @@ export function selectToString(stmt) {
|
|
|
367
375
|
parts.push('offset', expressionToString(stmt.offset));
|
|
368
376
|
}
|
|
369
377
|
let result = parts.join(' ');
|
|
370
|
-
if (stmt.
|
|
371
|
-
result += stmt.
|
|
372
|
-
result += selectToString(stmt.
|
|
378
|
+
if (stmt.compound) {
|
|
379
|
+
result += ` ${compoundOpToKeyword(stmt.compound.op)} `;
|
|
380
|
+
result += selectToString(stmt.compound.select);
|
|
373
381
|
}
|
|
374
382
|
return result;
|
|
375
383
|
}
|
|
384
|
+
function compoundOpToKeyword(op) {
|
|
385
|
+
switch (op) {
|
|
386
|
+
case 'union': return 'union';
|
|
387
|
+
case 'unionAll': return 'union all';
|
|
388
|
+
case 'intersect': return 'intersect';
|
|
389
|
+
case 'except': return 'except';
|
|
390
|
+
case 'diff': return 'diff';
|
|
391
|
+
}
|
|
392
|
+
}
|
|
376
393
|
function withClauseToString(withClause) {
|
|
377
394
|
let result = 'with';
|
|
378
395
|
if (withClause.recursive)
|
|
@@ -469,7 +486,11 @@ export function insertToString(stmt) {
|
|
|
469
486
|
if (stmt.withClause) {
|
|
470
487
|
parts.push(withClauseToString(stmt.withClause));
|
|
471
488
|
}
|
|
472
|
-
parts.push('insert
|
|
489
|
+
parts.push('insert');
|
|
490
|
+
if (stmt.onConflict && stmt.onConflict !== ConflictResolution.ABORT) {
|
|
491
|
+
parts.push('or', ConflictResolution[stmt.onConflict].toLowerCase());
|
|
492
|
+
}
|
|
493
|
+
parts.push('into', expressionToString(stmt.table));
|
|
473
494
|
if (stmt.columns && stmt.columns.length > 0) {
|
|
474
495
|
parts.push(`(${stmt.columns.map(quoteIdentifier).join(', ')})`);
|
|
475
496
|
}
|
|
@@ -484,9 +505,6 @@ export function insertToString(stmt) {
|
|
|
484
505
|
else if (stmt.select) {
|
|
485
506
|
parts.push(selectToString(stmt.select));
|
|
486
507
|
}
|
|
487
|
-
if (stmt.onConflict && stmt.onConflict !== ConflictResolution.ABORT) {
|
|
488
|
-
parts.push(`on conflict ${ConflictResolution[stmt.onConflict].toLowerCase()}`);
|
|
489
|
-
}
|
|
490
508
|
// UPSERT clauses (ON CONFLICT DO ...)
|
|
491
509
|
if (stmt.upsertClauses) {
|
|
492
510
|
for (const upsert of stmt.upsertClauses) {
|
|
@@ -597,15 +615,8 @@ export function valuesToString(stmt) {
|
|
|
597
615
|
const valueRows = stmt.values.map(row => `(${row.map(expressionToString).join(', ')})`);
|
|
598
616
|
return `values ${valueRows.join(', ')}`;
|
|
599
617
|
}
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
if (stmt.isUnique)
|
|
603
|
-
parts.push('unique');
|
|
604
|
-
parts.push('index');
|
|
605
|
-
if (stmt.ifNotExists)
|
|
606
|
-
parts.push('if not exists');
|
|
607
|
-
parts.push(expressionToString(stmt.index), 'on', expressionToString(stmt.table));
|
|
608
|
-
const columns = stmt.columns.map(col => {
|
|
618
|
+
function indexedColumnsToString(cols) {
|
|
619
|
+
return cols.map(col => {
|
|
609
620
|
if (col.name) {
|
|
610
621
|
let colStr = quoteIdentifier(col.name);
|
|
611
622
|
if (col.collation)
|
|
@@ -618,8 +629,17 @@ export function createIndexToString(stmt) {
|
|
|
618
629
|
return expressionToString(col.expr);
|
|
619
630
|
}
|
|
620
631
|
return '';
|
|
621
|
-
}).filter(s => s);
|
|
622
|
-
|
|
632
|
+
}).filter(s => s).join(', ');
|
|
633
|
+
}
|
|
634
|
+
export function createIndexToString(stmt) {
|
|
635
|
+
const parts = ['create'];
|
|
636
|
+
if (stmt.isUnique)
|
|
637
|
+
parts.push('unique');
|
|
638
|
+
parts.push('index');
|
|
639
|
+
if (stmt.ifNotExists)
|
|
640
|
+
parts.push('if not exists');
|
|
641
|
+
parts.push(expressionToString(stmt.index), 'on', expressionToString(stmt.table));
|
|
642
|
+
parts.push(`(${indexedColumnsToString(stmt.columns)})`);
|
|
623
643
|
if (stmt.where) {
|
|
624
644
|
parts.push('where', expressionToString(stmt.where));
|
|
625
645
|
}
|
|
@@ -755,23 +775,87 @@ function declareSchemaToString(stmt) {
|
|
|
755
775
|
return s;
|
|
756
776
|
}
|
|
757
777
|
function declareItemToString(it) {
|
|
758
|
-
|
|
759
|
-
return
|
|
778
|
+
switch (it.type) {
|
|
779
|
+
case 'declaredTable': return declaredTableToString(it);
|
|
780
|
+
case 'declaredIndex': return declaredIndexToString(it);
|
|
781
|
+
case 'declaredView': return declaredViewToString(it);
|
|
782
|
+
case 'declaredSeed': return declaredSeedToString(it);
|
|
783
|
+
case 'declaredAssertion': return declaredAssertionToString(it);
|
|
784
|
+
case 'declareIgnored': return it.text || '-- ignored';
|
|
760
785
|
}
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
786
|
+
}
|
|
787
|
+
function declaredTableToString(it) {
|
|
788
|
+
const stmt = it.tableStmt;
|
|
789
|
+
const parts = ['table', quoteIdentifier(stmt.table.name)];
|
|
790
|
+
const using = moduleClauseToString(stmt);
|
|
791
|
+
if (using)
|
|
792
|
+
parts.push(using);
|
|
793
|
+
parts.push(tableBodyDefsToString(stmt));
|
|
794
|
+
const ctx = contextClauseToString(stmt);
|
|
795
|
+
if (ctx)
|
|
796
|
+
parts.push(ctx);
|
|
797
|
+
const tagStr = tagsClauseToString(stmt.tags);
|
|
798
|
+
if (tagStr)
|
|
799
|
+
parts.push(tagStr.trimStart());
|
|
800
|
+
return parts.join(' ');
|
|
801
|
+
}
|
|
802
|
+
function declaredIndexToString(it) {
|
|
803
|
+
const stmt = it.indexStmt;
|
|
804
|
+
const parts = [];
|
|
805
|
+
if (stmt.isUnique)
|
|
806
|
+
parts.push('unique');
|
|
807
|
+
parts.push('index', quoteIdentifier(stmt.index.name));
|
|
808
|
+
parts.push('on', quoteIdentifier(stmt.table.name));
|
|
809
|
+
parts.push(`(${indexedColumnsToString(stmt.columns)})`);
|
|
810
|
+
const tagStr = tagsClauseToString(stmt.tags);
|
|
811
|
+
if (tagStr)
|
|
812
|
+
parts.push(tagStr.trimStart());
|
|
813
|
+
return parts.join(' ');
|
|
814
|
+
}
|
|
815
|
+
function declaredViewToString(it) {
|
|
816
|
+
const stmt = it.viewStmt;
|
|
817
|
+
const parts = ['view', quoteIdentifier(stmt.view.name)];
|
|
818
|
+
if (stmt.columns && stmt.columns.length > 0) {
|
|
819
|
+
parts.push(`(${stmt.columns.map(quoteIdentifier).join(', ')})`);
|
|
766
820
|
}
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
821
|
+
parts.push('as', selectToString(stmt.select));
|
|
822
|
+
const tagStr = tagsClauseToString(stmt.tags);
|
|
823
|
+
if (tagStr)
|
|
824
|
+
parts.push(tagStr.trimStart());
|
|
825
|
+
return parts.join(' ');
|
|
826
|
+
}
|
|
827
|
+
function declaredSeedToString(it) {
|
|
828
|
+
let s = `seed ${quoteIdentifier(it.tableName)}`;
|
|
829
|
+
if (it.columns && it.columns.length > 0) {
|
|
830
|
+
s += ` values (${it.columns.map(quoteIdentifier).join(', ')}) values`;
|
|
770
831
|
}
|
|
771
|
-
|
|
772
|
-
|
|
832
|
+
const rows = it.seedData?.map(r => `(${r.map(sqlValueToSqlLiteral).join(', ')})`).join(', ') ?? '';
|
|
833
|
+
s += ` (${rows})`;
|
|
834
|
+
return s;
|
|
835
|
+
}
|
|
836
|
+
function declaredAssertionToString(it) {
|
|
837
|
+
return `assertion ${quoteIdentifier(it.assertionStmt.name)} check (${expressionToString(it.assertionStmt.check)})`;
|
|
838
|
+
}
|
|
839
|
+
/** Renders an SqlValue as a SQL literal that re-parses to the same value. */
|
|
840
|
+
function sqlValueToSqlLiteral(value) {
|
|
841
|
+
if (value === null)
|
|
842
|
+
return 'null';
|
|
843
|
+
if (typeof value === 'boolean')
|
|
844
|
+
return value ? 'true' : 'false';
|
|
845
|
+
if (typeof value === 'string')
|
|
846
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
847
|
+
if (typeof value === 'number')
|
|
848
|
+
return String(value);
|
|
849
|
+
if (typeof value === 'bigint')
|
|
850
|
+
return value.toString();
|
|
851
|
+
if (value instanceof Uint8Array)
|
|
852
|
+
return `x'${uint8ArrayToHex(value)}'`;
|
|
853
|
+
// JSON object/array — emit as a quoted JSON string (parser will see a STRING literal)
|
|
854
|
+
if (typeof value === 'object') {
|
|
855
|
+
const json = JSON.stringify(value);
|
|
856
|
+
return `'${json.replace(/'/g, "''")}'`;
|
|
773
857
|
}
|
|
774
|
-
return
|
|
858
|
+
return String(value);
|
|
775
859
|
}
|
|
776
860
|
// Helper to stringify conflict clauses
|
|
777
861
|
function conflictToString(res) {
|
|
@@ -808,7 +892,12 @@ function columnConstraintsToString(constraints) {
|
|
|
808
892
|
s += conflictToString(c.onConflict);
|
|
809
893
|
break;
|
|
810
894
|
case 'check':
|
|
811
|
-
s +=
|
|
895
|
+
s += 'check';
|
|
896
|
+
if (c.operations && c.operations.length > 0) {
|
|
897
|
+
s += ` on ${c.operations.join(', ')}`;
|
|
898
|
+
}
|
|
899
|
+
s += ` (${expressionToString(c.expr)})`;
|
|
900
|
+
s += conflictToString(c.onConflict);
|
|
812
901
|
break;
|
|
813
902
|
case 'default':
|
|
814
903
|
s += `default ${expressionToString(c.expr)}`;
|
|
@@ -818,15 +907,7 @@ function columnConstraintsToString(constraints) {
|
|
|
818
907
|
break;
|
|
819
908
|
case 'foreignKey':
|
|
820
909
|
if (c.foreignKey) {
|
|
821
|
-
|
|
822
|
-
s += `references ${quoteIdentifier(fk.table)}`;
|
|
823
|
-
if (fk.columns && fk.columns.length > 0) {
|
|
824
|
-
s += `(${fk.columns.map(quoteIdentifier).join(', ')})`;
|
|
825
|
-
}
|
|
826
|
-
if (fk.onDelete)
|
|
827
|
-
s += ` on delete ${foreignKeyActionToString(fk.onDelete)}`;
|
|
828
|
-
if (fk.onUpdate)
|
|
829
|
-
s += ` on update ${foreignKeyActionToString(fk.onUpdate)}`;
|
|
910
|
+
s += foreignKeyClauseTail(c.foreignKey);
|
|
830
911
|
}
|
|
831
912
|
break;
|
|
832
913
|
case 'generated':
|
|
@@ -857,19 +938,17 @@ function tableConstraintsToString(constraints) {
|
|
|
857
938
|
s += conflictToString(c.onConflict);
|
|
858
939
|
break;
|
|
859
940
|
case 'check':
|
|
860
|
-
s +=
|
|
941
|
+
s += 'check';
|
|
942
|
+
if (c.operations && c.operations.length > 0) {
|
|
943
|
+
s += ` on ${c.operations.join(', ')}`;
|
|
944
|
+
}
|
|
945
|
+
s += ` (${expressionToString(c.expr)})`;
|
|
946
|
+
s += conflictToString(c.onConflict);
|
|
861
947
|
break;
|
|
862
948
|
case 'foreignKey':
|
|
863
949
|
if (c.foreignKey) {
|
|
864
|
-
|
|
865
|
-
s +=
|
|
866
|
-
if (fk.columns && fk.columns.length > 0) {
|
|
867
|
-
s += `(${fk.columns.map(quoteIdentifier).join(', ')})`;
|
|
868
|
-
}
|
|
869
|
-
if (fk.onDelete)
|
|
870
|
-
s += ` on delete ${foreignKeyActionToString(fk.onDelete)}`;
|
|
871
|
-
if (fk.onUpdate)
|
|
872
|
-
s += ` on update ${foreignKeyActionToString(fk.onUpdate)}`;
|
|
950
|
+
s += `foreign key (${c.columns.map(col => quoteIdentifier(col.name)).join(', ')}) `;
|
|
951
|
+
s += foreignKeyClauseTail(c.foreignKey);
|
|
873
952
|
}
|
|
874
953
|
break;
|
|
875
954
|
}
|
|
@@ -885,6 +964,24 @@ function foreignKeyActionToString(action) {
|
|
|
885
964
|
case 'restrict': return 'restrict';
|
|
886
965
|
}
|
|
887
966
|
}
|
|
967
|
+
/** Emits `references TBL(cols) [on delete …] [on update …] [[not] deferrable [initially …]]`. */
|
|
968
|
+
function foreignKeyClauseTail(fk) {
|
|
969
|
+
let s = `references ${quoteIdentifier(fk.table)}`;
|
|
970
|
+
if (fk.columns && fk.columns.length > 0) {
|
|
971
|
+
s += `(${fk.columns.map(quoteIdentifier).join(', ')})`;
|
|
972
|
+
}
|
|
973
|
+
if (fk.onDelete)
|
|
974
|
+
s += ` on delete ${foreignKeyActionToString(fk.onDelete)}`;
|
|
975
|
+
if (fk.onUpdate)
|
|
976
|
+
s += ` on update ${foreignKeyActionToString(fk.onUpdate)}`;
|
|
977
|
+
if (fk.deferrable !== undefined) {
|
|
978
|
+
s += fk.deferrable ? ' deferrable' : ' not deferrable';
|
|
979
|
+
if (fk.initiallyDeferred !== undefined) {
|
|
980
|
+
s += fk.initiallyDeferred ? ' initially deferred' : ' initially immediate';
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
return s;
|
|
984
|
+
}
|
|
888
985
|
/** Formats a tag value as a SQL literal */
|
|
889
986
|
function tagValueToString(value) {
|
|
890
987
|
if (value === null)
|
|
@@ -916,6 +1013,36 @@ export function columnDefToString(col) {
|
|
|
916
1013
|
colDef += tagsClauseToString(col.tags);
|
|
917
1014
|
return colDef;
|
|
918
1015
|
}
|
|
1016
|
+
function tableBodyDefsToString(stmt) {
|
|
1017
|
+
const definitions = stmt.columns.map(columnDefToString);
|
|
1018
|
+
const tableConstraints = tableConstraintsToString(stmt.constraints);
|
|
1019
|
+
if (tableConstraints)
|
|
1020
|
+
definitions.push(tableConstraints);
|
|
1021
|
+
return `(${definitions.join(', ')})`;
|
|
1022
|
+
}
|
|
1023
|
+
function moduleClauseToString(stmt) {
|
|
1024
|
+
if (!stmt.moduleName)
|
|
1025
|
+
return '';
|
|
1026
|
+
let s = `using ${stmt.moduleName}`;
|
|
1027
|
+
if (stmt.moduleArgs && Object.keys(stmt.moduleArgs).length > 0) {
|
|
1028
|
+
const args = Object.entries(stmt.moduleArgs).map(([key, value]) => `${quoteIdentifier(key)} = ${JSON.stringify(value)}`).join(', ');
|
|
1029
|
+
s += ` (${args})`;
|
|
1030
|
+
}
|
|
1031
|
+
return s;
|
|
1032
|
+
}
|
|
1033
|
+
function contextClauseToString(stmt) {
|
|
1034
|
+
if (!stmt.contextDefinitions || stmt.contextDefinitions.length === 0)
|
|
1035
|
+
return '';
|
|
1036
|
+
const contextVars = stmt.contextDefinitions.map(varDef => {
|
|
1037
|
+
let def = quoteIdentifier(varDef.name);
|
|
1038
|
+
if (varDef.dataType)
|
|
1039
|
+
def += ` ${varDef.dataType}`;
|
|
1040
|
+
if (varDef.notNull === false)
|
|
1041
|
+
def += ' NULL';
|
|
1042
|
+
return def;
|
|
1043
|
+
}).join(', ');
|
|
1044
|
+
return `with context (${contextVars})`;
|
|
1045
|
+
}
|
|
919
1046
|
export function createTableToString(stmt) {
|
|
920
1047
|
const parts = ['create'];
|
|
921
1048
|
if (stmt.isTemporary)
|
|
@@ -927,31 +1054,13 @@ export function createTableToString(stmt) {
|
|
|
927
1054
|
const tableName = quoteIdentifier(stmt.table.name);
|
|
928
1055
|
const schemaName = stmt.table.schema ? quoteIdentifier(stmt.table.schema) : undefined;
|
|
929
1056
|
parts.push(schemaName ? `${schemaName}.${tableName}` : tableName);
|
|
930
|
-
|
|
931
|
-
const
|
|
932
|
-
if (
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
if (
|
|
936
|
-
parts.push(
|
|
937
|
-
if (stmt.moduleArgs && Object.keys(stmt.moduleArgs).length > 0) {
|
|
938
|
-
const args = Object.entries(stmt.moduleArgs).map(([key, value]) => `${quoteIdentifier(key)} = ${JSON.stringify(value)}`).join(', ');
|
|
939
|
-
parts.push(`(${args})`);
|
|
940
|
-
}
|
|
941
|
-
}
|
|
942
|
-
// Add WITH CONTEXT clause if present
|
|
943
|
-
if (stmt.contextDefinitions && stmt.contextDefinitions.length > 0) {
|
|
944
|
-
const contextVars = stmt.contextDefinitions.map(varDef => {
|
|
945
|
-
let def = quoteIdentifier(varDef.name);
|
|
946
|
-
if (varDef.dataType)
|
|
947
|
-
def += ` ${varDef.dataType}`;
|
|
948
|
-
if (varDef.notNull === false)
|
|
949
|
-
def += ' NULL';
|
|
950
|
-
return def;
|
|
951
|
-
}).join(', ');
|
|
952
|
-
parts.push('with context', `(${contextVars})`);
|
|
953
|
-
}
|
|
954
|
-
// Add WITH TAGS clause if present
|
|
1057
|
+
parts.push(tableBodyDefsToString(stmt));
|
|
1058
|
+
const using = moduleClauseToString(stmt);
|
|
1059
|
+
if (using)
|
|
1060
|
+
parts.push(using);
|
|
1061
|
+
const ctx = contextClauseToString(stmt);
|
|
1062
|
+
if (ctx)
|
|
1063
|
+
parts.push(ctx);
|
|
955
1064
|
const tagStr = tagsClauseToString(stmt.tags);
|
|
956
1065
|
if (tagStr)
|
|
957
1066
|
parts.push(tagStr.trimStart());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-stringify.js","sourceRoot":"","sources":["../../../src/emit/ast-stringify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast-stringify.js","sourceRoot":"","sources":["../../../src/emit/ast-stringify.ts"],"names":[],"mappings":"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"}
|
package/dist/src/parser/ast.d.ts
CHANGED
|
@@ -344,8 +344,6 @@ export interface ColumnConstraint extends AstNode {
|
|
|
344
344
|
expr: Expression;
|
|
345
345
|
stored: boolean;
|
|
346
346
|
};
|
|
347
|
-
deferrable?: boolean;
|
|
348
|
-
initiallyDeferred?: boolean;
|
|
349
347
|
tags?: Record<string, SqlValue>;
|
|
350
348
|
}
|
|
351
349
|
export interface TableConstraint extends AstNode {
|
|
@@ -359,8 +357,6 @@ export interface TableConstraint extends AstNode {
|
|
|
359
357
|
operations?: RowOp[];
|
|
360
358
|
onConflict?: ConflictResolution;
|
|
361
359
|
foreignKey?: ForeignKeyClause;
|
|
362
|
-
deferrable?: boolean;
|
|
363
|
-
initiallyDeferred?: boolean;
|
|
364
360
|
tags?: Record<string, SqlValue>;
|
|
365
361
|
}
|
|
366
362
|
export interface ForeignKeyClause {
|