@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 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 BINARY_FLAG = 1 << 7;
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.flags.valueOf() & BINARY_FLAG) {
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.query(req, values);
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
- this.cleanup?.();
366
- await this.client.end();
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
- this.cleanup?.();
371
- await this.client.end();
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: false
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.executeRaw({ sql: "BEGIN", args: [], argTypes: [] });
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 >= 0 && patch >= 13);
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 BINARY_FLAG = 1 << 7;
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.flags.valueOf() & BINARY_FLAG) {
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.query(req, values);
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
- this.cleanup?.();
330
- await this.client.end();
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
- this.cleanup?.();
335
- await this.client.end();
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: false
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.executeRaw({ sql: "BEGIN", args: [], argTypes: [] });
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 >= 0 && patch >= 13);
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.5.0-dev.9",
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.5.0-dev.9"
35
+ "@prisma/driver-adapter-utils": "7.6.0-dev.1"
36
36
  },
37
37
  "scripts": {
38
38
  "dev": "DEV=true tsx helpers/build.ts",