@prisma/adapter-mariadb 6.17.0-dev.3 → 6.17.0-dev.31
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 +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +25 -12
- package/dist/index.mjs +25 -12
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -26,6 +26,7 @@ declare class MariaDbQueryable<Connection extends mariadb.Pool | mariadb.Connect
|
|
|
26
26
|
queryRaw(query: SqlQuery): Promise<SqlResultSet>;
|
|
27
27
|
executeRaw(query: SqlQuery): Promise<number>;
|
|
28
28
|
protected performIO(query: SqlQuery): Promise<ArrayModeResult>;
|
|
29
|
+
protected onError(error: unknown): never;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
export declare class PrismaMariaDb implements SqlDriverAdapterFactory {
|
package/dist/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ declare class MariaDbQueryable<Connection extends mariadb.Pool | mariadb.Connect
|
|
|
26
26
|
queryRaw(query: SqlQuery): Promise<SqlResultSet>;
|
|
27
27
|
executeRaw(query: SqlQuery): Promise<number>;
|
|
28
28
|
protected performIO(query: SqlQuery): Promise<ArrayModeResult>;
|
|
29
|
+
protected onError(error: unknown): never;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
export declare class PrismaMariaDb implements SqlDriverAdapterFactory {
|
package/dist/index.js
CHANGED
|
@@ -84,7 +84,10 @@ function mapColumnType(field) {
|
|
|
84
84
|
case "BLOB" /* BLOB */:
|
|
85
85
|
case "TINY_BLOB" /* TINY_BLOB */:
|
|
86
86
|
case "MEDIUM_BLOB" /* MEDIUM_BLOB */:
|
|
87
|
-
|
|
87
|
+
case "LONG_BLOB" /* LONG_BLOB */:
|
|
88
|
+
if (field["dataTypeFormat"] === "json") {
|
|
89
|
+
return import_driver_adapter_utils.ColumnTypeEnum.Json;
|
|
90
|
+
} else if (field.flags.valueOf() & BINARY_FLAG) {
|
|
88
91
|
return import_driver_adapter_utils.ColumnTypeEnum.Bytes;
|
|
89
92
|
} else {
|
|
90
93
|
return import_driver_adapter_utils.ColumnTypeEnum.Text;
|
|
@@ -333,6 +336,8 @@ var MariaDbQueryable = class {
|
|
|
333
336
|
sql,
|
|
334
337
|
rowsAsArray: true,
|
|
335
338
|
dateStrings: true,
|
|
339
|
+
// Disable automatic conversion of JSON blobs to objects.
|
|
340
|
+
autoJsonMap: false,
|
|
336
341
|
// Return JSON strings as strings, not objects.
|
|
337
342
|
// Available in the driver, but not provided in the typings.
|
|
338
343
|
jsonStrings: true,
|
|
@@ -345,25 +350,28 @@ var MariaDbQueryable = class {
|
|
|
345
350
|
return await this.client.query(req, values);
|
|
346
351
|
} catch (e) {
|
|
347
352
|
const error = e;
|
|
348
|
-
onError(error);
|
|
353
|
+
this.onError(error);
|
|
349
354
|
}
|
|
350
355
|
}
|
|
356
|
+
onError(error) {
|
|
357
|
+
debug("Error in performIO: %O", error);
|
|
358
|
+
throw new import_driver_adapter_utils2.DriverAdapterError(convertDriverError(error));
|
|
359
|
+
}
|
|
351
360
|
};
|
|
352
|
-
function onError(error) {
|
|
353
|
-
debug("Error in performIO: %O", error);
|
|
354
|
-
throw new import_driver_adapter_utils2.DriverAdapterError(convertDriverError(error));
|
|
355
|
-
}
|
|
356
361
|
var MariaDbTransaction = class extends MariaDbQueryable {
|
|
357
|
-
constructor(conn, options) {
|
|
362
|
+
constructor(conn, options, cleanup) {
|
|
358
363
|
super(conn);
|
|
359
364
|
this.options = options;
|
|
365
|
+
this.cleanup = cleanup;
|
|
360
366
|
}
|
|
361
367
|
async commit() {
|
|
362
368
|
debug(`[js::commit]`);
|
|
369
|
+
this.cleanup?.();
|
|
363
370
|
await this.client.end();
|
|
364
371
|
}
|
|
365
372
|
async rollback() {
|
|
366
373
|
debug(`[js::rollback]`);
|
|
374
|
+
this.cleanup?.();
|
|
367
375
|
await this.client.end();
|
|
368
376
|
}
|
|
369
377
|
};
|
|
@@ -388,13 +396,17 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
388
396
|
};
|
|
389
397
|
const tag = "[js::startTransaction]";
|
|
390
398
|
debug("%s options: %O", tag, options);
|
|
391
|
-
const conn = await this.client.getConnection().catch((error) => onError(error));
|
|
392
|
-
|
|
399
|
+
const conn = await this.client.getConnection().catch((error) => this.onError(error));
|
|
400
|
+
const onError = (err) => {
|
|
393
401
|
debug(`Error from connection: ${err.message} %O`, err);
|
|
394
402
|
this.options?.onConnectionError?.(err);
|
|
395
|
-
}
|
|
403
|
+
};
|
|
404
|
+
conn.on("error", onError);
|
|
405
|
+
const cleanup = () => {
|
|
406
|
+
conn.removeListener("error", onError);
|
|
407
|
+
};
|
|
396
408
|
try {
|
|
397
|
-
const tx = new MariaDbTransaction(conn, options);
|
|
409
|
+
const tx = new MariaDbTransaction(conn, options, cleanup);
|
|
398
410
|
if (isolationLevel) {
|
|
399
411
|
await tx.executeRaw({
|
|
400
412
|
sql: `SET TRANSACTION ISOLATION LEVEL ${isolationLevel}`,
|
|
@@ -406,7 +418,8 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
406
418
|
return tx;
|
|
407
419
|
} catch (error) {
|
|
408
420
|
await conn.end();
|
|
409
|
-
|
|
421
|
+
cleanup();
|
|
422
|
+
this.onError(error);
|
|
410
423
|
}
|
|
411
424
|
}
|
|
412
425
|
async dispose() {
|
package/dist/index.mjs
CHANGED
|
@@ -48,7 +48,10 @@ function mapColumnType(field) {
|
|
|
48
48
|
case "BLOB" /* BLOB */:
|
|
49
49
|
case "TINY_BLOB" /* TINY_BLOB */:
|
|
50
50
|
case "MEDIUM_BLOB" /* MEDIUM_BLOB */:
|
|
51
|
-
|
|
51
|
+
case "LONG_BLOB" /* LONG_BLOB */:
|
|
52
|
+
if (field["dataTypeFormat"] === "json") {
|
|
53
|
+
return ColumnTypeEnum.Json;
|
|
54
|
+
} else if (field.flags.valueOf() & BINARY_FLAG) {
|
|
52
55
|
return ColumnTypeEnum.Bytes;
|
|
53
56
|
} else {
|
|
54
57
|
return ColumnTypeEnum.Text;
|
|
@@ -297,6 +300,8 @@ var MariaDbQueryable = class {
|
|
|
297
300
|
sql,
|
|
298
301
|
rowsAsArray: true,
|
|
299
302
|
dateStrings: true,
|
|
303
|
+
// Disable automatic conversion of JSON blobs to objects.
|
|
304
|
+
autoJsonMap: false,
|
|
300
305
|
// Return JSON strings as strings, not objects.
|
|
301
306
|
// Available in the driver, but not provided in the typings.
|
|
302
307
|
jsonStrings: true,
|
|
@@ -309,25 +314,28 @@ var MariaDbQueryable = class {
|
|
|
309
314
|
return await this.client.query(req, values);
|
|
310
315
|
} catch (e) {
|
|
311
316
|
const error = e;
|
|
312
|
-
onError(error);
|
|
317
|
+
this.onError(error);
|
|
313
318
|
}
|
|
314
319
|
}
|
|
320
|
+
onError(error) {
|
|
321
|
+
debug("Error in performIO: %O", error);
|
|
322
|
+
throw new DriverAdapterError(convertDriverError(error));
|
|
323
|
+
}
|
|
315
324
|
};
|
|
316
|
-
function onError(error) {
|
|
317
|
-
debug("Error in performIO: %O", error);
|
|
318
|
-
throw new DriverAdapterError(convertDriverError(error));
|
|
319
|
-
}
|
|
320
325
|
var MariaDbTransaction = class extends MariaDbQueryable {
|
|
321
|
-
constructor(conn, options) {
|
|
326
|
+
constructor(conn, options, cleanup) {
|
|
322
327
|
super(conn);
|
|
323
328
|
this.options = options;
|
|
329
|
+
this.cleanup = cleanup;
|
|
324
330
|
}
|
|
325
331
|
async commit() {
|
|
326
332
|
debug(`[js::commit]`);
|
|
333
|
+
this.cleanup?.();
|
|
327
334
|
await this.client.end();
|
|
328
335
|
}
|
|
329
336
|
async rollback() {
|
|
330
337
|
debug(`[js::rollback]`);
|
|
338
|
+
this.cleanup?.();
|
|
331
339
|
await this.client.end();
|
|
332
340
|
}
|
|
333
341
|
};
|
|
@@ -352,13 +360,17 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
352
360
|
};
|
|
353
361
|
const tag = "[js::startTransaction]";
|
|
354
362
|
debug("%s options: %O", tag, options);
|
|
355
|
-
const conn = await this.client.getConnection().catch((error) => onError(error));
|
|
356
|
-
|
|
363
|
+
const conn = await this.client.getConnection().catch((error) => this.onError(error));
|
|
364
|
+
const onError = (err) => {
|
|
357
365
|
debug(`Error from connection: ${err.message} %O`, err);
|
|
358
366
|
this.options?.onConnectionError?.(err);
|
|
359
|
-
}
|
|
367
|
+
};
|
|
368
|
+
conn.on("error", onError);
|
|
369
|
+
const cleanup = () => {
|
|
370
|
+
conn.removeListener("error", onError);
|
|
371
|
+
};
|
|
360
372
|
try {
|
|
361
|
-
const tx = new MariaDbTransaction(conn, options);
|
|
373
|
+
const tx = new MariaDbTransaction(conn, options, cleanup);
|
|
362
374
|
if (isolationLevel) {
|
|
363
375
|
await tx.executeRaw({
|
|
364
376
|
sql: `SET TRANSACTION ISOLATION LEVEL ${isolationLevel}`,
|
|
@@ -370,7 +382,8 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
370
382
|
return tx;
|
|
371
383
|
} catch (error) {
|
|
372
384
|
await conn.end();
|
|
373
|
-
|
|
385
|
+
cleanup();
|
|
386
|
+
this.onError(error);
|
|
374
387
|
}
|
|
375
388
|
}
|
|
376
389
|
async dispose() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/adapter-mariadb",
|
|
3
|
-
"version": "6.17.0-dev.
|
|
3
|
+
"version": "6.17.0-dev.31",
|
|
4
4
|
"description": "Prisma's driver adapter for \"mariadb\"",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"sideEffects": false,
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"mariadb": "3.4.5",
|
|
35
|
-
"@prisma/driver-adapter-utils": "6.17.0-dev.
|
|
35
|
+
"@prisma/driver-adapter-utils": "6.17.0-dev.31"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"dev": "DEV=true tsx helpers/build.ts",
|