kysely 0.9.8 → 0.11.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/README.md +22 -16
- package/dist/cjs/dialect/dialect-adapter.d.ts +3 -2
- package/dist/cjs/dialect/mysql/mysql-adapter.js +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +3 -3
- package/dist/cjs/dialect/mysql/mysql-driver.js +25 -32
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +2 -2
- package/dist/cjs/dialect/postgres/postgres-driver.js +8 -19
- package/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-adapter.js +18 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +64 -0
- package/dist/cjs/dialect/sqlite/sqlite-dialect.js +33 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.d.ts +14 -0
- package/dist/cjs/dialect/sqlite/sqlite-driver.js +116 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +31 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
- package/dist/cjs/dialect/sqlite/sqlite-query-compiler.js +19 -0
- package/dist/cjs/driver/database-connection.d.ts +2 -2
- package/dist/cjs/driver/runtime-driver.js +3 -4
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/kysely.d.ts +6 -4
- package/dist/cjs/kysely.js +6 -4
- package/dist/cjs/migration/migration.d.ts +1 -1
- package/dist/cjs/migration/migration.js +3 -3
- package/dist/cjs/operation-node/column-definition-node.d.ts +8 -6
- package/dist/cjs/operation-node/column-definition-node.js +4 -4
- package/dist/cjs/operation-node/create-schema-node.d.ts +1 -2
- package/dist/cjs/operation-node/create-table-node.d.ts +2 -3
- package/dist/cjs/operation-node/create-table-node.js +2 -2
- package/dist/cjs/operation-node/create-view-node.d.ts +23 -0
- package/dist/cjs/operation-node/create-view-node.js +25 -0
- package/dist/cjs/operation-node/default-value-node.d.ts +14 -0
- package/dist/cjs/operation-node/default-value-node.js +18 -0
- package/dist/cjs/operation-node/drop-index-node.d.ts +1 -2
- package/dist/cjs/operation-node/drop-schema-node.d.ts +2 -3
- package/dist/cjs/operation-node/drop-schema-node.js +3 -3
- package/dist/cjs/operation-node/drop-table-node.d.ts +2 -3
- package/dist/cjs/operation-node/drop-table-node.js +2 -2
- package/dist/cjs/operation-node/drop-view-node.d.ts +17 -0
- package/dist/cjs/operation-node/drop-view-node.js +25 -0
- package/dist/cjs/operation-node/generated-always-as-node.d.ts +16 -0
- package/dist/cjs/operation-node/generated-always-as-node.js +25 -0
- package/dist/cjs/operation-node/having-node.d.ts +4 -8
- package/dist/cjs/operation-node/having-node.js +3 -3
- package/dist/cjs/operation-node/join-node.d.ts +6 -9
- package/dist/cjs/operation-node/join-node.js +10 -7
- package/dist/cjs/operation-node/on-node.d.ts +14 -0
- package/dist/cjs/operation-node/on-node.js +28 -0
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +10 -0
- package/dist/cjs/operation-node/operation-node-transformer.js +55 -11
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +11 -0
- package/dist/cjs/operation-node/operation-node-visitor.js +11 -2
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/operation-node/query-node.d.ts +3 -3
- package/dist/cjs/operation-node/raw-node.d.ts +1 -1
- package/dist/cjs/operation-node/select-query-node.d.ts +5 -5
- package/dist/cjs/operation-node/select-query-node.js +1 -1
- package/dist/cjs/operation-node/where-node.d.ts +4 -8
- package/dist/cjs/operation-node/where-node.js +3 -3
- package/dist/cjs/parser/filter-parser.js +1 -1
- package/dist/cjs/parser/returning-parser.d.ts +4 -2
- package/dist/cjs/parser/select-parser.d.ts +2 -2
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-plugin.js +22 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
- package/dist/cjs/plugin/immediate-value.ts/immediate-value-transformer.js +21 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.d.ts +4 -0
- package/dist/cjs/plugin/with-schema/with-schema-transformer.js +6 -0
- package/dist/cjs/query-builder/delete-result.d.ts +5 -0
- package/dist/cjs/query-builder/delete-result.js +13 -0
- package/dist/cjs/query-builder/expression-builder.d.ts +2 -2
- package/dist/cjs/query-builder/expression-builder.js +1 -1
- package/dist/cjs/query-builder/function-builder.d.ts +5 -5
- package/dist/cjs/query-builder/function-builder.js +3 -3
- package/dist/cjs/query-builder/insert-result.d.ts +27 -0
- package/dist/cjs/query-builder/insert-result.js +35 -0
- package/dist/cjs/query-builder/query-builder.d.ts +91 -81
- package/dist/cjs/query-builder/query-builder.js +38 -41
- package/dist/cjs/query-builder/update-result.d.ts +5 -0
- package/dist/cjs/query-builder/update-result.js +13 -0
- package/dist/cjs/query-compiler/compiled-query.d.ts +5 -0
- package/dist/cjs/query-compiler/compiled-query.js +12 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +10 -0
- package/dist/cjs/query-compiler/default-query-compiler.js +82 -23
- package/dist/cjs/query-compiler/query-compiler.d.ts +3 -1
- package/dist/cjs/query-creator.d.ts +36 -26
- package/dist/cjs/query-creator.js +25 -17
- package/dist/cjs/raw-builder/raw-builder.d.ts +1 -1
- package/dist/cjs/schema/alter-table-builder.d.ts +6 -2
- package/dist/cjs/schema/alter-table-builder.js +28 -4
- package/dist/cjs/schema/column-definition-builder.d.ts +43 -2
- package/dist/cjs/schema/column-definition-builder.js +23 -6
- package/dist/cjs/schema/create-schema-builder.js +1 -1
- package/dist/cjs/schema/create-table-builder.d.ts +7 -8
- package/dist/cjs/schema/create-table-builder.js +8 -9
- package/dist/cjs/schema/create-view-builder.d.ts +28 -0
- package/dist/cjs/schema/create-view-builder.js +84 -0
- package/dist/cjs/schema/drop-index-builder.js +1 -1
- package/dist/cjs/schema/drop-schema-builder.js +3 -1
- package/dist/cjs/schema/drop-table-builder.js +3 -1
- package/dist/cjs/schema/drop-view-builder.d.ts +20 -0
- package/dist/cjs/schema/drop-view-builder.js +39 -0
- package/dist/cjs/schema/schema.d.ts +30 -3
- package/dist/cjs/schema/schema.js +44 -3
- package/dist/cjs/util/dynamic-import.d.ts +2 -0
- package/dist/cjs/util/dynamic-import.js +32 -0
- package/dist/cjs/util/performance-now.d.ts +1 -0
- package/dist/cjs/util/performance-now.js +13 -0
- package/dist/cjs/util/type-utils.d.ts +4 -15
- package/dist/esm/dialect/dialect-adapter.d.ts +3 -2
- package/dist/esm/dialect/mysql/mysql-adapter.js +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +3 -3
- package/dist/esm/dialect/mysql/mysql-driver.js +26 -33
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +2 -2
- package/dist/esm/dialect/postgres/postgres-driver.js +8 -19
- package/dist/esm/dialect/sqlite/sqlite-adapter.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-adapter.js +14 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +64 -0
- package/dist/esm/dialect/sqlite/sqlite-dialect.js +29 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.d.ts +14 -0
- package/dist/esm/dialect/sqlite/sqlite-driver.js +112 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +27 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts +7 -0
- package/dist/esm/dialect/sqlite/sqlite-query-compiler.js +15 -0
- package/dist/esm/driver/database-connection.d.ts +2 -2
- package/dist/esm/driver/runtime-driver.js +3 -4
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/kysely.d.ts +6 -4
- package/dist/esm/kysely.js +6 -4
- package/dist/esm/migration/migration.d.ts +1 -1
- package/dist/esm/migration/migration.js +3 -3
- package/dist/esm/operation-node/column-definition-node.d.ts +8 -6
- package/dist/esm/operation-node/column-definition-node.js +4 -4
- package/dist/esm/operation-node/create-schema-node.d.ts +1 -2
- package/dist/esm/operation-node/create-table-node.d.ts +2 -3
- package/dist/esm/operation-node/create-table-node.js +2 -2
- package/dist/esm/operation-node/create-view-node.d.ts +23 -0
- package/dist/esm/operation-node/create-view-node.js +22 -0
- package/dist/esm/operation-node/default-value-node.d.ts +14 -0
- package/dist/esm/operation-node/default-value-node.js +15 -0
- package/dist/esm/operation-node/drop-index-node.d.ts +1 -2
- package/dist/esm/operation-node/drop-schema-node.d.ts +2 -3
- package/dist/esm/operation-node/drop-schema-node.js +3 -3
- package/dist/esm/operation-node/drop-table-node.d.ts +2 -3
- package/dist/esm/operation-node/drop-table-node.js +2 -2
- package/dist/esm/operation-node/drop-view-node.d.ts +17 -0
- package/dist/esm/operation-node/drop-view-node.js +22 -0
- package/dist/esm/operation-node/generated-always-as-node.d.ts +16 -0
- package/dist/esm/operation-node/generated-always-as-node.js +22 -0
- package/dist/esm/operation-node/having-node.d.ts +4 -8
- package/dist/esm/operation-node/having-node.js +3 -3
- package/dist/esm/operation-node/join-node.d.ts +6 -9
- package/dist/esm/operation-node/join-node.js +10 -7
- package/dist/esm/operation-node/on-node.d.ts +14 -0
- package/dist/esm/operation-node/on-node.js +25 -0
- package/dist/esm/operation-node/operation-node-transformer.d.ts +10 -0
- package/dist/esm/operation-node/operation-node-transformer.js +55 -11
- package/dist/esm/operation-node/operation-node-visitor.d.ts +11 -0
- package/dist/esm/operation-node/operation-node-visitor.js +11 -2
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/operation-node/query-node.d.ts +3 -3
- package/dist/esm/operation-node/raw-node.d.ts +1 -1
- package/dist/esm/operation-node/select-query-node.d.ts +5 -5
- package/dist/esm/operation-node/select-query-node.js +1 -1
- package/dist/esm/operation-node/where-node.d.ts +4 -8
- package/dist/esm/operation-node/where-node.js +3 -3
- package/dist/esm/parser/filter-parser.js +1 -1
- package/dist/esm/parser/returning-parser.d.ts +4 -2
- package/dist/esm/parser/select-parser.d.ts +2 -2
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.d.ts +17 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-plugin.js +18 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.d.ts +13 -0
- package/dist/esm/plugin/immediate-value.ts/immediate-value-transformer.js +17 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.d.ts +4 -0
- package/dist/esm/plugin/with-schema/with-schema-transformer.js +6 -0
- package/dist/esm/query-builder/delete-result.d.ts +5 -0
- package/dist/esm/query-builder/delete-result.js +9 -0
- package/dist/esm/query-builder/expression-builder.d.ts +2 -2
- package/dist/esm/query-builder/expression-builder.js +1 -1
- package/dist/esm/query-builder/function-builder.d.ts +5 -5
- package/dist/esm/query-builder/function-builder.js +3 -3
- package/dist/esm/query-builder/insert-result.d.ts +27 -0
- package/dist/esm/query-builder/insert-result.js +31 -0
- package/dist/esm/query-builder/query-builder.d.ts +91 -81
- package/dist/esm/query-builder/query-builder.js +38 -41
- package/dist/esm/query-builder/update-result.d.ts +5 -0
- package/dist/esm/query-builder/update-result.js +9 -0
- package/dist/esm/query-compiler/compiled-query.d.ts +5 -0
- package/dist/esm/query-compiler/compiled-query.js +11 -1
- package/dist/esm/query-compiler/default-query-compiler.d.ts +10 -0
- package/dist/esm/query-compiler/default-query-compiler.js +82 -23
- package/dist/esm/query-compiler/query-compiler.d.ts +3 -1
- package/dist/esm/query-creator.d.ts +36 -26
- package/dist/esm/query-creator.js +25 -17
- package/dist/esm/raw-builder/raw-builder.d.ts +1 -1
- package/dist/esm/schema/alter-table-builder.d.ts +6 -2
- package/dist/esm/schema/alter-table-builder.js +28 -4
- package/dist/esm/schema/column-definition-builder.d.ts +43 -2
- package/dist/esm/schema/column-definition-builder.js +23 -6
- package/dist/esm/schema/create-schema-builder.js +1 -1
- package/dist/esm/schema/create-table-builder.d.ts +7 -8
- package/dist/esm/schema/create-table-builder.js +8 -9
- package/dist/esm/schema/create-view-builder.d.ts +28 -0
- package/dist/esm/schema/create-view-builder.js +80 -0
- package/dist/esm/schema/drop-index-builder.js +1 -1
- package/dist/esm/schema/drop-schema-builder.js +3 -1
- package/dist/esm/schema/drop-table-builder.js +3 -1
- package/dist/esm/schema/drop-view-builder.d.ts +20 -0
- package/dist/esm/schema/drop-view-builder.js +35 -0
- package/dist/esm/schema/schema.d.ts +30 -3
- package/dist/esm/schema/schema.js +44 -3
- package/dist/esm/util/dynamic-import.d.ts +2 -0
- package/dist/esm/util/dynamic-import.js +27 -0
- package/dist/esm/util/performance-now.d.ts +1 -0
- package/dist/esm/util/performance-now.js +9 -0
- package/dist/esm/util/type-utils.d.ts +4 -15
- package/package.json +5 -3
|
@@ -19,10 +19,10 @@ export const CreateTableNode = freeze({
|
|
|
19
19
|
columns: freeze([...createTable.columns, column]),
|
|
20
20
|
});
|
|
21
21
|
},
|
|
22
|
-
|
|
22
|
+
cloneWithIfNotExists(createTable, ifNotExists) {
|
|
23
23
|
return freeze({
|
|
24
24
|
...createTable,
|
|
25
|
-
|
|
25
|
+
ifNotExists,
|
|
26
26
|
});
|
|
27
27
|
},
|
|
28
28
|
cloneWithConstraint(createTable, constraint) {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ColumnNode } from './column-node.js';
|
|
2
|
+
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
+
import { OperationNode } from './operation-node.js';
|
|
4
|
+
import { RawNode } from './raw-node.js';
|
|
5
|
+
import { SelectQueryNode } from './select-query-node.js';
|
|
6
|
+
export declare type CreateViewNodeParams = Omit<Partial<CreateViewNode>, 'kind' | 'name'>;
|
|
7
|
+
export interface CreateViewNode extends OperationNode {
|
|
8
|
+
readonly kind: 'CreateViewNode';
|
|
9
|
+
readonly name: IdentifierNode;
|
|
10
|
+
readonly materialized?: boolean;
|
|
11
|
+
readonly orReplace?: boolean;
|
|
12
|
+
readonly ifNotExists?: boolean;
|
|
13
|
+
readonly columns?: ReadonlyArray<ColumnNode>;
|
|
14
|
+
readonly as?: SelectQueryNode | RawNode;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export declare const CreateViewNode: Readonly<{
|
|
20
|
+
is(node: OperationNode): node is CreateViewNode;
|
|
21
|
+
create(name: string): CreateViewNode;
|
|
22
|
+
cloneWith(createView: CreateViewNode, params: CreateViewNodeParams): CreateViewNode;
|
|
23
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { freeze } from '../util/object-utils.js';
|
|
2
|
+
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const CreateViewNode = freeze({
|
|
7
|
+
is(node) {
|
|
8
|
+
return node.kind === 'CreateViewNode';
|
|
9
|
+
},
|
|
10
|
+
create(name) {
|
|
11
|
+
return freeze({
|
|
12
|
+
kind: 'CreateViewNode',
|
|
13
|
+
name: IdentifierNode.create(name),
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
cloneWith(createView, params) {
|
|
17
|
+
return freeze({
|
|
18
|
+
...createView,
|
|
19
|
+
...params,
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { RawNode } from './raw-node.js';
|
|
3
|
+
import { ValueNode } from './value-node.js';
|
|
4
|
+
export interface DefaultValueNode extends OperationNode {
|
|
5
|
+
readonly kind: 'DefaultValueNode';
|
|
6
|
+
readonly defaultValue: ValueNode | RawNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const DefaultValueNode: Readonly<{
|
|
12
|
+
is(node: OperationNode): node is DefaultValueNode;
|
|
13
|
+
create(defaultValue: ValueNode | RawNode): DefaultValueNode;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { freeze } from '../util/object-utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export const DefaultValueNode = freeze({
|
|
6
|
+
is(node) {
|
|
7
|
+
return node.kind === 'DefaultValueNode';
|
|
8
|
+
},
|
|
9
|
+
create(defaultValue) {
|
|
10
|
+
return freeze({
|
|
11
|
+
kind: 'DefaultValueNode',
|
|
12
|
+
defaultValue,
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
});
|
|
@@ -2,12 +2,11 @@ import { IdentifierNode } from './identifier-node.js';
|
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
3
|
import { TableNode } from './table-node.js';
|
|
4
4
|
export declare type DropIndexNodeProps = Omit<DropIndexNode, 'kind' | 'name'>;
|
|
5
|
-
export declare type DropIndexNodeModifier = 'IfExists';
|
|
6
5
|
export interface DropIndexNode extends OperationNode {
|
|
7
6
|
readonly kind: 'DropIndexNode';
|
|
8
7
|
readonly name: IdentifierNode;
|
|
9
8
|
readonly table?: TableNode;
|
|
10
|
-
readonly
|
|
9
|
+
readonly ifExists?: boolean;
|
|
11
10
|
}
|
|
12
11
|
/**
|
|
13
12
|
* @internal
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { IdentifierNode } from './identifier-node.js';
|
|
2
2
|
import { OperationNode } from './operation-node.js';
|
|
3
|
-
export declare type DropSchemaNodeModifier = 'IfExists';
|
|
4
3
|
export declare type DropSchemaNodeParams = Omit<Partial<DropSchemaNode>, 'kind' | 'schema'>;
|
|
5
4
|
export interface DropSchemaNode extends OperationNode {
|
|
6
5
|
readonly kind: 'DropSchemaNode';
|
|
7
6
|
readonly schema: IdentifierNode;
|
|
8
|
-
readonly
|
|
7
|
+
readonly ifExists?: boolean;
|
|
9
8
|
}
|
|
10
9
|
/**
|
|
11
10
|
* @internal
|
|
@@ -13,5 +12,5 @@ export interface DropSchemaNode extends OperationNode {
|
|
|
13
12
|
export declare const DropSchemaNode: Readonly<{
|
|
14
13
|
is(node: OperationNode): node is DropSchemaNode;
|
|
15
14
|
create(schema: string, params?: DropSchemaNodeParams | undefined): DropSchemaNode;
|
|
16
|
-
|
|
15
|
+
cloneWith(dropSchema: DropSchemaNode, params: DropSchemaNodeParams): DropSchemaNode;
|
|
17
16
|
}>;
|
|
@@ -14,10 +14,10 @@ export const DropSchemaNode = freeze({
|
|
|
14
14
|
...params,
|
|
15
15
|
});
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
cloneWith(dropSchema, params) {
|
|
18
18
|
return freeze({
|
|
19
|
-
...
|
|
20
|
-
|
|
19
|
+
...dropSchema,
|
|
20
|
+
...params,
|
|
21
21
|
});
|
|
22
22
|
},
|
|
23
23
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
2
|
import { TableNode } from './table-node.js';
|
|
3
3
|
export declare type DropTablexNodeParams = Omit<Partial<DropTableNode>, 'kind' | 'table'>;
|
|
4
|
-
export declare type DropTableNodeModifier = 'IfExists';
|
|
5
4
|
export interface DropTableNode extends OperationNode {
|
|
6
5
|
readonly kind: 'DropTableNode';
|
|
7
6
|
readonly table: TableNode;
|
|
8
|
-
readonly
|
|
7
|
+
readonly ifExists?: boolean;
|
|
9
8
|
}
|
|
10
9
|
/**
|
|
11
10
|
* @internal
|
|
@@ -13,5 +12,5 @@ export interface DropTableNode extends OperationNode {
|
|
|
13
12
|
export declare const DropTableNode: Readonly<{
|
|
14
13
|
is(node: OperationNode): node is DropTableNode;
|
|
15
14
|
create(table: TableNode, params?: DropTablexNodeParams | undefined): DropTableNode;
|
|
16
|
-
|
|
15
|
+
cloneWith(dropIndex: DropTableNode, params: DropTablexNodeParams): DropTableNode;
|
|
17
16
|
}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IdentifierNode } from './identifier-node.js';
|
|
2
|
+
import { OperationNode } from './operation-node.js';
|
|
3
|
+
export declare type DropViewNodeParams = Omit<Partial<DropViewNode>, 'kind' | 'name'>;
|
|
4
|
+
export interface DropViewNode extends OperationNode {
|
|
5
|
+
readonly kind: 'DropViewNode';
|
|
6
|
+
readonly name: IdentifierNode;
|
|
7
|
+
readonly ifExists?: boolean;
|
|
8
|
+
readonly materialized?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const DropViewNode: Readonly<{
|
|
14
|
+
is(node: OperationNode): node is DropViewNode;
|
|
15
|
+
create(name: string): DropViewNode;
|
|
16
|
+
cloneWith(dropView: DropViewNode, params: DropViewNodeParams): DropViewNode;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { freeze } from '../util/object-utils.js';
|
|
2
|
+
import { IdentifierNode } from './identifier-node.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const DropViewNode = freeze({
|
|
7
|
+
is(node) {
|
|
8
|
+
return node.kind === 'DropViewNode';
|
|
9
|
+
},
|
|
10
|
+
create(name) {
|
|
11
|
+
return freeze({
|
|
12
|
+
kind: 'DropViewNode',
|
|
13
|
+
name: IdentifierNode.create(name),
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
cloneWith(dropView, params) {
|
|
17
|
+
return freeze({
|
|
18
|
+
...dropView,
|
|
19
|
+
...params,
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { RawNode } from './raw-node.js';
|
|
3
|
+
export declare type GeneratedAlwaysAsNodeParams = Omit<GeneratedAlwaysAsNode, 'kind' | 'expression'>;
|
|
4
|
+
export interface GeneratedAlwaysAsNode extends OperationNode {
|
|
5
|
+
readonly kind: 'GeneratedAlwaysAsNode';
|
|
6
|
+
readonly expression: RawNode;
|
|
7
|
+
readonly stored?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const GeneratedAlwaysAsNode: Readonly<{
|
|
13
|
+
is(node: OperationNode): node is GeneratedAlwaysAsNode;
|
|
14
|
+
create(expression: string): GeneratedAlwaysAsNode;
|
|
15
|
+
cloneWith(node: GeneratedAlwaysAsNode, params: GeneratedAlwaysAsNodeParams): GeneratedAlwaysAsNode;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { freeze } from '../util/object-utils.js';
|
|
2
|
+
import { RawNode } from './raw-node.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const GeneratedAlwaysAsNode = freeze({
|
|
7
|
+
is(node) {
|
|
8
|
+
return node.kind === 'GeneratedAlwaysAsNode';
|
|
9
|
+
},
|
|
10
|
+
create(expression) {
|
|
11
|
+
return freeze({
|
|
12
|
+
kind: 'GeneratedAlwaysAsNode',
|
|
13
|
+
expression: RawNode.createWithSql(expression),
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
cloneWith(node, params) {
|
|
17
|
+
return freeze({
|
|
18
|
+
...node,
|
|
19
|
+
...params,
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FilterNode } from './filter-node.js';
|
|
1
|
+
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
3
2
|
import { OperationNode } from './operation-node.js';
|
|
4
|
-
import { OrNode } from './or-node.js';
|
|
5
|
-
import { ParensNode } from './parens-node.js';
|
|
6
|
-
export declare type HavingNodeChild = FilterNode | AndNode | OrNode | ParensNode;
|
|
7
3
|
export interface HavingNode extends OperationNode {
|
|
8
4
|
readonly kind: 'HavingNode';
|
|
9
|
-
readonly having:
|
|
5
|
+
readonly having: FilterExpressionNode;
|
|
10
6
|
}
|
|
11
7
|
/**
|
|
12
8
|
* @internal
|
|
13
9
|
*/
|
|
14
10
|
export declare const HavingNode: Readonly<{
|
|
15
11
|
is(node: OperationNode): node is HavingNode;
|
|
16
|
-
create(filter:
|
|
17
|
-
cloneWithFilter(havingNode: HavingNode, op: 'And' | 'Or',
|
|
12
|
+
create(filter: FilterExpressionNode): HavingNode;
|
|
13
|
+
cloneWithFilter(havingNode: HavingNode, op: 'And' | 'Or', filter: FilterExpressionNode): HavingNode;
|
|
18
14
|
}>;
|
|
@@ -14,12 +14,12 @@ export const HavingNode = freeze({
|
|
|
14
14
|
having: filter,
|
|
15
15
|
});
|
|
16
16
|
},
|
|
17
|
-
cloneWithFilter(havingNode, op,
|
|
17
|
+
cloneWithFilter(havingNode, op, filter) {
|
|
18
18
|
return freeze({
|
|
19
19
|
...havingNode,
|
|
20
20
|
having: op === 'And'
|
|
21
|
-
? AndNode.create(havingNode.having,
|
|
22
|
-
: OrNode.create(havingNode.having,
|
|
21
|
+
? AndNode.create(havingNode.having, filter)
|
|
22
|
+
: OrNode.create(havingNode.having, filter),
|
|
23
23
|
});
|
|
24
24
|
},
|
|
25
25
|
});
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { AliasNode } from './alias-node.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { OnNode } from './on-node.js';
|
|
3
|
+
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
4
4
|
import { OperationNode } from './operation-node.js';
|
|
5
|
-
import { OrNode } from './or-node.js';
|
|
6
|
-
import { ParensNode } from './parens-node.js';
|
|
7
5
|
import { TableNode } from './table-node.js';
|
|
8
6
|
export declare type JoinTableNode = TableNode | AliasNode;
|
|
9
7
|
export declare type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin';
|
|
10
|
-
export declare type JoinNodeOnNode = FilterNode | AndNode | OrNode | ParensNode;
|
|
11
8
|
export interface JoinNode extends OperationNode {
|
|
12
9
|
readonly kind: 'JoinNode';
|
|
13
10
|
readonly joinType: JoinType;
|
|
14
11
|
readonly table: JoinTableNode;
|
|
15
|
-
readonly on?:
|
|
12
|
+
readonly on?: OnNode;
|
|
16
13
|
}
|
|
17
14
|
/**
|
|
18
15
|
* @internal
|
|
@@ -20,7 +17,7 @@ export interface JoinNode extends OperationNode {
|
|
|
20
17
|
export declare const JoinNode: Readonly<{
|
|
21
18
|
is(node: OperationNode): node is JoinNode;
|
|
22
19
|
create(joinType: JoinType, table: JoinTableNode): JoinNode;
|
|
23
|
-
createWithOn(joinType: JoinType, table: JoinTableNode, on:
|
|
24
|
-
cloneWithOn(joinNode: JoinNode,
|
|
25
|
-
cloneWithOrOn(joinNode: JoinNode,
|
|
20
|
+
createWithOn(joinType: JoinType, table: JoinTableNode, on: FilterExpressionNode): JoinNode;
|
|
21
|
+
cloneWithOn(joinNode: JoinNode, filter: FilterExpressionNode): JoinNode;
|
|
22
|
+
cloneWithOrOn(joinNode: JoinNode, filter: FilterExpressionNode): JoinNode;
|
|
26
23
|
}>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { freeze } from '../util/object-utils.js';
|
|
2
|
-
import {
|
|
3
|
-
import { OrNode } from './or-node.js';
|
|
2
|
+
import { OnNode } from './on-node.js';
|
|
4
3
|
/**
|
|
5
4
|
* @internal
|
|
6
5
|
*/
|
|
@@ -21,19 +20,23 @@ export const JoinNode = freeze({
|
|
|
21
20
|
kind: 'JoinNode',
|
|
22
21
|
joinType,
|
|
23
22
|
table,
|
|
24
|
-
on,
|
|
23
|
+
on: OnNode.create(on),
|
|
25
24
|
});
|
|
26
25
|
},
|
|
27
|
-
cloneWithOn(joinNode,
|
|
26
|
+
cloneWithOn(joinNode, filter) {
|
|
28
27
|
return freeze({
|
|
29
28
|
...joinNode,
|
|
30
|
-
on: joinNode.on
|
|
29
|
+
on: joinNode.on
|
|
30
|
+
? OnNode.cloneWithFilter(joinNode.on, 'And', filter)
|
|
31
|
+
: OnNode.create(filter),
|
|
31
32
|
});
|
|
32
33
|
},
|
|
33
|
-
cloneWithOrOn(joinNode,
|
|
34
|
+
cloneWithOrOn(joinNode, filter) {
|
|
34
35
|
return freeze({
|
|
35
36
|
...joinNode,
|
|
36
|
-
on: joinNode.on
|
|
37
|
+
on: joinNode.on
|
|
38
|
+
? OnNode.cloneWithFilter(joinNode.on, 'Or', filter)
|
|
39
|
+
: OnNode.create(filter),
|
|
37
40
|
});
|
|
38
41
|
},
|
|
39
42
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
2
|
+
import { OperationNode } from './operation-node.js';
|
|
3
|
+
export interface OnNode extends OperationNode {
|
|
4
|
+
readonly kind: 'OnNode';
|
|
5
|
+
readonly on: FilterExpressionNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const OnNode: Readonly<{
|
|
11
|
+
is(node: OperationNode): node is OnNode;
|
|
12
|
+
create(filter: FilterExpressionNode): OnNode;
|
|
13
|
+
cloneWithFilter(onNode: OnNode, op: 'And' | 'Or', filter: FilterExpressionNode): OnNode;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { freeze } from '../util/object-utils.js';
|
|
2
|
+
import { AndNode } from './and-node.js';
|
|
3
|
+
import { OrNode } from './or-node.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export const OnNode = freeze({
|
|
8
|
+
is(node) {
|
|
9
|
+
return node.kind === 'OnNode';
|
|
10
|
+
},
|
|
11
|
+
create(filter) {
|
|
12
|
+
return freeze({
|
|
13
|
+
kind: 'OnNode',
|
|
14
|
+
on: filter,
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
cloneWithFilter(onNode, op, filter) {
|
|
18
|
+
return freeze({
|
|
19
|
+
...onNode,
|
|
20
|
+
on: op === 'And'
|
|
21
|
+
? AndNode.create(onNode.on, filter)
|
|
22
|
+
: OrNode.create(onNode.on, filter),
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -58,6 +58,11 @@ import { ColumnDefinitionNode } from './column-definition-node.js';
|
|
|
58
58
|
import { ModifyColumnNode } from './modify-column-node.js';
|
|
59
59
|
import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
60
60
|
import { UnionNode } from './union-node.js';
|
|
61
|
+
import { CreateViewNode } from './create-view-node.js';
|
|
62
|
+
import { DropViewNode } from './drop-view-node.js';
|
|
63
|
+
import { GeneratedAlwaysAsNode } from './generated-always-as-node.js';
|
|
64
|
+
import { DefaultValueNode } from './default-value-node.js';
|
|
65
|
+
import { OnNode } from './on-node.js';
|
|
61
66
|
/**
|
|
62
67
|
* Transforms an operation node tree into another one.
|
|
63
68
|
*
|
|
@@ -145,6 +150,11 @@ export declare class OperationNodeTransformer {
|
|
|
145
150
|
protected transformModifyColumn(node: ModifyColumnNode): ModifyColumnNode;
|
|
146
151
|
protected transformAddConstraint(node: AddConstraintNode): AddConstraintNode;
|
|
147
152
|
protected transformDropConstraint(node: DropConstraintNode): DropConstraintNode;
|
|
153
|
+
protected transformCreateView(node: CreateViewNode): CreateViewNode;
|
|
154
|
+
protected transformDropView(node: DropViewNode): DropViewNode;
|
|
155
|
+
protected transformGeneratedAlwaysAs(node: GeneratedAlwaysAsNode): GeneratedAlwaysAsNode;
|
|
156
|
+
protected transformDefaultValue(node: DefaultValueNode): DefaultValueNode;
|
|
157
|
+
protected transformOn(node: OnNode): OnNode;
|
|
148
158
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
149
159
|
protected transformSelectAll(node: SelectAllNode): SelectAllNode;
|
|
150
160
|
protected transformIdentifier(node: IdentifierNode): IdentifierNode;
|
|
@@ -30,7 +30,7 @@ import { freeze } from '../util/object-utils.js';
|
|
|
30
30
|
*/
|
|
31
31
|
export class OperationNodeTransformer {
|
|
32
32
|
nodeStack = [];
|
|
33
|
-
#transformers = {
|
|
33
|
+
#transformers = freeze({
|
|
34
34
|
AliasNode: this.transformAlias.bind(this),
|
|
35
35
|
ColumnNode: this.transformColumn.bind(this),
|
|
36
36
|
IdentifierNode: this.transformIdentifier.bind(this),
|
|
@@ -90,7 +90,12 @@ export class OperationNodeTransformer {
|
|
|
90
90
|
DropConstraintNode: this.transformDropConstraint.bind(this),
|
|
91
91
|
ForeignKeyConstraintNode: this.transformForeignKeyConstraint.bind(this),
|
|
92
92
|
UnionNode: this.transformUnion.bind(this),
|
|
93
|
-
|
|
93
|
+
CreateViewNode: this.transformCreateView.bind(this),
|
|
94
|
+
DropViewNode: this.transformDropView.bind(this),
|
|
95
|
+
GeneratedAlwaysAsNode: this.transformGeneratedAlwaysAs.bind(this),
|
|
96
|
+
DefaultValueNode: this.transformDefaultValue.bind(this),
|
|
97
|
+
OnNode: this.transformOn.bind(this),
|
|
98
|
+
});
|
|
94
99
|
transformNode = (node) => {
|
|
95
100
|
if (!node) {
|
|
96
101
|
return undefined;
|
|
@@ -112,7 +117,7 @@ export class OperationNodeTransformer {
|
|
|
112
117
|
from: this.transformNode(node.from),
|
|
113
118
|
selections: this.transformNodeList(node.selections),
|
|
114
119
|
distinctOnSelections: this.transformNodeList(node.distinctOnSelections),
|
|
115
|
-
|
|
120
|
+
distinct: node.distinct,
|
|
116
121
|
joins: this.transformNodeList(node.joins),
|
|
117
122
|
groupBy: this.transformNode(node.groupBy),
|
|
118
123
|
orderBy: this.transformNode(node.orderBy),
|
|
@@ -254,7 +259,7 @@ export class OperationNodeTransformer {
|
|
|
254
259
|
table: this.transformNode(node.table),
|
|
255
260
|
columns: this.transformNodeList(node.columns),
|
|
256
261
|
constraints: this.transformNodeList(node.constraints),
|
|
257
|
-
|
|
262
|
+
ifNotExists: node.ifNotExists,
|
|
258
263
|
};
|
|
259
264
|
}
|
|
260
265
|
transformColumnDefinition(node) {
|
|
@@ -263,12 +268,13 @@ export class OperationNodeTransformer {
|
|
|
263
268
|
column: this.transformNode(node.column),
|
|
264
269
|
dataType: this.transformNode(node.dataType),
|
|
265
270
|
references: this.transformNode(node.references),
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
271
|
+
primaryKey: node.primaryKey,
|
|
272
|
+
autoIncrement: node.autoIncrement,
|
|
273
|
+
unique: node.unique,
|
|
274
|
+
nullable: node.nullable,
|
|
270
275
|
defaultTo: this.transformNode(node.defaultTo),
|
|
271
276
|
check: this.transformNode(node.check),
|
|
277
|
+
generatedAlwaysAs: this.transformNode(node.generatedAlwaysAs),
|
|
272
278
|
};
|
|
273
279
|
}
|
|
274
280
|
transformAddColumn(node) {
|
|
@@ -281,7 +287,7 @@ export class OperationNodeTransformer {
|
|
|
281
287
|
return {
|
|
282
288
|
kind: 'DropTableNode',
|
|
283
289
|
table: this.transformNode(node.table),
|
|
284
|
-
|
|
290
|
+
ifExists: node.ifExists,
|
|
285
291
|
};
|
|
286
292
|
}
|
|
287
293
|
transformOrderBy(node) {
|
|
@@ -375,7 +381,7 @@ export class OperationNodeTransformer {
|
|
|
375
381
|
kind: 'DropIndexNode',
|
|
376
382
|
name: this.transformNode(node.name),
|
|
377
383
|
table: this.transformNode(node.table),
|
|
378
|
-
|
|
384
|
+
ifExists: node.ifExists,
|
|
379
385
|
};
|
|
380
386
|
}
|
|
381
387
|
transformPrimaryKeyConstraint(node) {
|
|
@@ -454,7 +460,7 @@ export class OperationNodeTransformer {
|
|
|
454
460
|
return {
|
|
455
461
|
kind: 'DropSchemaNode',
|
|
456
462
|
schema: this.transformNode(node.schema),
|
|
457
|
-
|
|
463
|
+
ifExists: node.ifExists,
|
|
458
464
|
};
|
|
459
465
|
}
|
|
460
466
|
transformAlterTable(node) {
|
|
@@ -515,6 +521,44 @@ export class OperationNodeTransformer {
|
|
|
515
521
|
constraintName: this.transformNode(node.constraintName),
|
|
516
522
|
};
|
|
517
523
|
}
|
|
524
|
+
transformCreateView(node) {
|
|
525
|
+
return {
|
|
526
|
+
kind: 'CreateViewNode',
|
|
527
|
+
name: this.transformNode(node.name),
|
|
528
|
+
orReplace: node.orReplace,
|
|
529
|
+
ifNotExists: node.ifNotExists,
|
|
530
|
+
materialized: node.materialized,
|
|
531
|
+
columns: this.transformNodeList(node.columns),
|
|
532
|
+
as: this.transformNode(node.as),
|
|
533
|
+
};
|
|
534
|
+
}
|
|
535
|
+
transformDropView(node) {
|
|
536
|
+
return {
|
|
537
|
+
kind: 'DropViewNode',
|
|
538
|
+
name: this.transformNode(node.name),
|
|
539
|
+
ifExists: node.ifExists,
|
|
540
|
+
materialized: node.materialized,
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
transformGeneratedAlwaysAs(node) {
|
|
544
|
+
return {
|
|
545
|
+
kind: 'GeneratedAlwaysAsNode',
|
|
546
|
+
expression: this.transformNode(node.expression),
|
|
547
|
+
stored: node.stored,
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
transformDefaultValue(node) {
|
|
551
|
+
return {
|
|
552
|
+
kind: 'DefaultValueNode',
|
|
553
|
+
defaultValue: this.transformNode(node.defaultValue),
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
transformOn(node) {
|
|
557
|
+
return {
|
|
558
|
+
kind: 'OnNode',
|
|
559
|
+
on: this.transformNode(node.on),
|
|
560
|
+
};
|
|
561
|
+
}
|
|
518
562
|
transformDataType(node) {
|
|
519
563
|
// An Object.freezed leaf node. No need to clone.
|
|
520
564
|
return node;
|
|
@@ -58,9 +58,15 @@ import { ColumnDefinitionNode } from './column-definition-node.js';
|
|
|
58
58
|
import { ModifyColumnNode } from './modify-column-node.js';
|
|
59
59
|
import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
60
60
|
import { UnionNode } from './union-node.js';
|
|
61
|
+
import { CreateViewNode } from './create-view-node.js';
|
|
62
|
+
import { DropViewNode } from './drop-view-node.js';
|
|
63
|
+
import { GeneratedAlwaysAsNode } from './generated-always-as-node.js';
|
|
64
|
+
import { DefaultValueNode } from './default-value-node.js';
|
|
65
|
+
import { OnNode } from './on-node.js';
|
|
61
66
|
export declare abstract class OperationNodeVisitor {
|
|
62
67
|
#private;
|
|
63
68
|
protected readonly nodeStack: OperationNode[];
|
|
69
|
+
protected get parentNode(): OperationNode | undefined;
|
|
64
70
|
protected readonly visitNode: (node: OperationNode) => void;
|
|
65
71
|
protected abstract visitSelectQuery(node: SelectQueryNode): void;
|
|
66
72
|
protected abstract visitSelection(node: SelectionNode): void;
|
|
@@ -121,4 +127,9 @@ export declare abstract class OperationNodeVisitor {
|
|
|
121
127
|
protected abstract visitValue(_: ValueNode): void;
|
|
122
128
|
protected abstract visitPrimitiveValueList(_: PrimitiveValueListNode): void;
|
|
123
129
|
protected abstract visitOperator(node: OperatorNode): void;
|
|
130
|
+
protected abstract visitCreateView(node: CreateViewNode): void;
|
|
131
|
+
protected abstract visitDropView(node: DropViewNode): void;
|
|
132
|
+
protected abstract visitGeneratedAlwaysAs(node: GeneratedAlwaysAsNode): void;
|
|
133
|
+
protected abstract visitDefaultValue(node: DefaultValueNode): void;
|
|
134
|
+
protected abstract visitOn(node: OnNode): void;
|
|
124
135
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { freeze } from '../util/object-utils.js';
|
|
1
2
|
export class OperationNodeVisitor {
|
|
2
3
|
nodeStack = [];
|
|
3
|
-
|
|
4
|
+
get parentNode() {
|
|
5
|
+
return this.nodeStack[this.nodeStack.length - 2];
|
|
6
|
+
}
|
|
7
|
+
#visitors = freeze({
|
|
4
8
|
AliasNode: this.visitAlias.bind(this),
|
|
5
9
|
ColumnNode: this.visitColumn.bind(this),
|
|
6
10
|
IdentifierNode: this.visitIdentifier.bind(this),
|
|
@@ -60,7 +64,12 @@ export class OperationNodeVisitor {
|
|
|
60
64
|
DropConstraintNode: this.visitDropConstraint.bind(this),
|
|
61
65
|
ForeignKeyConstraintNode: this.visitForeignKeyConstraint.bind(this),
|
|
62
66
|
UnionNode: this.visitUnion.bind(this),
|
|
63
|
-
|
|
67
|
+
CreateViewNode: this.visitCreateView.bind(this),
|
|
68
|
+
DropViewNode: this.visitDropView.bind(this),
|
|
69
|
+
GeneratedAlwaysAsNode: this.visitGeneratedAlwaysAs.bind(this),
|
|
70
|
+
DefaultValueNode: this.visitDefaultValue.bind(this),
|
|
71
|
+
OnNode: this.visitOn.bind(this),
|
|
72
|
+
});
|
|
64
73
|
visitNode = (node) => {
|
|
65
74
|
this.nodeStack.push(node);
|
|
66
75
|
this.#visitors[node.kind](node);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'UnionNode';
|
|
1
|
+
export declare type OperationNodeKind = 'IdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'FilterNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'UnionNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedAlwaysAsNode' | 'DefaultValueNode' | 'OnNode';
|
|
2
2
|
export interface OperationNode {
|
|
3
3
|
readonly kind: OperationNodeKind;
|
|
4
4
|
}
|