Skip to content

Commit 8d3fcaf

Browse files
committed
only import ResultSetHeader if execlastid query exists
1 parent 2398fb0 commit 8d3fcaf

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

src/drivers/mysql2.ts

+16-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { SyntaxKind, NodeFlags, TypeNode, factory } from "typescript";
22

33
// import { writeFileSync, STDIO } from "javy/fs";
44

5-
import { Parameter, Column } from "../gen/plugin/codegen_pb";
5+
import { Parameter, Column, Query } from "../gen/plugin/codegen_pb";
66
import { argName, colName } from "./utlis";
77

88
export function columnType(column?: Column): TypeNode {
@@ -165,7 +165,8 @@ export function columnType(column?: Column): TypeNode {
165165
]);
166166
}
167167

168-
export function preamble(queries: unknown) {
168+
export function preamble(queries: Query[]) {
169+
const hasExecLastIdCmd = queries.some((query) => query.cmd === ":execlastid");
169170
return [
170171
factory.createImportDeclaration(
171172
undefined,
@@ -178,11 +179,15 @@ export function preamble(queries: unknown) {
178179
undefined,
179180
factory.createIdentifier("RowDataPacket")
180181
),
181-
factory.createImportSpecifier(
182-
false,
183-
undefined,
184-
factory.createIdentifier("ResultSetHeader")
185-
),
182+
...(hasExecLastIdCmd
183+
? [
184+
factory.createImportSpecifier(
185+
false,
186+
undefined,
187+
factory.createIdentifier("ResultSetHeader")
188+
),
189+
]
190+
: []),
186191
])
187192
),
188193
factory.createStringLiteral("mysql2/promise"),
@@ -634,7 +639,7 @@ export function execlastidDecl(
634639
undefined,
635640
funcParams,
636641
factory.createTypeReferenceNode(factory.createIdentifier("Promise"), [
637-
factory.createTypeReferenceNode('number', undefined),
642+
factory.createTypeReferenceNode("number", undefined),
638643
]),
639644
factory.createBlock(
640645
[
@@ -663,7 +668,7 @@ export function execlastidDecl(
663668
factory.createTypeReferenceNode(
664669
factory.createIdentifier("ResultSetHeader"),
665670
undefined
666-
)
671+
),
667672
],
668673
[
669674
factory.createObjectLiteralExpression(
@@ -692,7 +697,7 @@ export function execlastidDecl(
692697
]
693698
)
694699
)
695-
)
700+
),
696701
],
697702
NodeFlags.Const |
698703
// NodeFlags.Constant |
@@ -716,7 +721,7 @@ export function execlastidDecl(
716721
],
717722
true
718723
)
719-
)
724+
);
720725
}
721726

722727
export default {

0 commit comments

Comments
 (0)