kysely 0.13.0 → 0.14.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/dist/cjs/{introspection → dialect}/database-introspector.d.ts +0 -0
- package/dist/cjs/{introspection → dialect}/database-introspector.js +0 -0
- package/dist/cjs/dialect/dialect.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-dialect.d.ts +1 -1
- package/dist/cjs/dialect/mysql/mysql-introspector.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-dialect.d.ts +1 -1
- package/dist/cjs/dialect/postgres/postgres-introspector.d.ts +1 -1
- package/dist/cjs/dialect/sqlite/sqlite-dialect.d.ts +1 -1
- package/dist/cjs/dialect/sqlite/sqlite-introspector.d.ts +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/kysely.d.ts +1 -1
- package/dist/cjs/operation-node/check-constraint-node.d.ts +1 -1
- package/dist/cjs/operation-node/check-constraint-node.js +2 -3
- package/dist/cjs/operation-node/column-definition-node.d.ts +2 -2
- package/dist/cjs/operation-node/data-type-node.d.ts +1 -1
- package/dist/cjs/operation-node/generated-node.d.ts +20 -0
- package/dist/cjs/operation-node/generated-node.js +31 -0
- package/dist/cjs/operation-node/on-conflict-node.d.ts +13 -2
- package/dist/cjs/operation-node/on-conflict-node.js +39 -1
- package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -2
- package/dist/cjs/operation-node/operation-node-transformer.js +11 -5
- package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -2
- package/dist/cjs/operation-node/operation-node-visitor.js +1 -1
- package/dist/cjs/operation-node/operation-node.d.ts +1 -1
- package/dist/cjs/query-builder/insert-query-builder.d.ts +76 -75
- package/dist/cjs/query-builder/insert-query-builder.js +150 -15
- package/dist/cjs/query-builder/on-conflict-builder.d.ts +684 -0
- package/dist/cjs/query-builder/on-conflict-builder.js +323 -0
- package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -2
- package/dist/cjs/query-compiler/default-query-compiler.js +33 -7
- package/dist/cjs/schema/alter-table-builder.d.ts +29 -9
- package/dist/cjs/schema/alter-table-builder.js +33 -9
- package/dist/cjs/schema/column-definition-builder.d.ts +28 -8
- package/dist/cjs/schema/column-definition-builder.js +17 -7
- package/dist/cjs/schema/create-index-builder.d.ts +3 -2
- package/dist/cjs/schema/create-index-builder.js +2 -2
- package/dist/cjs/schema/create-table-builder.d.ts +3 -2
- package/dist/cjs/schema/create-table-builder.js +2 -2
- package/dist/esm/{introspection → dialect}/database-introspector.d.ts +0 -0
- package/dist/esm/{introspection → dialect}/database-introspector.js +0 -0
- package/dist/esm/dialect/dialect.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-dialect.d.ts +1 -1
- package/dist/esm/dialect/mysql/mysql-introspector.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-dialect.d.ts +1 -1
- package/dist/esm/dialect/postgres/postgres-introspector.d.ts +1 -1
- package/dist/esm/dialect/sqlite/sqlite-dialect.d.ts +1 -1
- package/dist/esm/dialect/sqlite/sqlite-introspector.d.ts +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/kysely.d.ts +1 -1
- package/dist/esm/operation-node/check-constraint-node.d.ts +1 -1
- package/dist/esm/operation-node/check-constraint-node.js +2 -3
- package/dist/esm/operation-node/column-definition-node.d.ts +2 -2
- package/dist/esm/operation-node/data-type-node.d.ts +1 -1
- package/dist/esm/operation-node/generated-node.d.ts +20 -0
- package/dist/esm/operation-node/generated-node.js +28 -0
- package/dist/esm/operation-node/on-conflict-node.d.ts +13 -2
- package/dist/esm/operation-node/on-conflict-node.js +39 -1
- package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -2
- package/dist/esm/operation-node/operation-node-transformer.js +11 -5
- package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -2
- package/dist/esm/operation-node/operation-node-visitor.js +1 -1
- package/dist/esm/operation-node/operation-node.d.ts +1 -1
- package/dist/esm/query-builder/insert-query-builder.d.ts +76 -75
- package/dist/esm/query-builder/insert-query-builder.js +150 -15
- package/dist/esm/query-builder/on-conflict-builder.d.ts +684 -0
- package/dist/esm/query-builder/on-conflict-builder.js +317 -0
- package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -2
- package/dist/esm/query-compiler/default-query-compiler.js +33 -7
- package/dist/esm/schema/alter-table-builder.d.ts +29 -9
- package/dist/esm/schema/alter-table-builder.js +33 -9
- package/dist/esm/schema/column-definition-builder.d.ts +28 -8
- package/dist/esm/schema/column-definition-builder.js +17 -7
- package/dist/esm/schema/create-index-builder.d.ts +3 -2
- package/dist/esm/schema/create-index-builder.js +2 -2
- package/dist/esm/schema/create-table-builder.d.ts +3 -2
- package/dist/esm/schema/create-table-builder.js +2 -2
- package/package.json +1 -1
- package/dist/cjs/operation-node/generated-always-as-node.d.ts +0 -16
- package/dist/cjs/operation-node/generated-always-as-node.js +0 -25
- package/dist/cjs/parser/on-conflict-parser.d.ts +0 -10
- package/dist/cjs/parser/on-conflict-parser.js +0 -35
- package/dist/esm/operation-node/generated-always-as-node.d.ts +0 -16
- package/dist/esm/operation-node/generated-always-as-node.js +0 -22
- package/dist/esm/parser/on-conflict-parser.d.ts +0 -10
- package/dist/esm/parser/on-conflict-parser.js +0 -30
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Driver } from '../driver/driver.js';
|
|
2
2
|
import { Kysely } from '../kysely.js';
|
|
3
3
|
import { QueryCompiler } from '../query-compiler/query-compiler.js';
|
|
4
|
-
import { DatabaseIntrospector } from '
|
|
4
|
+
import { DatabaseIntrospector } from './database-introspector.js';
|
|
5
5
|
import { DialectAdapter } from './dialect-adapter.js';
|
|
6
6
|
/**
|
|
7
7
|
* A Dialect is the glue between Kysely and the underlying database engine.
|
|
@@ -2,7 +2,7 @@ import { Driver } from '../../driver/driver.js';
|
|
|
2
2
|
import { Kysely } from '../../kysely.js';
|
|
3
3
|
import { QueryCompiler } from '../../query-compiler/query-compiler.js';
|
|
4
4
|
import { Dialect } from '../dialect.js';
|
|
5
|
-
import { DatabaseIntrospector } from '
|
|
5
|
+
import { DatabaseIntrospector } from '../database-introspector.js';
|
|
6
6
|
import { DialectAdapter } from '../dialect-adapter.js';
|
|
7
7
|
import { DatabaseConnection } from '../../driver/database-connection.js';
|
|
8
8
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions } from '
|
|
1
|
+
import { DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions } from '../database-introspector.js';
|
|
2
2
|
import { Kysely } from '../../kysely.js';
|
|
3
3
|
export declare class MysqlIntrospector implements DatabaseIntrospector {
|
|
4
4
|
#private;
|
|
@@ -5,7 +5,7 @@ import { Driver } from '../../driver/driver.js';
|
|
|
5
5
|
import { Kysely } from '../../kysely.js';
|
|
6
6
|
import { QueryCompiler } from '../../query-compiler/query-compiler.js';
|
|
7
7
|
import { Dialect } from '../dialect.js';
|
|
8
|
-
import { DatabaseIntrospector } from '
|
|
8
|
+
import { DatabaseIntrospector } from '../database-introspector.js';
|
|
9
9
|
import { DialectAdapter } from '../dialect-adapter.js';
|
|
10
10
|
import { DatabaseConnection } from '../../driver/database-connection.js';
|
|
11
11
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions } from '
|
|
1
|
+
import { DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions } from '../database-introspector.js';
|
|
2
2
|
import { Kysely } from '../../kysely.js';
|
|
3
3
|
export declare class PostgresIntrospector implements DatabaseIntrospector {
|
|
4
4
|
#private;
|
|
@@ -2,7 +2,7 @@ import { Driver } from '../../driver/driver.js';
|
|
|
2
2
|
import { Kysely } from '../../kysely.js';
|
|
3
3
|
import { QueryCompiler } from '../../query-compiler/query-compiler.js';
|
|
4
4
|
import { Dialect } from '../dialect.js';
|
|
5
|
-
import { DatabaseIntrospector } from '
|
|
5
|
+
import { DatabaseIntrospector } from '../database-introspector.js';
|
|
6
6
|
import { DialectAdapter } from '../dialect-adapter.js';
|
|
7
7
|
import { DatabaseConnection } from '../../driver/database-connection.js';
|
|
8
8
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions } from '
|
|
1
|
+
import { DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions } from '../database-introspector.js';
|
|
2
2
|
import { Kysely } from '../../kysely.js';
|
|
3
3
|
export declare class SqliteIntrospector implements DatabaseIntrospector {
|
|
4
4
|
#private;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ export * from './operation-node/drop-view-node.js';
|
|
|
91
91
|
export * from './operation-node/filter-node.js';
|
|
92
92
|
export * from './operation-node/foreign-key-constraint-node.js';
|
|
93
93
|
export * from './operation-node/from-node.js';
|
|
94
|
-
export * from './operation-node/generated-
|
|
94
|
+
export * from './operation-node/generated-node.js';
|
|
95
95
|
export * from './operation-node/group-by-item-node.js';
|
|
96
96
|
export * from './operation-node/group-by-node.js';
|
|
97
97
|
export * from './operation-node/having-node.js';
|
|
@@ -136,7 +136,7 @@ export * from './operation-node/value-node.js';
|
|
|
136
136
|
export * from './operation-node/values-node.js';
|
|
137
137
|
export * from './operation-node/where-node.js';
|
|
138
138
|
export * from './operation-node/with-node.js';
|
|
139
|
-
export * from './
|
|
139
|
+
export * from './dialect/database-introspector.js';
|
|
140
140
|
export * from './util/compilable.js';
|
|
141
141
|
export * from './util/log.js';
|
|
142
142
|
export { AnyColumn, UnknownRow, AnySelectQueryBuilder, } from './util/type-utils.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -103,7 +103,7 @@ __exportStar(require("./operation-node/drop-view-node.js"), exports);
|
|
|
103
103
|
__exportStar(require("./operation-node/filter-node.js"), exports);
|
|
104
104
|
__exportStar(require("./operation-node/foreign-key-constraint-node.js"), exports);
|
|
105
105
|
__exportStar(require("./operation-node/from-node.js"), exports);
|
|
106
|
-
__exportStar(require("./operation-node/generated-
|
|
106
|
+
__exportStar(require("./operation-node/generated-node.js"), exports);
|
|
107
107
|
__exportStar(require("./operation-node/group-by-item-node.js"), exports);
|
|
108
108
|
__exportStar(require("./operation-node/group-by-node.js"), exports);
|
|
109
109
|
__exportStar(require("./operation-node/having-node.js"), exports);
|
|
@@ -148,6 +148,6 @@ __exportStar(require("./operation-node/value-node.js"), exports);
|
|
|
148
148
|
__exportStar(require("./operation-node/values-node.js"), exports);
|
|
149
149
|
__exportStar(require("./operation-node/where-node.js"), exports);
|
|
150
150
|
__exportStar(require("./operation-node/with-node.js"), exports);
|
|
151
|
-
__exportStar(require("./
|
|
151
|
+
__exportStar(require("./dialect/database-introspector.js"), exports);
|
|
152
152
|
__exportStar(require("./util/compilable.js"), exports);
|
|
153
153
|
__exportStar(require("./util/log.js"), exports);
|
package/dist/cjs/kysely.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { QueryExecutor } from './query-executor/query-executor.js';
|
|
|
6
6
|
import { QueryCreator } from './query-creator.js';
|
|
7
7
|
import { KyselyPlugin } from './plugin/kysely-plugin.js';
|
|
8
8
|
import { GeneratedPlaceholder } from './util/type-utils.js';
|
|
9
|
-
import { DatabaseIntrospector } from './
|
|
9
|
+
import { DatabaseIntrospector } from './dialect/database-introspector.js';
|
|
10
10
|
import { Driver, IsolationLevel } from './driver/driver.js';
|
|
11
11
|
import { ParseContext } from './parser/parse-context.js';
|
|
12
12
|
import { FunctionBuilder } from './query-builder/function-builder.js';
|
|
@@ -11,5 +11,5 @@ export interface CheckConstraintNode extends OperationNode {
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const CheckConstraintNode: Readonly<{
|
|
13
13
|
is(node: OperationNode): node is CheckConstraintNode;
|
|
14
|
-
create(
|
|
14
|
+
create(expression: RawNode, constraintName?: string | undefined): CheckConstraintNode;
|
|
15
15
|
}>;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CheckConstraintNode = void 0;
|
|
4
4
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
-
const raw_node_js_1 = require("./raw-node.js");
|
|
6
5
|
const identifier_node_js_1 = require("./identifier-node.js");
|
|
7
6
|
/**
|
|
8
7
|
* @internal
|
|
@@ -11,10 +10,10 @@ exports.CheckConstraintNode = (0, object_utils_js_1.freeze)({
|
|
|
11
10
|
is(node) {
|
|
12
11
|
return node.kind === 'CheckConstraintNode';
|
|
13
12
|
},
|
|
14
|
-
create(
|
|
13
|
+
create(expression, constraintName) {
|
|
15
14
|
return (0, object_utils_js_1.freeze)({
|
|
16
15
|
kind: 'CheckConstraintNode',
|
|
17
|
-
expression
|
|
16
|
+
expression,
|
|
18
17
|
name: constraintName ? identifier_node_js_1.IdentifierNode.create(constraintName) : undefined,
|
|
19
18
|
});
|
|
20
19
|
},
|
|
@@ -2,7 +2,7 @@ import { CheckConstraintNode } from './check-constraint-node.js';
|
|
|
2
2
|
import { ColumnNode } from './column-node.js';
|
|
3
3
|
import { DataTypeNode } from './data-type-node.js';
|
|
4
4
|
import { DefaultValueNode } from './default-value-node.js';
|
|
5
|
-
import {
|
|
5
|
+
import { GeneratedNode } from './generated-node.js';
|
|
6
6
|
import { OperationNode } from './operation-node.js';
|
|
7
7
|
import { RawNode } from './raw-node.js';
|
|
8
8
|
import { ReferencesNode } from './references-node.js';
|
|
@@ -19,7 +19,7 @@ export interface ColumnDefinitionNode extends OperationNode {
|
|
|
19
19
|
readonly notNull?: boolean;
|
|
20
20
|
readonly defaultTo?: DefaultValueNode;
|
|
21
21
|
readonly check?: CheckConstraintNode;
|
|
22
|
-
readonly
|
|
22
|
+
readonly generated?: GeneratedNode;
|
|
23
23
|
readonly unsigned?: boolean;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OperationNode } from './operation-node.js';
|
|
2
|
-
export declare type ColumnDataType = 'varchar' | `varchar(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | 'date' | 'datetime' | 'time' | 'timetz' | 'timestamp' | 'timestamptz' | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb';
|
|
2
|
+
export declare type ColumnDataType = 'varchar' | `varchar(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | 'date' | 'datetime' | 'time' | 'timetz' | 'timestamp' | 'timestamptz' | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob';
|
|
3
3
|
export declare type DataTypeParams = Omit<DataTypeNode, 'kind' | 'dataType'>;
|
|
4
4
|
export interface DataTypeNode extends OperationNode {
|
|
5
5
|
readonly kind: 'DataTypeNode';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OperationNode } from './operation-node.js';
|
|
2
|
+
import { RawNode } from './raw-node.js';
|
|
3
|
+
export declare type GeneratedNodeParams = Omit<GeneratedNode, 'kind' | 'expression'>;
|
|
4
|
+
export interface GeneratedNode extends OperationNode {
|
|
5
|
+
readonly kind: 'GeneratedNode';
|
|
6
|
+
readonly byDefault?: boolean;
|
|
7
|
+
readonly always?: boolean;
|
|
8
|
+
readonly identity?: boolean;
|
|
9
|
+
readonly stored?: boolean;
|
|
10
|
+
readonly expression?: RawNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare const GeneratedNode: Readonly<{
|
|
16
|
+
is(node: OperationNode): node is GeneratedNode;
|
|
17
|
+
create(params: GeneratedNodeParams): GeneratedNode;
|
|
18
|
+
createWithExpression(expression: RawNode): GeneratedNode;
|
|
19
|
+
cloneWith(node: GeneratedNode, params: GeneratedNodeParams): GeneratedNode;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeneratedNode = void 0;
|
|
4
|
+
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.GeneratedNode = (0, object_utils_js_1.freeze)({
|
|
9
|
+
is(node) {
|
|
10
|
+
return node.kind === 'GeneratedNode';
|
|
11
|
+
},
|
|
12
|
+
create(params) {
|
|
13
|
+
return (0, object_utils_js_1.freeze)({
|
|
14
|
+
kind: 'GeneratedNode',
|
|
15
|
+
...params,
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
createWithExpression(expression) {
|
|
19
|
+
return (0, object_utils_js_1.freeze)({
|
|
20
|
+
kind: 'GeneratedNode',
|
|
21
|
+
always: true,
|
|
22
|
+
expression,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
cloneWith(node, params) {
|
|
26
|
+
return (0, object_utils_js_1.freeze)({
|
|
27
|
+
...node,
|
|
28
|
+
...params,
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
});
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { ColumnNode } from './column-node.js';
|
|
2
2
|
import { ColumnUpdateNode } from './column-update-node.js';
|
|
3
3
|
import { IdentifierNode } from './identifier-node.js';
|
|
4
|
+
import { FilterExpressionNode } from './operation-node-utils.js';
|
|
4
5
|
import { OperationNode } from './operation-node.js';
|
|
5
|
-
|
|
6
|
+
import { RawNode } from './raw-node.js';
|
|
7
|
+
import { WhereNode } from './where-node.js';
|
|
8
|
+
export declare type OnConflictNodeProps = Omit<OnConflictNode, 'kind' | 'indexWhere' | 'updateWhere'>;
|
|
6
9
|
export interface OnConflictNode extends OperationNode {
|
|
7
10
|
readonly kind: 'OnConflictNode';
|
|
8
11
|
readonly columns?: ReadonlyArray<ColumnNode>;
|
|
9
12
|
readonly constraint?: IdentifierNode;
|
|
13
|
+
readonly indexExpression?: RawNode;
|
|
14
|
+
readonly indexWhere?: WhereNode;
|
|
10
15
|
readonly updates?: ReadonlyArray<ColumnUpdateNode>;
|
|
16
|
+
readonly updateWhere?: WhereNode;
|
|
11
17
|
readonly doNothing?: boolean;
|
|
12
18
|
}
|
|
13
19
|
/**
|
|
@@ -15,5 +21,10 @@ export interface OnConflictNode extends OperationNode {
|
|
|
15
21
|
*/
|
|
16
22
|
export declare const OnConflictNode: Readonly<{
|
|
17
23
|
is(node: OperationNode): node is OnConflictNode;
|
|
18
|
-
create(
|
|
24
|
+
create(): OnConflictNode;
|
|
25
|
+
cloneWith(node: OnConflictNode, props: OnConflictNodeProps): OnConflictNode;
|
|
26
|
+
cloneWithIndexWhere(node: OnConflictNode, filter: FilterExpressionNode): OnConflictNode;
|
|
27
|
+
cloneWithIndexOrWhere(node: OnConflictNode, filter: FilterExpressionNode): OnConflictNode;
|
|
28
|
+
cloneWithUpdateWhere(node: OnConflictNode, filter: FilterExpressionNode): OnConflictNode;
|
|
29
|
+
cloneWithUpdateOrWhere(node: OnConflictNode, filter: FilterExpressionNode): OnConflictNode;
|
|
19
30
|
}>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OnConflictNode = void 0;
|
|
4
4
|
const object_utils_js_1 = require("../util/object-utils.js");
|
|
5
|
+
const where_node_js_1 = require("./where-node.js");
|
|
5
6
|
/**
|
|
6
7
|
* @internal
|
|
7
8
|
*/
|
|
@@ -9,10 +10,47 @@ exports.OnConflictNode = (0, object_utils_js_1.freeze)({
|
|
|
9
10
|
is(node) {
|
|
10
11
|
return node.kind === 'OnConflictNode';
|
|
11
12
|
},
|
|
12
|
-
create(
|
|
13
|
+
create() {
|
|
13
14
|
return (0, object_utils_js_1.freeze)({
|
|
14
15
|
kind: 'OnConflictNode',
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
cloneWith(node, props) {
|
|
19
|
+
return (0, object_utils_js_1.freeze)({
|
|
20
|
+
...node,
|
|
15
21
|
...props,
|
|
16
22
|
});
|
|
17
23
|
},
|
|
24
|
+
cloneWithIndexWhere(node, filter) {
|
|
25
|
+
return (0, object_utils_js_1.freeze)({
|
|
26
|
+
...node,
|
|
27
|
+
indexWhere: node.indexWhere
|
|
28
|
+
? where_node_js_1.WhereNode.cloneWithFilter(node.indexWhere, 'And', filter)
|
|
29
|
+
: where_node_js_1.WhereNode.create(filter),
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
cloneWithIndexOrWhere(node, filter) {
|
|
33
|
+
return (0, object_utils_js_1.freeze)({
|
|
34
|
+
...node,
|
|
35
|
+
indexWhere: node.indexWhere
|
|
36
|
+
? where_node_js_1.WhereNode.cloneWithFilter(node.indexWhere, 'Or', filter)
|
|
37
|
+
: where_node_js_1.WhereNode.create(filter),
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
cloneWithUpdateWhere(node, filter) {
|
|
41
|
+
return (0, object_utils_js_1.freeze)({
|
|
42
|
+
...node,
|
|
43
|
+
updateWhere: node.updateWhere
|
|
44
|
+
? where_node_js_1.WhereNode.cloneWithFilter(node.updateWhere, 'And', filter)
|
|
45
|
+
: where_node_js_1.WhereNode.create(filter),
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
cloneWithUpdateOrWhere(node, filter) {
|
|
49
|
+
return (0, object_utils_js_1.freeze)({
|
|
50
|
+
...node,
|
|
51
|
+
updateWhere: node.updateWhere
|
|
52
|
+
? where_node_js_1.WhereNode.cloneWithFilter(node.updateWhere, 'Or', filter)
|
|
53
|
+
: where_node_js_1.WhereNode.create(filter),
|
|
54
|
+
});
|
|
55
|
+
},
|
|
18
56
|
});
|
|
@@ -61,7 +61,7 @@ import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
|
61
61
|
import { UnionNode } from './union-node.js';
|
|
62
62
|
import { CreateViewNode } from './create-view-node.js';
|
|
63
63
|
import { DropViewNode } from './drop-view-node.js';
|
|
64
|
-
import {
|
|
64
|
+
import { GeneratedNode } from './generated-node.js';
|
|
65
65
|
import { DefaultValueNode } from './default-value-node.js';
|
|
66
66
|
import { OnNode } from './on-node.js';
|
|
67
67
|
import { ValuesNode } from './values-node.js';
|
|
@@ -156,7 +156,7 @@ export declare class OperationNodeTransformer {
|
|
|
156
156
|
protected transformDropConstraint(node: DropConstraintNode): DropConstraintNode;
|
|
157
157
|
protected transformCreateView(node: CreateViewNode): CreateViewNode;
|
|
158
158
|
protected transformDropView(node: DropViewNode): DropViewNode;
|
|
159
|
-
protected
|
|
159
|
+
protected transformGenerated(node: GeneratedNode): GeneratedNode;
|
|
160
160
|
protected transformDefaultValue(node: DefaultValueNode): DefaultValueNode;
|
|
161
161
|
protected transformOn(node: OnNode): OnNode;
|
|
162
162
|
protected transformDataType(node: DataTypeNode): DataTypeNode;
|
|
@@ -96,7 +96,7 @@ class OperationNodeTransformer {
|
|
|
96
96
|
UnionNode: this.transformUnion.bind(this),
|
|
97
97
|
CreateViewNode: this.transformCreateView.bind(this),
|
|
98
98
|
DropViewNode: this.transformDropView.bind(this),
|
|
99
|
-
|
|
99
|
+
GeneratedNode: this.transformGenerated.bind(this),
|
|
100
100
|
DefaultValueNode: this.transformDefaultValue.bind(this),
|
|
101
101
|
OnNode: this.transformOn.bind(this),
|
|
102
102
|
ValuesNode: this.transformValues.bind(this),
|
|
@@ -288,7 +288,7 @@ class OperationNodeTransformer {
|
|
|
288
288
|
unsigned: node.unsigned,
|
|
289
289
|
defaultTo: this.transformNode(node.defaultTo),
|
|
290
290
|
check: this.transformNode(node.check),
|
|
291
|
-
|
|
291
|
+
generated: this.transformNode(node.generated),
|
|
292
292
|
};
|
|
293
293
|
}
|
|
294
294
|
transformAddColumn(node) {
|
|
@@ -364,7 +364,10 @@ class OperationNodeTransformer {
|
|
|
364
364
|
kind: 'OnConflictNode',
|
|
365
365
|
columns: this.transformNodeList(node.columns),
|
|
366
366
|
constraint: this.transformNode(node.constraint),
|
|
367
|
+
indexExpression: this.transformNode(node.indexExpression),
|
|
368
|
+
indexWhere: this.transformNode(node.indexWhere),
|
|
367
369
|
updates: this.transformNodeList(node.updates),
|
|
370
|
+
updateWhere: this.transformNode(node.updateWhere),
|
|
368
371
|
doNothing: node.doNothing,
|
|
369
372
|
};
|
|
370
373
|
}
|
|
@@ -563,11 +566,14 @@ class OperationNodeTransformer {
|
|
|
563
566
|
materialized: node.materialized,
|
|
564
567
|
};
|
|
565
568
|
}
|
|
566
|
-
|
|
569
|
+
transformGenerated(node) {
|
|
567
570
|
return {
|
|
568
|
-
kind: '
|
|
569
|
-
|
|
571
|
+
kind: 'GeneratedNode',
|
|
572
|
+
byDefault: node.byDefault,
|
|
573
|
+
always: node.always,
|
|
574
|
+
identity: node.identity,
|
|
570
575
|
stored: node.stored,
|
|
576
|
+
expression: this.transformNode(node.expression),
|
|
571
577
|
};
|
|
572
578
|
}
|
|
573
579
|
transformDefaultValue(node) {
|
|
@@ -61,7 +61,7 @@ import { OnDuplicateKeyNode } from './on-duplicate-key-node.js';
|
|
|
61
61
|
import { UnionNode } from './union-node.js';
|
|
62
62
|
import { CreateViewNode } from './create-view-node.js';
|
|
63
63
|
import { DropViewNode } from './drop-view-node.js';
|
|
64
|
-
import {
|
|
64
|
+
import { GeneratedNode } from './generated-node.js';
|
|
65
65
|
import { DefaultValueNode } from './default-value-node.js';
|
|
66
66
|
import { OnNode } from './on-node.js';
|
|
67
67
|
import { ValuesNode } from './values-node.js';
|
|
@@ -132,7 +132,7 @@ export declare abstract class OperationNodeVisitor {
|
|
|
132
132
|
protected abstract visitOperator(node: OperatorNode): void;
|
|
133
133
|
protected abstract visitCreateView(node: CreateViewNode): void;
|
|
134
134
|
protected abstract visitDropView(node: DropViewNode): void;
|
|
135
|
-
protected abstract
|
|
135
|
+
protected abstract visitGenerated(node: GeneratedNode): void;
|
|
136
136
|
protected abstract visitDefaultValue(node: DefaultValueNode): void;
|
|
137
137
|
protected abstract visitOn(node: OnNode): void;
|
|
138
138
|
protected abstract visitValues(node: ValuesNode): void;
|
|
@@ -70,7 +70,7 @@ class OperationNodeVisitor {
|
|
|
70
70
|
UnionNode: this.visitUnion.bind(this),
|
|
71
71
|
CreateViewNode: this.visitCreateView.bind(this),
|
|
72
72
|
DropViewNode: this.visitDropView.bind(this),
|
|
73
|
-
|
|
73
|
+
GeneratedNode: this.visitGenerated.bind(this),
|
|
74
74
|
DefaultValueNode: this.visitDefaultValue.bind(this),
|
|
75
75
|
OnNode: this.visitOn.bind(this),
|
|
76
76
|
ValuesNode: this.visitValues.bind(this),
|
|
@@ -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' | 'CreateViewNode' | 'DropViewNode' | '
|
|
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' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode';
|
|
2
2
|
export interface OperationNode {
|
|
3
3
|
readonly kind: OperationNodeKind;
|
|
4
4
|
}
|