@prisma/adapter-mariadb 7.5.0-dev.9 → 7.6.0-dev.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.js +32 -10
- package/dist/index.mjs +32 -10
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -44,7 +44,7 @@ var name = "@prisma/adapter-mariadb";
|
|
|
44
44
|
// src/conversion.ts
|
|
45
45
|
var import_driver_adapter_utils = require("@prisma/driver-adapter-utils");
|
|
46
46
|
var UNSIGNED_FLAG = 1 << 5;
|
|
47
|
-
var
|
|
47
|
+
var BINARY_COLLATION_INDEX = 63;
|
|
48
48
|
function mapColumnType(field) {
|
|
49
49
|
switch (field.type) {
|
|
50
50
|
case "TINY" /* TINY */:
|
|
@@ -87,7 +87,7 @@ function mapColumnType(field) {
|
|
|
87
87
|
case "LONG_BLOB" /* LONG_BLOB */:
|
|
88
88
|
if (field["dataTypeFormat"] === "json") {
|
|
89
89
|
return import_driver_adapter_utils.ColumnTypeEnum.Json;
|
|
90
|
-
} else if (field.
|
|
90
|
+
} else if (field.collation.index === BINARY_COLLATION_INDEX) {
|
|
91
91
|
return import_driver_adapter_utils.ColumnTypeEnum.Bytes;
|
|
92
92
|
} else {
|
|
93
93
|
return import_driver_adapter_utils.ColumnTypeEnum.Text;
|
|
@@ -343,7 +343,7 @@ var MariaDbQueryable = class {
|
|
|
343
343
|
typeCast
|
|
344
344
|
};
|
|
345
345
|
const values = args.map((arg, i) => mapArg(arg, query.argTypes[i]));
|
|
346
|
-
return await this.client.
|
|
346
|
+
return await this.client.execute(req, values);
|
|
347
347
|
} catch (e) {
|
|
348
348
|
const error = e;
|
|
349
349
|
this.onError(error);
|
|
@@ -357,18 +357,40 @@ var MariaDbQueryable = class {
|
|
|
357
357
|
var MariaDbTransaction = class extends MariaDbQueryable {
|
|
358
358
|
constructor(conn, options, cleanup) {
|
|
359
359
|
super(conn);
|
|
360
|
+
this.conn = conn;
|
|
360
361
|
this.options = options;
|
|
361
362
|
this.cleanup = cleanup;
|
|
362
363
|
}
|
|
363
364
|
async commit() {
|
|
364
365
|
debug(`[js::commit]`);
|
|
365
|
-
|
|
366
|
-
|
|
366
|
+
try {
|
|
367
|
+
await this.client.query({ sql: "COMMIT" });
|
|
368
|
+
} catch (err) {
|
|
369
|
+
this.onError(err);
|
|
370
|
+
} finally {
|
|
371
|
+
this.cleanup?.();
|
|
372
|
+
await this.client.end();
|
|
373
|
+
}
|
|
367
374
|
}
|
|
368
375
|
async rollback() {
|
|
369
376
|
debug(`[js::rollback]`);
|
|
370
|
-
|
|
371
|
-
|
|
377
|
+
try {
|
|
378
|
+
await this.client.query({ sql: "ROLLBACK" });
|
|
379
|
+
} catch (err) {
|
|
380
|
+
this.onError(err);
|
|
381
|
+
} finally {
|
|
382
|
+
this.cleanup?.();
|
|
383
|
+
await this.client.end();
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
async createSavepoint(name2) {
|
|
387
|
+
await this.client.query({ sql: `SAVEPOINT ${name2}` }).catch(this.onError.bind(this));
|
|
388
|
+
}
|
|
389
|
+
async rollbackToSavepoint(name2) {
|
|
390
|
+
await this.client.query({ sql: `ROLLBACK TO ${name2}` }).catch(this.onError.bind(this));
|
|
391
|
+
}
|
|
392
|
+
async releaseSavepoint(name2) {
|
|
393
|
+
await this.client.query({ sql: `RELEASE SAVEPOINT ${name2}` }).catch(this.onError.bind(this));
|
|
372
394
|
}
|
|
373
395
|
};
|
|
374
396
|
var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
@@ -388,7 +410,7 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
388
410
|
}
|
|
389
411
|
async startTransaction(isolationLevel) {
|
|
390
412
|
const options = {
|
|
391
|
-
usePhantomQuery:
|
|
413
|
+
usePhantomQuery: true
|
|
392
414
|
};
|
|
393
415
|
const tag = "[js::startTransaction]";
|
|
394
416
|
debug("%s options: %O", tag, options);
|
|
@@ -410,7 +432,7 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
410
432
|
argTypes: []
|
|
411
433
|
});
|
|
412
434
|
}
|
|
413
|
-
await tx.
|
|
435
|
+
await tx.conn.query({ sql: "BEGIN" }).catch(this.onError.bind(this));
|
|
414
436
|
return tx;
|
|
415
437
|
} catch (error) {
|
|
416
438
|
await conn.end();
|
|
@@ -477,7 +499,7 @@ function inferCapabilities(version) {
|
|
|
477
499
|
const [versionStr, suffix] = version.split("-");
|
|
478
500
|
const [major, minor, patch] = versionStr.split(".").map((n) => parseInt(n, 10));
|
|
479
501
|
const isMariaDB = suffix?.toLowerCase()?.includes("mariadb") ?? false;
|
|
480
|
-
const supportsRelationJoins = !isMariaDB && (major > 8 || major === 8 && minor
|
|
502
|
+
const supportsRelationJoins = !isMariaDB && (major > 8 || major === 8 && (minor > 0 || minor === 0 && patch >= 13));
|
|
481
503
|
return { supportsRelationJoins };
|
|
482
504
|
}
|
|
483
505
|
function rewriteConnectionString(config) {
|
package/dist/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ var name = "@prisma/adapter-mariadb";
|
|
|
8
8
|
// src/conversion.ts
|
|
9
9
|
import { ColumnTypeEnum } from "@prisma/driver-adapter-utils";
|
|
10
10
|
var UNSIGNED_FLAG = 1 << 5;
|
|
11
|
-
var
|
|
11
|
+
var BINARY_COLLATION_INDEX = 63;
|
|
12
12
|
function mapColumnType(field) {
|
|
13
13
|
switch (field.type) {
|
|
14
14
|
case "TINY" /* TINY */:
|
|
@@ -51,7 +51,7 @@ function mapColumnType(field) {
|
|
|
51
51
|
case "LONG_BLOB" /* LONG_BLOB */:
|
|
52
52
|
if (field["dataTypeFormat"] === "json") {
|
|
53
53
|
return ColumnTypeEnum.Json;
|
|
54
|
-
} else if (field.
|
|
54
|
+
} else if (field.collation.index === BINARY_COLLATION_INDEX) {
|
|
55
55
|
return ColumnTypeEnum.Bytes;
|
|
56
56
|
} else {
|
|
57
57
|
return ColumnTypeEnum.Text;
|
|
@@ -307,7 +307,7 @@ var MariaDbQueryable = class {
|
|
|
307
307
|
typeCast
|
|
308
308
|
};
|
|
309
309
|
const values = args.map((arg, i) => mapArg(arg, query.argTypes[i]));
|
|
310
|
-
return await this.client.
|
|
310
|
+
return await this.client.execute(req, values);
|
|
311
311
|
} catch (e) {
|
|
312
312
|
const error = e;
|
|
313
313
|
this.onError(error);
|
|
@@ -321,18 +321,40 @@ var MariaDbQueryable = class {
|
|
|
321
321
|
var MariaDbTransaction = class extends MariaDbQueryable {
|
|
322
322
|
constructor(conn, options, cleanup) {
|
|
323
323
|
super(conn);
|
|
324
|
+
this.conn = conn;
|
|
324
325
|
this.options = options;
|
|
325
326
|
this.cleanup = cleanup;
|
|
326
327
|
}
|
|
327
328
|
async commit() {
|
|
328
329
|
debug(`[js::commit]`);
|
|
329
|
-
|
|
330
|
-
|
|
330
|
+
try {
|
|
331
|
+
await this.client.query({ sql: "COMMIT" });
|
|
332
|
+
} catch (err) {
|
|
333
|
+
this.onError(err);
|
|
334
|
+
} finally {
|
|
335
|
+
this.cleanup?.();
|
|
336
|
+
await this.client.end();
|
|
337
|
+
}
|
|
331
338
|
}
|
|
332
339
|
async rollback() {
|
|
333
340
|
debug(`[js::rollback]`);
|
|
334
|
-
|
|
335
|
-
|
|
341
|
+
try {
|
|
342
|
+
await this.client.query({ sql: "ROLLBACK" });
|
|
343
|
+
} catch (err) {
|
|
344
|
+
this.onError(err);
|
|
345
|
+
} finally {
|
|
346
|
+
this.cleanup?.();
|
|
347
|
+
await this.client.end();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
async createSavepoint(name2) {
|
|
351
|
+
await this.client.query({ sql: `SAVEPOINT ${name2}` }).catch(this.onError.bind(this));
|
|
352
|
+
}
|
|
353
|
+
async rollbackToSavepoint(name2) {
|
|
354
|
+
await this.client.query({ sql: `ROLLBACK TO ${name2}` }).catch(this.onError.bind(this));
|
|
355
|
+
}
|
|
356
|
+
async releaseSavepoint(name2) {
|
|
357
|
+
await this.client.query({ sql: `RELEASE SAVEPOINT ${name2}` }).catch(this.onError.bind(this));
|
|
336
358
|
}
|
|
337
359
|
};
|
|
338
360
|
var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
@@ -352,7 +374,7 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
352
374
|
}
|
|
353
375
|
async startTransaction(isolationLevel) {
|
|
354
376
|
const options = {
|
|
355
|
-
usePhantomQuery:
|
|
377
|
+
usePhantomQuery: true
|
|
356
378
|
};
|
|
357
379
|
const tag = "[js::startTransaction]";
|
|
358
380
|
debug("%s options: %O", tag, options);
|
|
@@ -374,7 +396,7 @@ var PrismaMariaDbAdapter = class extends MariaDbQueryable {
|
|
|
374
396
|
argTypes: []
|
|
375
397
|
});
|
|
376
398
|
}
|
|
377
|
-
await tx.
|
|
399
|
+
await tx.conn.query({ sql: "BEGIN" }).catch(this.onError.bind(this));
|
|
378
400
|
return tx;
|
|
379
401
|
} catch (error) {
|
|
380
402
|
await conn.end();
|
|
@@ -441,7 +463,7 @@ function inferCapabilities(version) {
|
|
|
441
463
|
const [versionStr, suffix] = version.split("-");
|
|
442
464
|
const [major, minor, patch] = versionStr.split(".").map((n) => parseInt(n, 10));
|
|
443
465
|
const isMariaDB = suffix?.toLowerCase()?.includes("mariadb") ?? false;
|
|
444
|
-
const supportsRelationJoins = !isMariaDB && (major > 8 || major === 8 && minor
|
|
466
|
+
const supportsRelationJoins = !isMariaDB && (major > 8 || major === 8 && (minor > 0 || minor === 0 && patch >= 13));
|
|
445
467
|
return { supportsRelationJoins };
|
|
446
468
|
}
|
|
447
469
|
function rewriteConnectionString(config) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/adapter-mariadb",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.6.0-dev.1",
|
|
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": "7.
|
|
35
|
+
"@prisma/driver-adapter-utils": "7.6.0-dev.1"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"dev": "DEV=true tsx helpers/build.ts",
|