Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
49 lines (45 loc) · 1.95 KB
/
Copy pathCargo.toml
File metadata and controls
49 lines (45 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# One Cargo workspace over the engine (`engine/`: `reylo-engine-core`, what every database shares;
# `reylo-engine-postgres`, `reylo-engine-sqlite`, `reylo-engine-mysql` and `reylo-engine-duckdb`,
# one per database; `reylo-engine-build`, their build scripts' source hash; `reylo-engine`, the
# facade a Rust host links; `reylo-engine-native`, the program that connects each database's engine
# to its database; and `reylo`, the binary that serves them all, `engine/cli`) and the soundness
# oracle (`oracle/`). One lockfile, one `target/`. The component crate, `engine/wasip2`, is a
# workspace of its own (its Cargo.toml says why).
#
# The `[patch]` is the Postgres crate's: `pg_query` 18.0.0, the Postgres 18 parser, with the patch
# from `engine/postgres/vendor/` applied by `engine/build.sh --prepare`, which also fetches the SQLite
# amalgamation `engine/sqlite/build.rs` compiles. Run it once before any cargo command here.
#
# `engine/mysql/vendor/sqlparser`, the MySQL crate's own copy of `sqlparser`, is a member as every
# path dependency under this directory is, with no tests of its own.
[workspace]
resolver = "2"
members = [
"engine/build-support",
"engine/core",
"engine/facade",
"engine/native",
"engine/cli",
"engine/postgres",
"engine/sqlite",
"engine/mysql",
"engine/duckdb",
"oracle",
]
# reylo's version, which the engine reports on ping and the npm package `reylo` must equal.
[workspace.package]
version = "0.8.0"
[patch.crates-io]
pg_query = { path = "engine/postgres/.patched/pg_query" }
[profile.release]
# 3 rather than "s": 7 µs less CPU on a 50-row read (71 against 78 with the other fixes), for a
# binary that links the engine 31 % larger (20.3 to 26.6 MB stripped, measured 2026-10-03). The
# playground's component stays "s" and without LTO, by the profile of its own workspace
# (engine/wasip2/Cargo.toml).
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
[profile.dev]
# libpg_query is large; keep dev builds tolerable.
debug = 1