Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(query-engine-wasm): vertical slice #4466

Merged
merged 183 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
61ef25b
feat(quaint): allow wasm32-unknown-unknown compilation; currently fai…
jkomyno Nov 10, 2023
055e696
feat(quaint): split postgres connector into native and wasm submodules
jkomyno Nov 10, 2023
12c6ebb
feat(quaint): split mysql connector into native and wasm submodules
jkomyno Nov 10, 2023
060486d
feat(quaint): recover wasm error for mysql
jkomyno Nov 10, 2023
5de1dc0
feat(quaint): split mssql connector into native and wasm submodules
jkomyno Nov 10, 2023
8ecbc5c
feat(quaint): split sqlite connector into native and wasm submodules
jkomyno Nov 13, 2023
45df24f
chore(quaint): fix clippy when compiling natively
jkomyno Nov 13, 2023
6a1f733
chore(quaint): fix clippy when compiling to wasm32-unknown-unknown
jkomyno Nov 13, 2023
e61bf75
chore(quaint): update README
jkomyno Nov 13, 2023
257c4c8
chore(quaint): rename "*-connector" feature flag to "*-native"
jkomyno Nov 14, 2023
5ab6d96
feat(quaint): enable pure Wasm SqliteError
jkomyno Nov 14, 2023
ab65c95
feat(query-connect): allow wasm32-unknown-unknown compilation
jkomyno Nov 14, 2023
485f6dc
Merge branch 'main' into feat/quaint-on-wasm32-unknown-unknown
jkomyno Nov 14, 2023
cfb5507
feat(sql-query-connector): allow wasm32-unknown-unknown compilation
jkomyno Nov 14, 2023
e7df5a3
chore(query-engine-wasm): add currently unused local crates to test w…
jkomyno Nov 14, 2023
8c5d3dc
chore: update Cargo.lock
jkomyno Nov 14, 2023
6648a88
chore: remove leftover comments
jkomyno Nov 14, 2023
754746e
feat(query-core): allow wasm32-unknown-unknown compilation
jkomyno Nov 14, 2023
fe2fb8b
chore(sql-query-connector): fix clipppy on wasm32
jkomyno Nov 14, 2023
2ffe394
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' of …
jkomyno Nov 14, 2023
e66fb65
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 14, 2023
37bd8d1
chore: remove leftover comment
jkomyno Nov 14, 2023
9c41dc1
chore: remove leftover comment
jkomyno Nov 14, 2023
b69bb84
feat(driver-adapters): enable Wasm on request-handlers
jkomyno Nov 15, 2023
c987dce
WIP: refactor mysql module to flatten its structure
miguelff Nov 15, 2023
626bc1e
feat(quaint): flatten mssql connector module
jkomyno Nov 15, 2023
a9f8ba8
feat(quaint): flatten postgres connector module
jkomyno Nov 15, 2023
3c1a100
feat(quaint): flatten sqlite connector module
jkomyno Nov 15, 2023
7f4c8f9
chore(quaint): export all public definitions in connector "url" modules
jkomyno Nov 15, 2023
95a4e28
chore(quaint): refactor tests for connectors, addressing feedback
jkomyno Nov 15, 2023
bacb635
chore: add comment on MysqlAsyncError
jkomyno Nov 15, 2023
263bab0
chore: add comment on ffi.rs for sqlite
jkomyno Nov 15, 2023
253b75d
Merge branch 'feat/quaint-on-wasm32-unknown-unknown' into feat/sql-qu…
jkomyno Nov 15, 2023
414ae2b
Merge branch 'feat/quaint-on-wasm32-unknown-unknown' into feat/sql-qu…
jkomyno Nov 15, 2023
cd60a42
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 15, 2023
d0f783d
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 15, 2023
76816fd
chore: replace awkward "super::super::" with "crate::..."
jkomyno Nov 15, 2023
f227e6c
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' of …
jkomyno Nov 15, 2023
7359a08
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' of …
jkomyno Nov 15, 2023
718cfe9
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 15, 2023
f61665a
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 15, 2023
28c0ebc
chore: add comments around "query_core::executor::task"
jkomyno Nov 15, 2023
5126a75
chore: add comments around "query_core::executor::task"
jkomyno Nov 15, 2023
de39d9e
chore: add "request-handlers" to "query-engine-wasm"
jkomyno Nov 15, 2023
3bbe64c
Merge branch 'feat/query-core-on-wasm32-unknown-unknown' into feat/re…
jkomyno Nov 15, 2023
4ed297e
Merge branch 'feat/query-core-on-wasm32-unknown-unknown' into feat/re…
jkomyno Nov 15, 2023
0a705ec
chore: add wasm dependencies to Cargo workspace
jkomyno Nov 15, 2023
9a599d1
feat(driver-adapters): move napi-specific code into "napi" module, pr…
jkomyno Nov 15, 2023
3c7a778
feat(driver-adapters): extracted platform-agnostic "DriverAdapterErro…
jkomyno Nov 16, 2023
23bf487
chore(driver-adapters): add "driver-adapters" to "query-engine-wasm"
jkomyno Nov 16, 2023
4424d4b
feat(driver-adapters): add Wasm-specific "async_js_function"
jkomyno Nov 16, 2023
9b60a18
feat(driver-adapters): extracted common types to "driver_adapters::ty…
jkomyno Nov 16, 2023
1eafb3d
feat(driver-adapters): extracted "TryFrom<JSResultSet> for QuaintResu…
jkomyno Nov 16, 2023
cc117e2
feat(driver-adapters): allow feature-complete Wasm compilation of "dr…
jkomyno Nov 16, 2023
d7a799d
feat(driver-adapters): plug "driver-adapters" to "query-engine-wasm"
jkomyno Nov 17, 2023
c72c377
chore: remove .cargo, add it to .gitignore
jkomyno Nov 17, 2023
33cdf77
Merge branch 'main' into feat/sql-query-connector-on-wasm32-unknown-u…
jkomyno Nov 17, 2023
2dd3f02
Merge branch 'main' into feat/query-core-on-wasm32-unknown-unknown
jkomyno Nov 17, 2023
2afeddc
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 17, 2023
2339b31
chore: move "task" module into its own file
jkomyno Nov 17, 2023
edf0f4e
Merge branch 'main' into feat/query-core-on-wasm32-unknown-unknown
jkomyno Nov 17, 2023
5976ab1
Merge branch 'feat/query-core-on-wasm32-unknown-unknown' into feat/re…
jkomyno Nov 17, 2023
96cd8ca
fix(driver-adapters): ci for "request-handlers"
jkomyno Nov 17, 2023
3541054
fix(driver-adapters): ci for "request-handlers"
jkomyno Nov 17, 2023
e79cb1f
Merge branch 'main' into feat/sql-query-connector-on-wasm32-unknown-u…
jkomyno Nov 17, 2023
e52500f
Merge branch 'feat/sql-query-connector-on-wasm32-unknown-unknown' int…
jkomyno Nov 17, 2023
2c70d12
Merge branch 'feat/query-core-on-wasm32-unknown-unknown' into feat/re…
jkomyno Nov 17, 2023
91d8e5f
chore: fix conflicts from "main"
jkomyno Nov 17, 2023
30d2907
Merge branch 'feat/request-handlers-on-wasm32-unknown-unknown' into f…
jkomyno Nov 17, 2023
0795a6a
fix(driver-adapters): clippy compile error on "query-engine-wasm"
jkomyno Nov 17, 2023
22113ca
chore(driver-adapters): fix conflicting library name warning on "carg…
jkomyno Nov 17, 2023
b53efbb
chore: merge main, fix conflicts
jkomyno Nov 20, 2023
9c8bd20
chore: fix conflicts
jkomyno Nov 20, 2023
fb92bbb
chore: fixed some clippy warnings
jkomyno Nov 20, 2023
3c592e1
chore: add .cargo to .gitignore
jkomyno Nov 20, 2023
8529b8c
feat(query-engine-wasm): ported some logic from query-engine-node-api…
jkomyno Nov 20, 2023
a82584a
chore: merge main, fix conflicts
jkomyno Nov 20, 2023
a819ff9
chore: merge main, fix conflicts
jkomyno Nov 20, 2023
d276f3d
Add connect/disconnect
SevInf Nov 20, 2023
f4897f5
Merge branch 'feat/driver-adapters-on-wasm32-unknown-unknown' into fe…
janpio Nov 21, 2023
9818aee
chore: merge main, fix conflicts
jkomyno Nov 21, 2023
988e528
chore: merge driver-adapters, fix conflicts
jkomyno Nov 21, 2023
d054114
fix: remove tokio-induced panic in "connect"
jkomyno Nov 22, 2023
d6d09d6
feat: remove ducktor
jkomyno Nov 22, 2023
2347cb1
feat(driver-adapters): remove "queryable" into its own module
jkomyno Nov 22, 2023
a57ecf5
chore: merge driver-adapters, fix conflicts
jkomyno Nov 22, 2023
a004fe6
Couple of fixes
SevInf Nov 22, 2023
49271f6
Fix `Instant::now` usage
SevInf Nov 22, 2023
0a605a5
Merge branch 'feat/query-engine-wasm32-unknown-unknown' of github.com…
jkomyno Nov 22, 2023
82afce4
fix(driver-adapters): understand "flavour" and adjust casing in "JSRe…
jkomyno Nov 22, 2023
bbae4e3
feat(driver-adapters): add some Into traits for "JsResult"
jkomyno Nov 22, 2023
40520fd
Merge branch 'feat/driver-adapters-on-wasm32-unknown-unknown' into fe…
jkomyno Nov 22, 2023
77a79fa
Fix JSResult parsing
SevInf Nov 22, 2023
6b60c8f
Reorganize example
SevInf Nov 22, 2023
521b3ab
Fix some of the warnings
SevInf Nov 22, 2023
272228e
Remove unused file
SevInf Nov 22, 2023
39b2489
Fix WASM transaction binding
SevInf Nov 23, 2023
b589b1f
Cleanup
SevInf Nov 23, 2023
e56b723
feat(driver-adapters): fix enum parsing, add "wasm-rs-dbg" crate for …
jkomyno Nov 23, 2023
61add9e
chore(driver-adapters): remove unused "src/wasm/queryable.rs"
jkomyno Nov 23, 2023
fb365ea
chore(driver-adapters): add "createOne" and "driverAdapters" preview …
jkomyno Nov 23, 2023
7570e8c
chore(driver-adapters): add wasm-bindgen-test example
jkomyno Nov 23, 2023
0bc9530
Merge branch 'feat/query-engine-wasm32-unknown-unknown' of github.com…
jkomyno Nov 23, 2023
d3b1ae9
chore(driver-adapters): update Cargo.lock
jkomyno Nov 23, 2023
11526ce
Handle non-promise return values
SevInf Nov 23, 2023
f02bd0e
Merge remote-tracking branch 'origin/main' into feat/query-engine-was…
SevInf Nov 24, 2023
ab2937a
Run tests on WASM
SevInf Nov 24, 2023
586c5a4
feat(core): allow Drop'ing futures running in loop in wasm32-* via co…
jkomyno Nov 24, 2023
68719a3
feat(chore): add Arc<DriverAdapter> comment
jkomyno Nov 24, 2023
8173e61
feat(chore): re-enable previous "disconnect()"
jkomyno Nov 24, 2023
fc2bd7f
feat(chore): update example.js
jkomyno Nov 24, 2023
5b352ef
Merge branch 'feat/query-engine-wasm32-unknown-unknown' of github.com…
jkomyno Nov 24, 2023
20d8a40
fix(query-engine-node-api): fix compilation errors
jkomyno Nov 24, 2023
18a8127
Update cuid
SevInf Nov 24, 2023
d04804d
Remove one more isntant usage
SevInf Nov 24, 2023
aa5af56
chore: merge main, fix conflicts
jkomyno Nov 27, 2023
7825048
chore(driver-adapters): simplify async_js_function API
jkomyno Nov 27, 2023
6bedf79
chore(driver-adapters): unify napi/wasm errors into "crate::JsResult"
jkomyno Nov 27, 2023
56fc689
chore(driver-adapters): continue unifying napi/wasm functions
jkomyno Nov 27, 2023
1474f7b
chore(driver-adapters): unify napi/wasm logic for proxy
jkomyno Nov 27, 2023
d9b8e57
chore(driver-adapters): unify napi/wasm logic queryable.rs and proxy.rs
jkomyno Nov 28, 2023
2ac6fb0
chore: merge main, fix conflicts
jkomyno Nov 28, 2023
7a77d97
chore(driver-adapters): unify napi/wasm logic for transaction.rs
jkomyno Nov 28, 2023
91bd696
chore(driver-adapters): clippy fixes
jkomyno Nov 28, 2023
50f8601
chore(driver-adapters): cli
jkomyno Nov 28, 2023
e1867df
chore: remove dbg! output
jkomyno Nov 28, 2023
2dd8159
chore: remove dbg! output
jkomyno Nov 28, 2023
3d82368
Fix itx panic
SevInf Nov 28, 2023
e5c9716
Remove unused import
SevInf Nov 28, 2023
08accae
Fix hanging itx
SevInf Nov 28, 2023
269998d
fix insta tests
SevInf Nov 29, 2023
a063244
feat(query-engine-wasm): enable tracing and bits of telemetry
jkomyno Nov 29, 2023
917c7d5
Merge branch 'feat/query-engine-wasm32-unknown-unknown' of github.com…
jkomyno Nov 29, 2023
bec8bc3
chore: clippy
jkomyno Nov 29, 2023
715c87f
Fix panic kills running engine in query-engine-tests (#4499)
Nov 29, 2023
ad9b485
chore: fix conflicts
jkomyno Nov 29, 2023
77e1027
Fix duplicate snapshots in json_filters test
SevInf Nov 29, 2023
f63661b
Size low hanging fruits
SevInf Nov 30, 2023
c592c88
feat(driver-adapters): serialize empty values as "null" rather than "…
jkomyno Nov 30, 2023
74b4415
Merge branch 'feat/query-engine-wasm32-unknown-unknown' of github.com…
jkomyno Nov 30, 2023
8b920f5
chore: fixed query-engine-node-api build
jkomyno Nov 30, 2023
a34f74e
chore: bumped wasm-bindgen version to 0.2.89
jkomyno Nov 30, 2023
c87bbb2
chore: clean up quaint transitive dependencies
jkomyno Nov 30, 2023
60b0d8c
chore: removed wasm.rs test
jkomyno Nov 30, 2023
48770da
chore: removed temporary wasm machinery
jkomyno Nov 30, 2023
57ce977
chore: fix clippy
jkomyno Nov 30, 2023
4d92a88
chore: remove unwrap from "sleep"
jkomyno Nov 30, 2023
ff7046a
chore: revert unnecessary psl change
jkomyno Nov 30, 2023
0cf9b4a
chore(driver-adapters): fix unit tests
jkomyno Nov 30, 2023
7e72125
Merge branch 'main' into feat/query-engine-wasm32-unknown-unknown
jkomyno Nov 30, 2023
dabe0e2
chore(driver-adapters): add clippy check for wasm32
jkomyno Nov 30, 2023
adf671d
chore(driver-adapters): add clippy check for wasm32
jkomyno Nov 30, 2023
6c710ad
chore: fix clippy
jkomyno Nov 30, 2023
c5d644b
Merge branch 'feat/query-engine-wasm32-unknown-unknown' of github.com…
jkomyno Nov 30, 2023
481ba65
Revert "chore: removed wasm.rs test"
jkomyno Nov 30, 2023
998f5c1
test(driver-adapters): add byte tests for conversion
jkomyno Nov 30, 2023
48b9381
Revert "Revert "chore: removed wasm.rs test""
jkomyno Nov 30, 2023
22c1af0
chore(driver-adapters): merge main, fix conflicts, add wasm-napi inde…
jkomyno Dec 4, 2023
1a9280e
Merge branch 'main' into feat/query-engine-wasm32-unknown-unknown
jkomyno Dec 4, 2023
28c6ff9
[skip ci] chore: fix build CI check logic
jkomyno Dec 4, 2023
7370d1f
Revert "[skip ci] chore: fix build CI check logic"
jkomyno Dec 4, 2023
f169fe7
chore: merge main, fix conflicts
jkomyno Dec 4, 2023
0bc5b6c
Stop using removed method
SevInf Dec 4, 2023
2a2565a
Fix broken JS
SevInf Dec 4, 2023
534e757
chore(review): rename threadsafe_fn to fn_
jkomyno Dec 5, 2023
05bd624
chore(review): add comment related to js_sys::Reflect in JsObjectExtern
jkomyno Dec 5, 2023
3e88957
chore(review): rename SendFuture to UnsafeFuture, improving comments
jkomyno Dec 5, 2023
687c23c
chore(review): use fully-specialized types for wasm/napi-specific log…
jkomyno Dec 5, 2023
753e065
chore(review): rename JsResult into AdapterResult, reduce duplication…
jkomyno Dec 5, 2023
f902ded
chore(review): remove redudant full type qualifier
jkomyno Dec 5, 2023
43b5146
chore(review): revert changes to psl-core
jkomyno Dec 5, 2023
0257292
chore(review): improve comments on js.rs
jkomyno Dec 5, 2023
9a99fd2
Test fixes for NAPI tests (#4515)
Dec 5, 2023
e6dc74f
chore(review): comment on spawn_controlled actors, add error tracing …
jkomyno Dec 5, 2023
bd0612c
chore(review): remove unused dependency
jkomyno Dec 5, 2023
7f92ada
chore: fix conflicts
jkomyno Dec 5, 2023
4100e5b
chore(review): move wasm/napi-specific task JoinHandle stuff to cross…
jkomyno Dec 5, 2023
c245720
Merge branch 'main' into feat/query-engine-wasm32-unknown-unknown
jkomyno Dec 5, 2023
728489a
Merge branch 'main' into feat/query-engine-wasm32-unknown-unknown
jkomyno Dec 5, 2023
3ba08e2
Merge branch 'main' into feat/query-engine-wasm32-unknown-unknown
jkomyno Dec 5, 2023
c7c8586
qe-wasm: Partially fix tests (#4517)
SevInf Dec 6, 2023
14ceb7c
qe-wasm: Fix RNG on Node 18 in a test runner (#4526)
SevInf Dec 6, 2023
a758994
qe: Skipping failing tests on WASM (#4527)
SevInf Dec 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ jobs:
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
jkomyno marked this conversation as resolved.
Show resolved Hide resolved
- run: cargo clippy --all-features
targets: wasm32-unknown-unknown
- run: |
cargo clippy --all-features
cargo clippy --all-features -p query-engine-wasm --target wasm32-unknown-unknown

format:
runs-on: ubuntu-latest
Expand Down
33 changes: 16 additions & 17 deletions .github/workflows/test-query-engine-driver-adapters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,26 @@ jobs:
fail-fast: false
matrix:
adapter:
- name: '@prisma/adapter-planetscale'
- name: 'planetscale (napi)'
setup_task: 'dev-planetscale-js'
- name: '@prisma/adapter-pg (napi)'
- name: 'pg (napi)'
setup_task: 'dev-pg-js'
- name: '@prisma/adapter-neon (ws) (napi)'
- name: 'neon (ws) (napi)'
setup_task: 'dev-neon-js'
- name: '@prisma/adapter-libsql (Turso) (napi)'
- name: 'libsql (Turso) (napi)'
setup_task: 'dev-libsql-js'
# TODO: uncomment when WASM engine is functional
# - name: '@prisma/adapter-planetscale'
# setup_task: 'dev-planetscale-wasm'
# needs_wasm_pack: true
# - name: '@prisma/adapter-pg (wasm)'
# setup_task: 'dev-pg-wasm'
# needs_wasm_pack: true
# - name: '@prisma/adapter-neon (ws) (wasm)'
# setup_task: 'dev-neon-wasm'
# needs_wasm_pack: true
# - name: '@prisma/adapter-libsql (Turso) (wasm)'
# setup_task: 'dev-libsql-wasm'
# needs_wasm_pack: true
- name: 'planetscale (wasm)'
setup_task: 'dev-planetscale-wasm'
needs_wasm_pack: true
- name: 'pg (wasm)'
setup_task: 'dev-pg-wasm'
needs_wasm_pack: true
- name: 'neon (ws) (wasm)'
setup_task: 'dev-neon-wasm'
needs_wasm_pack: true
- name: 'libsql (Turso) (wasm)'
setup_task: 'dev-libsql-wasm'
needs_wasm_pack: true
node_version: ['18']
env:
LOG_LEVEL: 'info' # Set to "debug" to trace the query engine and node process running the driver adapter
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,6 @@ prisma-schema-wasm/nodejs
# Ignore pnpm-lock.yaml
query-engine/driver-adapters/pnpm-lock.yaml
package-lock.json

# Useful for local wasm32-* development
.cargo/