@prisma/client-engine-runtime 6.4.0-dev.52 → 6.4.0-integration-renovate-configure.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +213 -21
- package/dist/index.d.ts +213 -21
- package/dist/index.js +310 -100
- package/package.json +4 -26
- package/dist/QueryPlan.d.ts +0 -75
- package/dist/events.d.ts +0 -6
- package/dist/index.mjs +0 -652
- package/dist/interpreter/QueryInterpreter.d.ts +0 -14
- package/dist/interpreter/renderQuery.d.ts +0 -4
- package/dist/interpreter/renderQueryTemplate.d.ts +0 -10
- package/dist/interpreter/renderQueryTemplate.test.d.ts +0 -1
- package/dist/interpreter/scope.d.ts +0 -13
- package/dist/interpreter/serialize.d.ts +0 -2
- package/dist/interpreter/serialize.test.d.ts +0 -1
- package/dist/transactionManager/Transaction.d.ts +0 -15
- package/dist/transactionManager/TransactionManager.d.ts +0 -20
- package/dist/transactionManager/TransactionManager.test.d.ts +0 -1
- package/dist/transactionManager/TransactionManagerErrors.d.ts +0 -35
- package/dist/utils.d.ts +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,105 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Original `quaint::ValueType` enum tag from Prisma's `quaint`.
|
|
3
|
+
* Query arguments marked with this type are sanitized before being sent to the database.
|
|
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';
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
declare type ColumnType = (typeof ColumnTypeEnum)[keyof typeof ColumnTypeEnum];
|
|
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 {
|
|
6
103
|
ReadUncommitted = "ReadUncommitted",
|
|
7
104
|
ReadCommitted = "ReadCommitted",
|
|
8
105
|
RepeatableRead = "RepeatableRead",
|
|
@@ -18,6 +115,14 @@ export declare type JoinExpression = {
|
|
|
18
115
|
parentField: string;
|
|
19
116
|
};
|
|
20
117
|
|
|
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
|
+
|
|
21
126
|
export declare type PrismaValue = string | boolean | number | PrismaValue[] | null | Record<string, unknown> | PrismaValuePlaceholder;
|
|
22
127
|
|
|
23
128
|
export declare type PrismaValuePlaceholder = {
|
|
@@ -28,11 +133,40 @@ export declare type PrismaValuePlaceholder = {
|
|
|
28
133
|
};
|
|
29
134
|
};
|
|
30
135
|
|
|
31
|
-
|
|
136
|
+
declare type Provider = 'mysql' | 'postgres' | 'sqlite';
|
|
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 = {
|
|
32
165
|
timestamp: Date;
|
|
33
166
|
query: string;
|
|
34
|
-
params:
|
|
167
|
+
params: string;
|
|
35
168
|
duration: number;
|
|
169
|
+
target: string;
|
|
36
170
|
};
|
|
37
171
|
|
|
38
172
|
export declare class QueryInterpreter {
|
|
@@ -112,21 +246,78 @@ export declare type QueryPlanNode = {
|
|
|
112
246
|
};
|
|
113
247
|
};
|
|
114
248
|
|
|
115
|
-
|
|
116
|
-
|
|
249
|
+
declare type Result<T> = {
|
|
250
|
+
map<U>(fn: (value: T) => U): Result<U>;
|
|
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;
|
|
117
306
|
};
|
|
118
307
|
|
|
119
308
|
export declare class TransactionManager {
|
|
120
309
|
private transactions;
|
|
121
310
|
private closedTransactions;
|
|
122
311
|
private readonly driverAdapter;
|
|
123
|
-
|
|
312
|
+
private readonly clientVersion;
|
|
313
|
+
constructor({ driverAdapter, clientVersion }: {
|
|
124
314
|
driverAdapter: DriverAdapter;
|
|
315
|
+
clientVersion: string;
|
|
125
316
|
});
|
|
126
|
-
startTransaction(options:
|
|
317
|
+
startTransaction(options: Tx.Options): Promise<Tx.InteractiveTransactionInfo<undefined>>;
|
|
127
318
|
commitTransaction(transactionId: string): Promise<void>;
|
|
128
319
|
rollbackTransaction(transactionId: string): Promise<void>;
|
|
129
|
-
getTransaction(txInfo:
|
|
320
|
+
getTransaction(txInfo: Tx.InteractiveTransactionInfo<unknown>, operation: string): Transaction;
|
|
130
321
|
private getActiveTransaction;
|
|
131
322
|
cancelAllTransactions(): Promise<void>;
|
|
132
323
|
private startTransactionTimeout;
|
|
@@ -135,16 +326,17 @@ export declare class TransactionManager {
|
|
|
135
326
|
private requiresSettingIsolationLevelFirst;
|
|
136
327
|
}
|
|
137
328
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
code: string;
|
|
141
|
-
constructor(message: string, meta?: Record<string, unknown> | undefined);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export declare type TransactionOptions = {
|
|
145
|
-
maxWait?: number;
|
|
146
|
-
timeout?: number;
|
|
147
|
-
isolationLevel?: IsolationLevel;
|
|
329
|
+
declare type TransactionOptions = {
|
|
330
|
+
usePhantomQuery: boolean;
|
|
148
331
|
};
|
|
149
332
|
|
|
333
|
+
declare namespace Tx {
|
|
334
|
+
export {
|
|
335
|
+
IsolationLevel,
|
|
336
|
+
Options,
|
|
337
|
+
InteractiveTransactionInfo,
|
|
338
|
+
TransactionHeaders
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
150
342
|
export { }
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,105 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Original `quaint::ValueType` enum tag from Prisma's `quaint`.
|
|
3
|
+
* Query arguments marked with this type are sanitized before being sent to the database.
|
|
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';
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
declare type ColumnType = (typeof ColumnTypeEnum)[keyof typeof ColumnTypeEnum];
|
|
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 {
|
|
6
103
|
ReadUncommitted = "ReadUncommitted",
|
|
7
104
|
ReadCommitted = "ReadCommitted",
|
|
8
105
|
RepeatableRead = "RepeatableRead",
|
|
@@ -18,6 +115,14 @@ export declare type JoinExpression = {
|
|
|
18
115
|
parentField: string;
|
|
19
116
|
};
|
|
20
117
|
|
|
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
|
+
|
|
21
126
|
export declare type PrismaValue = string | boolean | number | PrismaValue[] | null | Record<string, unknown> | PrismaValuePlaceholder;
|
|
22
127
|
|
|
23
128
|
export declare type PrismaValuePlaceholder = {
|
|
@@ -28,11 +133,40 @@ export declare type PrismaValuePlaceholder = {
|
|
|
28
133
|
};
|
|
29
134
|
};
|
|
30
135
|
|
|
31
|
-
|
|
136
|
+
declare type Provider = 'mysql' | 'postgres' | 'sqlite';
|
|
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 = {
|
|
32
165
|
timestamp: Date;
|
|
33
166
|
query: string;
|
|
34
|
-
params:
|
|
167
|
+
params: string;
|
|
35
168
|
duration: number;
|
|
169
|
+
target: string;
|
|
36
170
|
};
|
|
37
171
|
|
|
38
172
|
export declare class QueryInterpreter {
|
|
@@ -112,21 +246,78 @@ export declare type QueryPlanNode = {
|
|
|
112
246
|
};
|
|
113
247
|
};
|
|
114
248
|
|
|
115
|
-
|
|
116
|
-
|
|
249
|
+
declare type Result<T> = {
|
|
250
|
+
map<U>(fn: (value: T) => U): Result<U>;
|
|
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;
|
|
117
306
|
};
|
|
118
307
|
|
|
119
308
|
export declare class TransactionManager {
|
|
120
309
|
private transactions;
|
|
121
310
|
private closedTransactions;
|
|
122
311
|
private readonly driverAdapter;
|
|
123
|
-
|
|
312
|
+
private readonly clientVersion;
|
|
313
|
+
constructor({ driverAdapter, clientVersion }: {
|
|
124
314
|
driverAdapter: DriverAdapter;
|
|
315
|
+
clientVersion: string;
|
|
125
316
|
});
|
|
126
|
-
startTransaction(options:
|
|
317
|
+
startTransaction(options: Tx.Options): Promise<Tx.InteractiveTransactionInfo<undefined>>;
|
|
127
318
|
commitTransaction(transactionId: string): Promise<void>;
|
|
128
319
|
rollbackTransaction(transactionId: string): Promise<void>;
|
|
129
|
-
getTransaction(txInfo:
|
|
320
|
+
getTransaction(txInfo: Tx.InteractiveTransactionInfo<unknown>, operation: string): Transaction;
|
|
130
321
|
private getActiveTransaction;
|
|
131
322
|
cancelAllTransactions(): Promise<void>;
|
|
132
323
|
private startTransactionTimeout;
|
|
@@ -135,16 +326,17 @@ export declare class TransactionManager {
|
|
|
135
326
|
private requiresSettingIsolationLevelFirst;
|
|
136
327
|
}
|
|
137
328
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
code: string;
|
|
141
|
-
constructor(message: string, meta?: Record<string, unknown> | undefined);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export declare type TransactionOptions = {
|
|
145
|
-
maxWait?: number;
|
|
146
|
-
timeout?: number;
|
|
147
|
-
isolationLevel?: IsolationLevel;
|
|
329
|
+
declare type TransactionOptions = {
|
|
330
|
+
usePhantomQuery: boolean;
|
|
148
331
|
};
|
|
149
332
|
|
|
333
|
+
declare namespace Tx {
|
|
334
|
+
export {
|
|
335
|
+
IsolationLevel,
|
|
336
|
+
Options,
|
|
337
|
+
InteractiveTransactionInfo,
|
|
338
|
+
TransactionHeaders
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
150
342
|
export { }
|