@prisma/client-engine-runtime 6.4.0-dev.48 → 6.4.0-dev.50
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/QueryPlan.d.ts +75 -0
- package/dist/events.d.ts +6 -0
- package/dist/index.d.mts +21 -213
- package/dist/index.d.ts +21 -213
- package/dist/index.js +100 -310
- package/dist/index.mjs +652 -0
- package/dist/interpreter/QueryInterpreter.d.ts +14 -0
- package/dist/interpreter/renderQuery.d.ts +4 -0
- package/dist/interpreter/renderQueryTemplate.d.ts +10 -0
- package/dist/interpreter/renderQueryTemplate.test.d.ts +1 -0
- package/dist/interpreter/scope.d.ts +13 -0
- package/dist/interpreter/serialize.d.ts +2 -0
- package/dist/interpreter/serialize.test.d.ts +1 -0
- package/dist/transactionManager/Transaction.d.ts +15 -0
- package/dist/transactionManager/TransactionManager.d.ts +20 -0
- package/dist/transactionManager/TransactionManager.test.d.ts +1 -0
- package/dist/transactionManager/TransactionManagerErrors.d.ts +35 -0
- package/dist/utils.d.ts +1 -0
- package/package.json +26 -4
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export type PrismaValuePlaceholder = {
|
|
2
|
+
prisma__type: 'param';
|
|
3
|
+
prisma__value: {
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare function isPrismaValuePlaceholder(value: unknown): value is PrismaValuePlaceholder;
|
|
9
|
+
export type PrismaValue = string | boolean | number | PrismaValue[] | null | Record<string, unknown> | PrismaValuePlaceholder;
|
|
10
|
+
export type QueryPlanBinding = {
|
|
11
|
+
name: string;
|
|
12
|
+
expr: QueryPlanNode;
|
|
13
|
+
};
|
|
14
|
+
export type QueryPlanDbQuery = {
|
|
15
|
+
query: string;
|
|
16
|
+
params: PrismaValue[];
|
|
17
|
+
};
|
|
18
|
+
export type JoinExpression = {
|
|
19
|
+
child: QueryPlanNode;
|
|
20
|
+
on: [left: string, right: string][];
|
|
21
|
+
parentField: string;
|
|
22
|
+
};
|
|
23
|
+
export type QueryPlanNode = {
|
|
24
|
+
type: 'seq';
|
|
25
|
+
args: QueryPlanNode[];
|
|
26
|
+
} | {
|
|
27
|
+
type: 'get';
|
|
28
|
+
args: {
|
|
29
|
+
name: string;
|
|
30
|
+
};
|
|
31
|
+
} | {
|
|
32
|
+
type: 'let';
|
|
33
|
+
args: {
|
|
34
|
+
bindings: QueryPlanBinding[];
|
|
35
|
+
expr: QueryPlanNode;
|
|
36
|
+
};
|
|
37
|
+
} | {
|
|
38
|
+
type: 'getFirstNonEmpty';
|
|
39
|
+
args: {
|
|
40
|
+
names: string[];
|
|
41
|
+
};
|
|
42
|
+
} | {
|
|
43
|
+
type: 'query';
|
|
44
|
+
args: QueryPlanDbQuery;
|
|
45
|
+
} | {
|
|
46
|
+
type: 'execute';
|
|
47
|
+
args: QueryPlanDbQuery;
|
|
48
|
+
} | {
|
|
49
|
+
type: 'reverse';
|
|
50
|
+
args: QueryPlanNode;
|
|
51
|
+
} | {
|
|
52
|
+
type: 'sum';
|
|
53
|
+
args: QueryPlanNode[];
|
|
54
|
+
} | {
|
|
55
|
+
type: 'concat';
|
|
56
|
+
args: QueryPlanNode[];
|
|
57
|
+
} | {
|
|
58
|
+
type: 'unique';
|
|
59
|
+
args: QueryPlanNode;
|
|
60
|
+
} | {
|
|
61
|
+
type: 'required';
|
|
62
|
+
args: QueryPlanNode;
|
|
63
|
+
} | {
|
|
64
|
+
type: 'join';
|
|
65
|
+
args: {
|
|
66
|
+
parent: QueryPlanNode;
|
|
67
|
+
children: JoinExpression[];
|
|
68
|
+
};
|
|
69
|
+
} | {
|
|
70
|
+
type: 'mapField';
|
|
71
|
+
args: {
|
|
72
|
+
field: string;
|
|
73
|
+
records: QueryPlanNode;
|
|
74
|
+
};
|
|
75
|
+
};
|
package/dist/events.d.ts
ADDED
package/dist/index.d.mts
CHANGED
|
@@ -1,105 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Notice while a query argument may be `null`, `ArgType` is guaranteed to be defined.
|
|
5
|
-
*/
|
|
6
|
-
declare type ArgType = 'Int32' | 'Int64' | 'Float' | 'Double' | 'Text' | 'Enum' | 'EnumArray' | 'Bytes' | 'Boolean' | 'Char' | 'Array' | 'Numeric' | 'Json' | 'Xml' | 'Uuid' | 'DateTime' | 'Date' | 'Time';
|
|
1
|
+
import { DriverAdapter } from '@prisma/driver-adapter-utils';
|
|
2
|
+
import { Queryable } from '@prisma/driver-adapter-utils';
|
|
3
|
+
import { Transaction } from '@prisma/driver-adapter-utils';
|
|
7
4
|
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
declare const ColumnTypeEnum: {
|
|
11
|
-
readonly Int32: 0;
|
|
12
|
-
readonly Int64: 1;
|
|
13
|
-
readonly Float: 2;
|
|
14
|
-
readonly Double: 3;
|
|
15
|
-
readonly Numeric: 4;
|
|
16
|
-
readonly Boolean: 5;
|
|
17
|
-
readonly Character: 6;
|
|
18
|
-
readonly Text: 7;
|
|
19
|
-
readonly Date: 8;
|
|
20
|
-
readonly Time: 9;
|
|
21
|
-
readonly DateTime: 10;
|
|
22
|
-
readonly Json: 11;
|
|
23
|
-
readonly Enum: 12;
|
|
24
|
-
readonly Bytes: 13;
|
|
25
|
-
readonly Set: 14;
|
|
26
|
-
readonly Uuid: 15;
|
|
27
|
-
readonly Int32Array: 64;
|
|
28
|
-
readonly Int64Array: 65;
|
|
29
|
-
readonly FloatArray: 66;
|
|
30
|
-
readonly DoubleArray: 67;
|
|
31
|
-
readonly NumericArray: 68;
|
|
32
|
-
readonly BooleanArray: 69;
|
|
33
|
-
readonly CharacterArray: 70;
|
|
34
|
-
readonly TextArray: 71;
|
|
35
|
-
readonly DateArray: 72;
|
|
36
|
-
readonly TimeArray: 73;
|
|
37
|
-
readonly DateTimeArray: 74;
|
|
38
|
-
readonly JsonArray: 75;
|
|
39
|
-
readonly EnumArray: 76;
|
|
40
|
-
readonly BytesArray: 77;
|
|
41
|
-
readonly UuidArray: 78;
|
|
42
|
-
readonly UnknownNumber: 128;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
declare type ConnectionInfo = {
|
|
46
|
-
schemaName?: string;
|
|
47
|
-
maxBindValues?: number;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
declare interface DriverAdapter extends Queryable {
|
|
51
|
-
/**
|
|
52
|
-
* Starts new transaction.
|
|
53
|
-
*/
|
|
54
|
-
transactionContext(): Promise<Result<TransactionContext>>;
|
|
55
|
-
/**
|
|
56
|
-
* Optional method that returns extra connection info
|
|
57
|
-
*/
|
|
58
|
-
getConnectionInfo?(): Result<ConnectionInfo>;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
declare type Error_2 = {
|
|
62
|
-
kind: 'GenericJs';
|
|
63
|
-
id: number;
|
|
64
|
-
} | {
|
|
65
|
-
kind: 'UnsupportedNativeDataType';
|
|
66
|
-
type: string;
|
|
67
|
-
} | {
|
|
68
|
-
kind: 'postgres';
|
|
69
|
-
code: string;
|
|
70
|
-
severity: string;
|
|
71
|
-
message: string;
|
|
72
|
-
detail: string | undefined;
|
|
73
|
-
column: string | undefined;
|
|
74
|
-
hint: string | undefined;
|
|
75
|
-
} | {
|
|
76
|
-
kind: 'mysql';
|
|
77
|
-
code: number;
|
|
78
|
-
message: string;
|
|
79
|
-
state: string;
|
|
80
|
-
} | {
|
|
81
|
-
kind: 'sqlite';
|
|
82
|
-
/**
|
|
83
|
-
* Sqlite extended error code: https://www.sqlite.org/rescode.html
|
|
84
|
-
*/
|
|
85
|
-
extendedCode: number;
|
|
86
|
-
message: string;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
declare type InteractiveTransactionInfo<Payload = unknown> = {
|
|
90
|
-
/**
|
|
91
|
-
* Transaction ID returned by the query engine.
|
|
92
|
-
*/
|
|
93
|
-
id: string;
|
|
94
|
-
/**
|
|
95
|
-
* Arbitrary payload the meaning of which depends on the `Engine` implementation.
|
|
96
|
-
* For example, `DataProxyEngine` needs to associate different API endpoints with transactions.
|
|
97
|
-
* In `LibraryEngine` and `BinaryEngine` it is currently not used.
|
|
98
|
-
*/
|
|
99
|
-
payload: Payload;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export declare enum IsolationLevel {
|
|
5
|
+
export declare const enum IsolationLevel {
|
|
103
6
|
ReadUncommitted = "ReadUncommitted",
|
|
104
7
|
ReadCommitted = "ReadCommitted",
|
|
105
8
|
RepeatableRead = "RepeatableRead",
|
|
@@ -115,14 +18,6 @@ export declare type JoinExpression = {
|
|
|
115
18
|
parentField: string;
|
|
116
19
|
};
|
|
117
20
|
|
|
118
|
-
declare const officialPrismaAdapters: readonly ["@prisma/adapter-planetscale", "@prisma/adapter-neon", "@prisma/adapter-libsql", "@prisma/adapter-d1", "@prisma/adapter-pg", "@prisma/adapter-pg-worker"];
|
|
119
|
-
|
|
120
|
-
declare type Options = {
|
|
121
|
-
maxWait?: number;
|
|
122
|
-
timeout?: number;
|
|
123
|
-
isolationLevel?: IsolationLevel;
|
|
124
|
-
};
|
|
125
|
-
|
|
126
21
|
export declare type PrismaValue = string | boolean | number | PrismaValue[] | null | Record<string, unknown> | PrismaValuePlaceholder;
|
|
127
22
|
|
|
128
23
|
export declare type PrismaValuePlaceholder = {
|
|
@@ -133,40 +28,11 @@ export declare type PrismaValuePlaceholder = {
|
|
|
133
28
|
};
|
|
134
29
|
};
|
|
135
30
|
|
|
136
|
-
declare type
|
|
137
|
-
|
|
138
|
-
declare type Query = {
|
|
139
|
-
sql: string;
|
|
140
|
-
args: Array<unknown>;
|
|
141
|
-
argTypes: Array<ArgType>;
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
declare interface Queryable {
|
|
145
|
-
readonly provider: Provider;
|
|
146
|
-
readonly adapterName: (typeof officialPrismaAdapters)[number] | (string & {});
|
|
147
|
-
/**
|
|
148
|
-
* Execute a query given as SQL, interpolating the given parameters,
|
|
149
|
-
* and returning the type-aware result set of the query.
|
|
150
|
-
*
|
|
151
|
-
* This is the preferred way of executing `SELECT` queries.
|
|
152
|
-
*/
|
|
153
|
-
queryRaw(params: Query): Promise<Result<ResultSet>>;
|
|
154
|
-
/**
|
|
155
|
-
* Execute a query given as SQL, interpolating the given parameters,
|
|
156
|
-
* and returning the number of affected rows.
|
|
157
|
-
*
|
|
158
|
-
* This is the preferred way of executing `INSERT`, `UPDATE`, `DELETE` queries,
|
|
159
|
-
* as well as transactional queries.
|
|
160
|
-
*/
|
|
161
|
-
executeRaw(params: Query): Promise<Result<number>>;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
declare type QueryEvent = {
|
|
31
|
+
export declare type QueryEvent = {
|
|
165
32
|
timestamp: Date;
|
|
166
33
|
query: string;
|
|
167
|
-
params:
|
|
34
|
+
params: unknown[];
|
|
168
35
|
duration: number;
|
|
169
|
-
target: string;
|
|
170
36
|
};
|
|
171
37
|
|
|
172
38
|
export declare class QueryInterpreter {
|
|
@@ -246,78 +112,21 @@ export declare type QueryPlanNode = {
|
|
|
246
112
|
};
|
|
247
113
|
};
|
|
248
114
|
|
|
249
|
-
declare type
|
|
250
|
-
|
|
251
|
-
flatMap<U>(fn: (value: T) => Result<U>): Result<U>;
|
|
252
|
-
} & ({
|
|
253
|
-
readonly ok: true;
|
|
254
|
-
readonly value: T;
|
|
255
|
-
} | {
|
|
256
|
-
readonly ok: false;
|
|
257
|
-
readonly error: Error_2;
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
declare interface ResultSet {
|
|
261
|
-
/**
|
|
262
|
-
* List of column types appearing in a database query, in the same order as `columnNames`.
|
|
263
|
-
* They are used within the Query Engine to convert values from JS to Quaint values.
|
|
264
|
-
*/
|
|
265
|
-
columnTypes: Array<ColumnType>;
|
|
266
|
-
/**
|
|
267
|
-
* List of column names appearing in a database query, in the same order as `columnTypes`.
|
|
268
|
-
*/
|
|
269
|
-
columnNames: Array<string>;
|
|
270
|
-
/**
|
|
271
|
-
* List of rows retrieved from a database query.
|
|
272
|
-
* Each row is a list of values, whose length matches `columnNames` and `columnTypes`.
|
|
273
|
-
*/
|
|
274
|
-
rows: Array<Array<unknown>>;
|
|
275
|
-
/**
|
|
276
|
-
* The last ID of an `INSERT` statement, if any.
|
|
277
|
-
* This is required for `AUTO_INCREMENT` columns in databases based on MySQL and SQLite.
|
|
278
|
-
*/
|
|
279
|
-
lastInsertId?: string;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
declare interface Transaction extends Queryable {
|
|
283
|
-
/**
|
|
284
|
-
* Transaction options.
|
|
285
|
-
*/
|
|
286
|
-
readonly options: TransactionOptions;
|
|
287
|
-
/**
|
|
288
|
-
* Commit the transaction.
|
|
289
|
-
*/
|
|
290
|
-
commit(): Promise<Result<void>>;
|
|
291
|
-
/**
|
|
292
|
-
* Rolls back the transaction.
|
|
293
|
-
*/
|
|
294
|
-
rollback(): Promise<Result<void>>;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
declare interface TransactionContext extends Queryable {
|
|
298
|
-
/**
|
|
299
|
-
* Starts new transaction.
|
|
300
|
-
*/
|
|
301
|
-
startTransaction(): Promise<Result<Transaction>>;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
declare type TransactionHeaders = {
|
|
305
|
-
traceparent?: string;
|
|
115
|
+
export declare type TransactionInfo = {
|
|
116
|
+
id: string;
|
|
306
117
|
};
|
|
307
118
|
|
|
308
119
|
export declare class TransactionManager {
|
|
309
120
|
private transactions;
|
|
310
121
|
private closedTransactions;
|
|
311
122
|
private readonly driverAdapter;
|
|
312
|
-
|
|
313
|
-
constructor({ driverAdapter, clientVersion }: {
|
|
123
|
+
constructor({ driverAdapter }: {
|
|
314
124
|
driverAdapter: DriverAdapter;
|
|
315
|
-
clientVersion: string;
|
|
316
125
|
});
|
|
317
|
-
startTransaction(options:
|
|
126
|
+
startTransaction(options: TransactionOptions): Promise<TransactionInfo>;
|
|
318
127
|
commitTransaction(transactionId: string): Promise<void>;
|
|
319
128
|
rollbackTransaction(transactionId: string): Promise<void>;
|
|
320
|
-
getTransaction(txInfo:
|
|
129
|
+
getTransaction(txInfo: TransactionInfo, operation: string): Transaction;
|
|
321
130
|
private getActiveTransaction;
|
|
322
131
|
cancelAllTransactions(): Promise<void>;
|
|
323
132
|
private startTransactionTimeout;
|
|
@@ -326,17 +135,16 @@ export declare class TransactionManager {
|
|
|
326
135
|
private requiresSettingIsolationLevelFirst;
|
|
327
136
|
}
|
|
328
137
|
|
|
329
|
-
declare
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
declare namespace Tx {
|
|
334
|
-
export {
|
|
335
|
-
IsolationLevel,
|
|
336
|
-
Options,
|
|
337
|
-
InteractiveTransactionInfo,
|
|
338
|
-
TransactionHeaders
|
|
339
|
-
}
|
|
138
|
+
export declare class TransactionManagerError extends Error {
|
|
139
|
+
meta?: Record<string, unknown> | undefined;
|
|
140
|
+
code: string;
|
|
141
|
+
constructor(message: string, meta?: Record<string, unknown> | undefined);
|
|
340
142
|
}
|
|
341
143
|
|
|
144
|
+
export declare type TransactionOptions = {
|
|
145
|
+
maxWait?: number;
|
|
146
|
+
timeout?: number;
|
|
147
|
+
isolationLevel?: IsolationLevel;
|
|
148
|
+
};
|
|
149
|
+
|
|
342
150
|
export { }
|
package/dist/index.d.ts
CHANGED
|
@@ -1,105 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Notice while a query argument may be `null`, `ArgType` is guaranteed to be defined.
|
|
5
|
-
*/
|
|
6
|
-
declare type ArgType = 'Int32' | 'Int64' | 'Float' | 'Double' | 'Text' | 'Enum' | 'EnumArray' | 'Bytes' | 'Boolean' | 'Char' | 'Array' | 'Numeric' | 'Json' | 'Xml' | 'Uuid' | 'DateTime' | 'Date' | 'Time';
|
|
1
|
+
import { DriverAdapter } from '@prisma/driver-adapter-utils';
|
|
2
|
+
import { Queryable } from '@prisma/driver-adapter-utils';
|
|
3
|
+
import { Transaction } from '@prisma/driver-adapter-utils';
|
|
7
4
|
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
declare const ColumnTypeEnum: {
|
|
11
|
-
readonly Int32: 0;
|
|
12
|
-
readonly Int64: 1;
|
|
13
|
-
readonly Float: 2;
|
|
14
|
-
readonly Double: 3;
|
|
15
|
-
readonly Numeric: 4;
|
|
16
|
-
readonly Boolean: 5;
|
|
17
|
-
readonly Character: 6;
|
|
18
|
-
readonly Text: 7;
|
|
19
|
-
readonly Date: 8;
|
|
20
|
-
readonly Time: 9;
|
|
21
|
-
readonly DateTime: 10;
|
|
22
|
-
readonly Json: 11;
|
|
23
|
-
readonly Enum: 12;
|
|
24
|
-
readonly Bytes: 13;
|
|
25
|
-
readonly Set: 14;
|
|
26
|
-
readonly Uuid: 15;
|
|
27
|
-
readonly Int32Array: 64;
|
|
28
|
-
readonly Int64Array: 65;
|
|
29
|
-
readonly FloatArray: 66;
|
|
30
|
-
readonly DoubleArray: 67;
|
|
31
|
-
readonly NumericArray: 68;
|
|
32
|
-
readonly BooleanArray: 69;
|
|
33
|
-
readonly CharacterArray: 70;
|
|
34
|
-
readonly TextArray: 71;
|
|
35
|
-
readonly DateArray: 72;
|
|
36
|
-
readonly TimeArray: 73;
|
|
37
|
-
readonly DateTimeArray: 74;
|
|
38
|
-
readonly JsonArray: 75;
|
|
39
|
-
readonly EnumArray: 76;
|
|
40
|
-
readonly BytesArray: 77;
|
|
41
|
-
readonly UuidArray: 78;
|
|
42
|
-
readonly UnknownNumber: 128;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
declare type ConnectionInfo = {
|
|
46
|
-
schemaName?: string;
|
|
47
|
-
maxBindValues?: number;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
declare interface DriverAdapter extends Queryable {
|
|
51
|
-
/**
|
|
52
|
-
* Starts new transaction.
|
|
53
|
-
*/
|
|
54
|
-
transactionContext(): Promise<Result<TransactionContext>>;
|
|
55
|
-
/**
|
|
56
|
-
* Optional method that returns extra connection info
|
|
57
|
-
*/
|
|
58
|
-
getConnectionInfo?(): Result<ConnectionInfo>;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
declare type Error_2 = {
|
|
62
|
-
kind: 'GenericJs';
|
|
63
|
-
id: number;
|
|
64
|
-
} | {
|
|
65
|
-
kind: 'UnsupportedNativeDataType';
|
|
66
|
-
type: string;
|
|
67
|
-
} | {
|
|
68
|
-
kind: 'postgres';
|
|
69
|
-
code: string;
|
|
70
|
-
severity: string;
|
|
71
|
-
message: string;
|
|
72
|
-
detail: string | undefined;
|
|
73
|
-
column: string | undefined;
|
|
74
|
-
hint: string | undefined;
|
|
75
|
-
} | {
|
|
76
|
-
kind: 'mysql';
|
|
77
|
-
code: number;
|
|
78
|
-
message: string;
|
|
79
|
-
state: string;
|
|
80
|
-
} | {
|
|
81
|
-
kind: 'sqlite';
|
|
82
|
-
/**
|
|
83
|
-
* Sqlite extended error code: https://www.sqlite.org/rescode.html
|
|
84
|
-
*/
|
|
85
|
-
extendedCode: number;
|
|
86
|
-
message: string;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
declare type InteractiveTransactionInfo<Payload = unknown> = {
|
|
90
|
-
/**
|
|
91
|
-
* Transaction ID returned by the query engine.
|
|
92
|
-
*/
|
|
93
|
-
id: string;
|
|
94
|
-
/**
|
|
95
|
-
* Arbitrary payload the meaning of which depends on the `Engine` implementation.
|
|
96
|
-
* For example, `DataProxyEngine` needs to associate different API endpoints with transactions.
|
|
97
|
-
* In `LibraryEngine` and `BinaryEngine` it is currently not used.
|
|
98
|
-
*/
|
|
99
|
-
payload: Payload;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export declare enum IsolationLevel {
|
|
5
|
+
export declare const enum IsolationLevel {
|
|
103
6
|
ReadUncommitted = "ReadUncommitted",
|
|
104
7
|
ReadCommitted = "ReadCommitted",
|
|
105
8
|
RepeatableRead = "RepeatableRead",
|
|
@@ -115,14 +18,6 @@ export declare type JoinExpression = {
|
|
|
115
18
|
parentField: string;
|
|
116
19
|
};
|
|
117
20
|
|
|
118
|
-
declare const officialPrismaAdapters: readonly ["@prisma/adapter-planetscale", "@prisma/adapter-neon", "@prisma/adapter-libsql", "@prisma/adapter-d1", "@prisma/adapter-pg", "@prisma/adapter-pg-worker"];
|
|
119
|
-
|
|
120
|
-
declare type Options = {
|
|
121
|
-
maxWait?: number;
|
|
122
|
-
timeout?: number;
|
|
123
|
-
isolationLevel?: IsolationLevel;
|
|
124
|
-
};
|
|
125
|
-
|
|
126
21
|
export declare type PrismaValue = string | boolean | number | PrismaValue[] | null | Record<string, unknown> | PrismaValuePlaceholder;
|
|
127
22
|
|
|
128
23
|
export declare type PrismaValuePlaceholder = {
|
|
@@ -133,40 +28,11 @@ export declare type PrismaValuePlaceholder = {
|
|
|
133
28
|
};
|
|
134
29
|
};
|
|
135
30
|
|
|
136
|
-
declare type
|
|
137
|
-
|
|
138
|
-
declare type Query = {
|
|
139
|
-
sql: string;
|
|
140
|
-
args: Array<unknown>;
|
|
141
|
-
argTypes: Array<ArgType>;
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
declare interface Queryable {
|
|
145
|
-
readonly provider: Provider;
|
|
146
|
-
readonly adapterName: (typeof officialPrismaAdapters)[number] | (string & {});
|
|
147
|
-
/**
|
|
148
|
-
* Execute a query given as SQL, interpolating the given parameters,
|
|
149
|
-
* and returning the type-aware result set of the query.
|
|
150
|
-
*
|
|
151
|
-
* This is the preferred way of executing `SELECT` queries.
|
|
152
|
-
*/
|
|
153
|
-
queryRaw(params: Query): Promise<Result<ResultSet>>;
|
|
154
|
-
/**
|
|
155
|
-
* Execute a query given as SQL, interpolating the given parameters,
|
|
156
|
-
* and returning the number of affected rows.
|
|
157
|
-
*
|
|
158
|
-
* This is the preferred way of executing `INSERT`, `UPDATE`, `DELETE` queries,
|
|
159
|
-
* as well as transactional queries.
|
|
160
|
-
*/
|
|
161
|
-
executeRaw(params: Query): Promise<Result<number>>;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
declare type QueryEvent = {
|
|
31
|
+
export declare type QueryEvent = {
|
|
165
32
|
timestamp: Date;
|
|
166
33
|
query: string;
|
|
167
|
-
params:
|
|
34
|
+
params: unknown[];
|
|
168
35
|
duration: number;
|
|
169
|
-
target: string;
|
|
170
36
|
};
|
|
171
37
|
|
|
172
38
|
export declare class QueryInterpreter {
|
|
@@ -246,78 +112,21 @@ export declare type QueryPlanNode = {
|
|
|
246
112
|
};
|
|
247
113
|
};
|
|
248
114
|
|
|
249
|
-
declare type
|
|
250
|
-
|
|
251
|
-
flatMap<U>(fn: (value: T) => Result<U>): Result<U>;
|
|
252
|
-
} & ({
|
|
253
|
-
readonly ok: true;
|
|
254
|
-
readonly value: T;
|
|
255
|
-
} | {
|
|
256
|
-
readonly ok: false;
|
|
257
|
-
readonly error: Error_2;
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
declare interface ResultSet {
|
|
261
|
-
/**
|
|
262
|
-
* List of column types appearing in a database query, in the same order as `columnNames`.
|
|
263
|
-
* They are used within the Query Engine to convert values from JS to Quaint values.
|
|
264
|
-
*/
|
|
265
|
-
columnTypes: Array<ColumnType>;
|
|
266
|
-
/**
|
|
267
|
-
* List of column names appearing in a database query, in the same order as `columnTypes`.
|
|
268
|
-
*/
|
|
269
|
-
columnNames: Array<string>;
|
|
270
|
-
/**
|
|
271
|
-
* List of rows retrieved from a database query.
|
|
272
|
-
* Each row is a list of values, whose length matches `columnNames` and `columnTypes`.
|
|
273
|
-
*/
|
|
274
|
-
rows: Array<Array<unknown>>;
|
|
275
|
-
/**
|
|
276
|
-
* The last ID of an `INSERT` statement, if any.
|
|
277
|
-
* This is required for `AUTO_INCREMENT` columns in databases based on MySQL and SQLite.
|
|
278
|
-
*/
|
|
279
|
-
lastInsertId?: string;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
declare interface Transaction extends Queryable {
|
|
283
|
-
/**
|
|
284
|
-
* Transaction options.
|
|
285
|
-
*/
|
|
286
|
-
readonly options: TransactionOptions;
|
|
287
|
-
/**
|
|
288
|
-
* Commit the transaction.
|
|
289
|
-
*/
|
|
290
|
-
commit(): Promise<Result<void>>;
|
|
291
|
-
/**
|
|
292
|
-
* Rolls back the transaction.
|
|
293
|
-
*/
|
|
294
|
-
rollback(): Promise<Result<void>>;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
declare interface TransactionContext extends Queryable {
|
|
298
|
-
/**
|
|
299
|
-
* Starts new transaction.
|
|
300
|
-
*/
|
|
301
|
-
startTransaction(): Promise<Result<Transaction>>;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
declare type TransactionHeaders = {
|
|
305
|
-
traceparent?: string;
|
|
115
|
+
export declare type TransactionInfo = {
|
|
116
|
+
id: string;
|
|
306
117
|
};
|
|
307
118
|
|
|
308
119
|
export declare class TransactionManager {
|
|
309
120
|
private transactions;
|
|
310
121
|
private closedTransactions;
|
|
311
122
|
private readonly driverAdapter;
|
|
312
|
-
|
|
313
|
-
constructor({ driverAdapter, clientVersion }: {
|
|
123
|
+
constructor({ driverAdapter }: {
|
|
314
124
|
driverAdapter: DriverAdapter;
|
|
315
|
-
clientVersion: string;
|
|
316
125
|
});
|
|
317
|
-
startTransaction(options:
|
|
126
|
+
startTransaction(options: TransactionOptions): Promise<TransactionInfo>;
|
|
318
127
|
commitTransaction(transactionId: string): Promise<void>;
|
|
319
128
|
rollbackTransaction(transactionId: string): Promise<void>;
|
|
320
|
-
getTransaction(txInfo:
|
|
129
|
+
getTransaction(txInfo: TransactionInfo, operation: string): Transaction;
|
|
321
130
|
private getActiveTransaction;
|
|
322
131
|
cancelAllTransactions(): Promise<void>;
|
|
323
132
|
private startTransactionTimeout;
|
|
@@ -326,17 +135,16 @@ export declare class TransactionManager {
|
|
|
326
135
|
private requiresSettingIsolationLevelFirst;
|
|
327
136
|
}
|
|
328
137
|
|
|
329
|
-
declare
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
declare namespace Tx {
|
|
334
|
-
export {
|
|
335
|
-
IsolationLevel,
|
|
336
|
-
Options,
|
|
337
|
-
InteractiveTransactionInfo,
|
|
338
|
-
TransactionHeaders
|
|
339
|
-
}
|
|
138
|
+
export declare class TransactionManagerError extends Error {
|
|
139
|
+
meta?: Record<string, unknown> | undefined;
|
|
140
|
+
code: string;
|
|
141
|
+
constructor(message: string, meta?: Record<string, unknown> | undefined);
|
|
340
142
|
}
|
|
341
143
|
|
|
144
|
+
export declare type TransactionOptions = {
|
|
145
|
+
maxWait?: number;
|
|
146
|
+
timeout?: number;
|
|
147
|
+
isolationLevel?: IsolationLevel;
|
|
148
|
+
};
|
|
149
|
+
|
|
342
150
|
export { }
|