@prisma/adapter-planetscale 7.5.0-dev.3 → 7.5.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.js CHANGED
@@ -59,8 +59,10 @@ function bytes(text) {
59
59
  }
60
60
 
61
61
  // src/conversion.ts
62
+ var BINARY_COLLATION_INDEX = 63;
62
63
  function fieldToColumnType(field) {
63
- switch (field) {
64
+ const type = field.type;
65
+ switch (type) {
64
66
  case "INT8":
65
67
  case "UINT8":
66
68
  case "INT16":
@@ -98,6 +100,10 @@ function fieldToColumnType(field) {
98
100
  case "BLOB":
99
101
  case "BINARY":
100
102
  case "VARBINARY":
103
+ if (field.charset && field.charset !== BINARY_COLLATION_INDEX) {
104
+ return import_driver_adapter_utils.ColumnTypeEnum.Text;
105
+ }
106
+ return import_driver_adapter_utils.ColumnTypeEnum.Bytes;
101
107
  case "BIT":
102
108
  case "BITNUM":
103
109
  case "HEXNUM":
@@ -107,7 +113,7 @@ function fieldToColumnType(field) {
107
113
  case "NULL":
108
114
  return import_driver_adapter_utils.ColumnTypeEnum.Int32;
109
115
  default:
110
- throw new Error(`Unsupported column type: ${field}`);
116
+ throw new Error(`Unsupported column type: ${type}`);
111
117
  }
112
118
  }
113
119
  var cast = (field, value) => {
@@ -315,7 +321,7 @@ var PlanetScaleQueryable = class {
315
321
  const columns = fields.map((field) => field.name);
316
322
  return {
317
323
  columnNames: columns,
318
- columnTypes: fields.map((field) => fieldToColumnType(field.type)),
324
+ columnTypes: fields.map((field) => fieldToColumnType(field)),
319
325
  rows,
320
326
  lastInsertId
321
327
  };
@@ -417,6 +423,15 @@ var PlanetScaleTransaction = class extends PlanetScaleQueryable {
417
423
  this.txDeferred.reject(new RollbackError());
418
424
  return await this.txResultPromise;
419
425
  }
426
+ async createSavepoint(name2) {
427
+ await this.executeRaw({ sql: `SAVEPOINT ${name2}`, args: [], argTypes: [] });
428
+ }
429
+ async rollbackToSavepoint(name2) {
430
+ await this.executeRaw({ sql: `ROLLBACK TO ${name2}`, args: [], argTypes: [] });
431
+ }
432
+ async releaseSavepoint(name2) {
433
+ await this.executeRaw({ sql: `RELEASE SAVEPOINT ${name2}`, args: [], argTypes: [] });
434
+ }
420
435
  };
421
436
  var PrismaPlanetScaleAdapter = class extends PlanetScaleQueryable {
422
437
  constructor(client) {
package/dist/index.mjs CHANGED
@@ -23,8 +23,10 @@ function bytes(text) {
23
23
  }
24
24
 
25
25
  // src/conversion.ts
26
+ var BINARY_COLLATION_INDEX = 63;
26
27
  function fieldToColumnType(field) {
27
- switch (field) {
28
+ const type = field.type;
29
+ switch (type) {
28
30
  case "INT8":
29
31
  case "UINT8":
30
32
  case "INT16":
@@ -62,6 +64,10 @@ function fieldToColumnType(field) {
62
64
  case "BLOB":
63
65
  case "BINARY":
64
66
  case "VARBINARY":
67
+ if (field.charset && field.charset !== BINARY_COLLATION_INDEX) {
68
+ return ColumnTypeEnum.Text;
69
+ }
70
+ return ColumnTypeEnum.Bytes;
65
71
  case "BIT":
66
72
  case "BITNUM":
67
73
  case "HEXNUM":
@@ -71,7 +77,7 @@ function fieldToColumnType(field) {
71
77
  case "NULL":
72
78
  return ColumnTypeEnum.Int32;
73
79
  default:
74
- throw new Error(`Unsupported column type: ${field}`);
80
+ throw new Error(`Unsupported column type: ${type}`);
75
81
  }
76
82
  }
77
83
  var cast = (field, value) => {
@@ -279,7 +285,7 @@ var PlanetScaleQueryable = class {
279
285
  const columns = fields.map((field) => field.name);
280
286
  return {
281
287
  columnNames: columns,
282
- columnTypes: fields.map((field) => fieldToColumnType(field.type)),
288
+ columnTypes: fields.map((field) => fieldToColumnType(field)),
283
289
  rows,
284
290
  lastInsertId
285
291
  };
@@ -381,6 +387,15 @@ var PlanetScaleTransaction = class extends PlanetScaleQueryable {
381
387
  this.txDeferred.reject(new RollbackError());
382
388
  return await this.txResultPromise;
383
389
  }
390
+ async createSavepoint(name2) {
391
+ await this.executeRaw({ sql: `SAVEPOINT ${name2}`, args: [], argTypes: [] });
392
+ }
393
+ async rollbackToSavepoint(name2) {
394
+ await this.executeRaw({ sql: `ROLLBACK TO ${name2}`, args: [], argTypes: [] });
395
+ }
396
+ async releaseSavepoint(name2) {
397
+ await this.executeRaw({ sql: `RELEASE SAVEPOINT ${name2}`, args: [], argTypes: [] });
398
+ }
384
399
  };
385
400
  var PrismaPlanetScaleAdapter = class extends PlanetScaleQueryable {
386
401
  constructor(client) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/adapter-planetscale",
3
- "version": "7.5.0-dev.3",
3
+ "version": "7.5.0-dev.31",
4
4
  "description": "Prisma's driver adapter for \"@planetscale/database\"",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@planetscale/database": "^1.19.0",
35
35
  "async-mutex": "0.5.0",
36
- "@prisma/driver-adapter-utils": "7.5.0-dev.3"
36
+ "@prisma/driver-adapter-utils": "7.5.0-dev.31"
37
37
  },
38
38
  "devDependencies": {
39
39
  "undici": "7.4.0"