@prisma/client-engine-runtime 6.9.0-dev.20 → 6.9.0-dev.21
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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +97 -3
- package/dist/index.mjs +97 -3
- package/dist/interpreter/QueryInterpreter.d.ts +2 -1
- package/dist/interpreter/serializeSql.d.ts +2 -1
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -142,7 +142,7 @@ export declare type QueryEvent = {
|
|
|
142
142
|
|
|
143
143
|
export declare class QueryInterpreter {
|
|
144
144
|
#private;
|
|
145
|
-
constructor({ transactionManager, placeholderValues, onQuery, tracingHelper, serializer }: QueryInterpreterOptions);
|
|
145
|
+
constructor({ transactionManager, placeholderValues, onQuery, tracingHelper, serializer, rawSerializer, }: QueryInterpreterOptions);
|
|
146
146
|
static forSql(options: {
|
|
147
147
|
transactionManager: QueryInterpreterTransactionManager;
|
|
148
148
|
placeholderValues: Record<string, unknown>;
|
|
@@ -159,6 +159,7 @@ export declare type QueryInterpreterOptions = {
|
|
|
159
159
|
onQuery?: (event: QueryEvent) => void;
|
|
160
160
|
tracingHelper: TracingHelper;
|
|
161
161
|
serializer: (results: SqlResultSet) => Value;
|
|
162
|
+
rawSerializer?: (results: SqlResultSet) => Value;
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
export declare type QueryInterpreterTransactionManager = {
|
package/dist/index.d.ts
CHANGED
|
@@ -142,7 +142,7 @@ export declare type QueryEvent = {
|
|
|
142
142
|
|
|
143
143
|
export declare class QueryInterpreter {
|
|
144
144
|
#private;
|
|
145
|
-
constructor({ transactionManager, placeholderValues, onQuery, tracingHelper, serializer }: QueryInterpreterOptions);
|
|
145
|
+
constructor({ transactionManager, placeholderValues, onQuery, tracingHelper, serializer, rawSerializer, }: QueryInterpreterOptions);
|
|
146
146
|
static forSql(options: {
|
|
147
147
|
transactionManager: QueryInterpreterTransactionManager;
|
|
148
148
|
placeholderValues: Record<string, unknown>;
|
|
@@ -159,6 +159,7 @@ export declare type QueryInterpreterOptions = {
|
|
|
159
159
|
onQuery?: (event: QueryEvent) => void;
|
|
160
160
|
tracingHelper: TracingHelper;
|
|
161
161
|
serializer: (results: SqlResultSet) => Value;
|
|
162
|
+
rawSerializer?: (results: SqlResultSet) => Value;
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
export declare type QueryInterpreterTransactionManager = {
|
package/dist/index.js
CHANGED
|
@@ -595,6 +595,7 @@ function doesRequireEvaluation(param) {
|
|
|
595
595
|
}
|
|
596
596
|
|
|
597
597
|
// src/interpreter/serializeSql.ts
|
|
598
|
+
var import_driver_adapter_utils2 = require("@prisma/driver-adapter-utils");
|
|
598
599
|
function serializeSql(resultSet) {
|
|
599
600
|
return resultSet.rows.map(
|
|
600
601
|
(row) => row.reduce((acc, value, index) => {
|
|
@@ -615,6 +616,85 @@ function serializeSql(resultSet) {
|
|
|
615
616
|
}, {})
|
|
616
617
|
);
|
|
617
618
|
}
|
|
619
|
+
function serializeRawSql(resultSet) {
|
|
620
|
+
return {
|
|
621
|
+
columns: resultSet.columnNames,
|
|
622
|
+
types: resultSet.columnTypes.map((type) => serializeColumnType(type)),
|
|
623
|
+
rows: resultSet.rows
|
|
624
|
+
};
|
|
625
|
+
}
|
|
626
|
+
function serializeColumnType(columnType) {
|
|
627
|
+
switch (columnType) {
|
|
628
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Int32:
|
|
629
|
+
return "int";
|
|
630
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Int64:
|
|
631
|
+
return "bigint";
|
|
632
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Float:
|
|
633
|
+
return "float";
|
|
634
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Double:
|
|
635
|
+
return "double";
|
|
636
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Text:
|
|
637
|
+
return "string";
|
|
638
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Enum:
|
|
639
|
+
return "enum";
|
|
640
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Bytes:
|
|
641
|
+
return "bytes";
|
|
642
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Boolean:
|
|
643
|
+
return "bool";
|
|
644
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Character:
|
|
645
|
+
return "char";
|
|
646
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Numeric:
|
|
647
|
+
return "decimal";
|
|
648
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Json:
|
|
649
|
+
return "json";
|
|
650
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Uuid:
|
|
651
|
+
return "uuid";
|
|
652
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.DateTime:
|
|
653
|
+
return "datetime";
|
|
654
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Date:
|
|
655
|
+
return "date";
|
|
656
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Time:
|
|
657
|
+
return "time";
|
|
658
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Int32Array:
|
|
659
|
+
return "int-array";
|
|
660
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Int64Array:
|
|
661
|
+
return "bigint-array";
|
|
662
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.FloatArray:
|
|
663
|
+
return "float-array";
|
|
664
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.DoubleArray:
|
|
665
|
+
return "double-array";
|
|
666
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.TextArray:
|
|
667
|
+
return "string-array";
|
|
668
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.EnumArray:
|
|
669
|
+
return "string-array";
|
|
670
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.BytesArray:
|
|
671
|
+
return "bytes-array";
|
|
672
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.BooleanArray:
|
|
673
|
+
return "bool-array";
|
|
674
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.CharacterArray:
|
|
675
|
+
return "char-array";
|
|
676
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.NumericArray:
|
|
677
|
+
return "decimal-array";
|
|
678
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.JsonArray:
|
|
679
|
+
return "json-array";
|
|
680
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.UuidArray:
|
|
681
|
+
return "uuid-array";
|
|
682
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.DateTimeArray:
|
|
683
|
+
return "datetime-array";
|
|
684
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.DateArray:
|
|
685
|
+
return "date-array";
|
|
686
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.TimeArray:
|
|
687
|
+
return "time-array";
|
|
688
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.UnknownNumber:
|
|
689
|
+
return "unknown";
|
|
690
|
+
/// The following PlanetScale type IDs are mapped into Set:
|
|
691
|
+
/// - SET (SET) -> e.g. `"foo,bar"` (String-encoded, comma-separated)
|
|
692
|
+
case import_driver_adapter_utils2.ColumnTypeEnum.Set:
|
|
693
|
+
return "string";
|
|
694
|
+
default:
|
|
695
|
+
assertNever(columnType, `Unexpected column type: ${columnType}`);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
618
698
|
|
|
619
699
|
// src/interpreter/validation.ts
|
|
620
700
|
function performValidation(data, rules, error) {
|
|
@@ -695,12 +775,21 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
695
775
|
#generators = new GeneratorRegistry();
|
|
696
776
|
#tracingHelper;
|
|
697
777
|
#serializer;
|
|
698
|
-
|
|
778
|
+
#rawSerializer;
|
|
779
|
+
constructor({
|
|
780
|
+
transactionManager,
|
|
781
|
+
placeholderValues,
|
|
782
|
+
onQuery,
|
|
783
|
+
tracingHelper,
|
|
784
|
+
serializer,
|
|
785
|
+
rawSerializer
|
|
786
|
+
}) {
|
|
699
787
|
this.#transactionManager = transactionManager;
|
|
700
788
|
this.#placeholderValues = placeholderValues;
|
|
701
789
|
this.#onQuery = onQuery;
|
|
702
790
|
this.#tracingHelper = tracingHelper;
|
|
703
791
|
this.#serializer = serializer;
|
|
792
|
+
this.#rawSerializer = rawSerializer ?? serializer;
|
|
704
793
|
}
|
|
705
794
|
static forSql(options) {
|
|
706
795
|
return new _QueryInterpreter({
|
|
@@ -708,7 +797,8 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
708
797
|
placeholderValues: options.placeholderValues,
|
|
709
798
|
onQuery: options.onQuery,
|
|
710
799
|
tracingHelper: options.tracingHelper,
|
|
711
|
-
serializer: serializeSql
|
|
800
|
+
serializer: serializeSql,
|
|
801
|
+
rawSerializer: serializeRawSql
|
|
712
802
|
});
|
|
713
803
|
}
|
|
714
804
|
async run(queryPlan, queryable) {
|
|
@@ -761,7 +851,11 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
761
851
|
case "query": {
|
|
762
852
|
const query = renderQuery(node.args, scope, generators);
|
|
763
853
|
return this.#withQueryEvent(query, queryable, async () => {
|
|
764
|
-
|
|
854
|
+
if (node.args.type === "rawSql") {
|
|
855
|
+
return this.#rawSerializer(await queryable.queryRaw(query));
|
|
856
|
+
} else {
|
|
857
|
+
return this.#serializer(await queryable.queryRaw(query));
|
|
858
|
+
}
|
|
765
859
|
});
|
|
766
860
|
}
|
|
767
861
|
case "reverse": {
|
package/dist/index.mjs
CHANGED
|
@@ -548,6 +548,7 @@ function doesRequireEvaluation(param) {
|
|
|
548
548
|
}
|
|
549
549
|
|
|
550
550
|
// src/interpreter/serializeSql.ts
|
|
551
|
+
import { ColumnTypeEnum } from "@prisma/driver-adapter-utils";
|
|
551
552
|
function serializeSql(resultSet) {
|
|
552
553
|
return resultSet.rows.map(
|
|
553
554
|
(row) => row.reduce((acc, value, index) => {
|
|
@@ -568,6 +569,85 @@ function serializeSql(resultSet) {
|
|
|
568
569
|
}, {})
|
|
569
570
|
);
|
|
570
571
|
}
|
|
572
|
+
function serializeRawSql(resultSet) {
|
|
573
|
+
return {
|
|
574
|
+
columns: resultSet.columnNames,
|
|
575
|
+
types: resultSet.columnTypes.map((type) => serializeColumnType(type)),
|
|
576
|
+
rows: resultSet.rows
|
|
577
|
+
};
|
|
578
|
+
}
|
|
579
|
+
function serializeColumnType(columnType) {
|
|
580
|
+
switch (columnType) {
|
|
581
|
+
case ColumnTypeEnum.Int32:
|
|
582
|
+
return "int";
|
|
583
|
+
case ColumnTypeEnum.Int64:
|
|
584
|
+
return "bigint";
|
|
585
|
+
case ColumnTypeEnum.Float:
|
|
586
|
+
return "float";
|
|
587
|
+
case ColumnTypeEnum.Double:
|
|
588
|
+
return "double";
|
|
589
|
+
case ColumnTypeEnum.Text:
|
|
590
|
+
return "string";
|
|
591
|
+
case ColumnTypeEnum.Enum:
|
|
592
|
+
return "enum";
|
|
593
|
+
case ColumnTypeEnum.Bytes:
|
|
594
|
+
return "bytes";
|
|
595
|
+
case ColumnTypeEnum.Boolean:
|
|
596
|
+
return "bool";
|
|
597
|
+
case ColumnTypeEnum.Character:
|
|
598
|
+
return "char";
|
|
599
|
+
case ColumnTypeEnum.Numeric:
|
|
600
|
+
return "decimal";
|
|
601
|
+
case ColumnTypeEnum.Json:
|
|
602
|
+
return "json";
|
|
603
|
+
case ColumnTypeEnum.Uuid:
|
|
604
|
+
return "uuid";
|
|
605
|
+
case ColumnTypeEnum.DateTime:
|
|
606
|
+
return "datetime";
|
|
607
|
+
case ColumnTypeEnum.Date:
|
|
608
|
+
return "date";
|
|
609
|
+
case ColumnTypeEnum.Time:
|
|
610
|
+
return "time";
|
|
611
|
+
case ColumnTypeEnum.Int32Array:
|
|
612
|
+
return "int-array";
|
|
613
|
+
case ColumnTypeEnum.Int64Array:
|
|
614
|
+
return "bigint-array";
|
|
615
|
+
case ColumnTypeEnum.FloatArray:
|
|
616
|
+
return "float-array";
|
|
617
|
+
case ColumnTypeEnum.DoubleArray:
|
|
618
|
+
return "double-array";
|
|
619
|
+
case ColumnTypeEnum.TextArray:
|
|
620
|
+
return "string-array";
|
|
621
|
+
case ColumnTypeEnum.EnumArray:
|
|
622
|
+
return "string-array";
|
|
623
|
+
case ColumnTypeEnum.BytesArray:
|
|
624
|
+
return "bytes-array";
|
|
625
|
+
case ColumnTypeEnum.BooleanArray:
|
|
626
|
+
return "bool-array";
|
|
627
|
+
case ColumnTypeEnum.CharacterArray:
|
|
628
|
+
return "char-array";
|
|
629
|
+
case ColumnTypeEnum.NumericArray:
|
|
630
|
+
return "decimal-array";
|
|
631
|
+
case ColumnTypeEnum.JsonArray:
|
|
632
|
+
return "json-array";
|
|
633
|
+
case ColumnTypeEnum.UuidArray:
|
|
634
|
+
return "uuid-array";
|
|
635
|
+
case ColumnTypeEnum.DateTimeArray:
|
|
636
|
+
return "datetime-array";
|
|
637
|
+
case ColumnTypeEnum.DateArray:
|
|
638
|
+
return "date-array";
|
|
639
|
+
case ColumnTypeEnum.TimeArray:
|
|
640
|
+
return "time-array";
|
|
641
|
+
case ColumnTypeEnum.UnknownNumber:
|
|
642
|
+
return "unknown";
|
|
643
|
+
/// The following PlanetScale type IDs are mapped into Set:
|
|
644
|
+
/// - SET (SET) -> e.g. `"foo,bar"` (String-encoded, comma-separated)
|
|
645
|
+
case ColumnTypeEnum.Set:
|
|
646
|
+
return "string";
|
|
647
|
+
default:
|
|
648
|
+
assertNever(columnType, `Unexpected column type: ${columnType}`);
|
|
649
|
+
}
|
|
650
|
+
}
|
|
571
651
|
|
|
572
652
|
// src/interpreter/validation.ts
|
|
573
653
|
function performValidation(data, rules, error) {
|
|
@@ -648,12 +728,21 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
648
728
|
#generators = new GeneratorRegistry();
|
|
649
729
|
#tracingHelper;
|
|
650
730
|
#serializer;
|
|
651
|
-
|
|
731
|
+
#rawSerializer;
|
|
732
|
+
constructor({
|
|
733
|
+
transactionManager,
|
|
734
|
+
placeholderValues,
|
|
735
|
+
onQuery,
|
|
736
|
+
tracingHelper,
|
|
737
|
+
serializer,
|
|
738
|
+
rawSerializer
|
|
739
|
+
}) {
|
|
652
740
|
this.#transactionManager = transactionManager;
|
|
653
741
|
this.#placeholderValues = placeholderValues;
|
|
654
742
|
this.#onQuery = onQuery;
|
|
655
743
|
this.#tracingHelper = tracingHelper;
|
|
656
744
|
this.#serializer = serializer;
|
|
745
|
+
this.#rawSerializer = rawSerializer ?? serializer;
|
|
657
746
|
}
|
|
658
747
|
static forSql(options) {
|
|
659
748
|
return new _QueryInterpreter({
|
|
@@ -661,7 +750,8 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
661
750
|
placeholderValues: options.placeholderValues,
|
|
662
751
|
onQuery: options.onQuery,
|
|
663
752
|
tracingHelper: options.tracingHelper,
|
|
664
|
-
serializer: serializeSql
|
|
753
|
+
serializer: serializeSql,
|
|
754
|
+
rawSerializer: serializeRawSql
|
|
665
755
|
});
|
|
666
756
|
}
|
|
667
757
|
async run(queryPlan, queryable) {
|
|
@@ -714,7 +804,11 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
714
804
|
case "query": {
|
|
715
805
|
const query = renderQuery(node.args, scope, generators);
|
|
716
806
|
return this.#withQueryEvent(query, queryable, async () => {
|
|
717
|
-
|
|
807
|
+
if (node.args.type === "rawSql") {
|
|
808
|
+
return this.#rawSerializer(await queryable.queryRaw(query));
|
|
809
|
+
} else {
|
|
810
|
+
return this.#serializer(await queryable.queryRaw(query));
|
|
811
|
+
}
|
|
718
812
|
});
|
|
719
813
|
}
|
|
720
814
|
case "reverse": {
|
|
@@ -16,10 +16,11 @@ export type QueryInterpreterOptions = {
|
|
|
16
16
|
onQuery?: (event: QueryEvent) => void;
|
|
17
17
|
tracingHelper: TracingHelper;
|
|
18
18
|
serializer: (results: SqlResultSet) => Value;
|
|
19
|
+
rawSerializer?: (results: SqlResultSet) => Value;
|
|
19
20
|
};
|
|
20
21
|
export declare class QueryInterpreter {
|
|
21
22
|
#private;
|
|
22
|
-
constructor({ transactionManager, placeholderValues, onQuery, tracingHelper, serializer }: QueryInterpreterOptions);
|
|
23
|
+
constructor({ transactionManager, placeholderValues, onQuery, tracingHelper, serializer, rawSerializer, }: QueryInterpreterOptions);
|
|
23
24
|
static forSql(options: {
|
|
24
25
|
transactionManager: QueryInterpreterTransactionManager;
|
|
25
26
|
placeholderValues: Record<string, unknown>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SqlResultSet } from '@prisma/driver-adapter-utils';
|
|
2
2
|
export declare function serializeSql(resultSet: SqlResultSet): Record<string, unknown>[];
|
|
3
|
+
export declare function serializeRawSql(resultSet: SqlResultSet): Record<string, unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/client-engine-runtime",
|
|
3
|
-
"version": "6.9.0-dev.
|
|
3
|
+
"version": "6.9.0-dev.21",
|
|
4
4
|
"description": "This package is intended for Prisma's internal use",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"nanoid": "5.1.5",
|
|
32
32
|
"ulid": "3.0.0",
|
|
33
33
|
"uuid": "11.1.0",
|
|
34
|
-
"@prisma/debug": "6.9.0-dev.
|
|
35
|
-
"@prisma/driver-adapter-utils": "6.9.0-dev.
|
|
34
|
+
"@prisma/debug": "6.9.0-dev.21",
|
|
35
|
+
"@prisma/driver-adapter-utils": "6.9.0-dev.21"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/jest": "29.5.14",
|