Skip to content

Commit

Permalink
test: run query engine tests with query compiler
Browse files Browse the repository at this point in the history
  • Loading branch information
aqrln committed Feb 4, 2025
1 parent 705d9f6 commit e21c6eb
Show file tree
Hide file tree
Showing 10 changed files with 473 additions and 40 deletions.
3 changes: 3 additions & 0 deletions .prettierrc.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
tabWidth = 2
semi = false
singleQuote = true
4 changes: 3 additions & 1 deletion libs/driver-adapters/executor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
"description": "",
"private": true,
"scripts": {
"build": "tsup ./src/testd-qe.ts ./src/demo-se.ts ./src/bench.ts --format esm --dts",
"build": "tsup ./src/testd-qe.ts ./src/testd-qc.ts ./src/demo-se.ts ./src/bench.ts --format esm --dts",
"test:qe": "node --import tsx ./src/testd-qe.ts",
"test:qc": "node --import tsx ./src/testd-qc.ts",
"demo:se": "node --import tsx ./src/demo-se.ts",
"demo:qc": "node --import tsx ./src/demo-qc.ts",
"clean:d1": "rm -rf ../../connector-test-kit-rs/query-engine-tests/.wrangler"
Expand All @@ -27,6 +28,7 @@
"@prisma/adapter-pg": "workspace:*",
"@prisma/adapter-planetscale": "workspace:*",
"@prisma/bundled-js-drivers": "workspace:*",
"@prisma/client-engine-runtime": "workspace:*",
"@prisma/driver-adapter-utils": "workspace:*",
"mitata": "0.1.11",
"query-engine-wasm-baseline": "npm:@prisma/[email protected]",
Expand Down
2 changes: 2 additions & 0 deletions libs/driver-adapters/executor/script/testd-qc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/usr/bin/env bash
node "$(dirname "${BASH_SOURCE[0]}")/../dist/testd-qc.js"
24 changes: 12 additions & 12 deletions libs/driver-adapters/executor/src/query-compiler.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
import { ConnectionInfo } from "@prisma/driver-adapter-utils";
import { __dirname } from "./utils";
import { ConnectionInfo } from '@prisma/driver-adapter-utils'
import { __dirname } from './utils'

export type QueryCompilerParams = {
// TODO: support multiple datamodels
datamodel: string;
flavour: 'postgres' | 'mysql' | 'sqlite';
connectionInfo: ConnectionInfo;
};
datamodel: string
provider: 'postgres' | 'mysql' | 'sqlite'
connectionInfo: ConnectionInfo
}

export interface QueryCompiler {
new (params: QueryCompilerParams): QueryCompiler;
compile(query: string): Promise<string>;
new (params: QueryCompilerParams): QueryCompiler
compile(query: string): Promise<string>
}

export async function initQueryCompiler(
params: QueryCompilerParams,
): Promise<QueryCompiler> {
const { getQueryCompilerForProvider } = await import("./query-compiler-wasm");
const { getQueryCompilerForProvider } = await import('./query-compiler-wasm')
const WasmQueryCompiler = (await getQueryCompilerForProvider(
params.flavour,
)) as QueryCompiler;
return new WasmQueryCompiler(params);
params.provider,
)) as QueryCompiler
return new WasmQueryCompiler(params)
}
Loading

0 comments on commit e21c6eb

Please sign in to comment.