mirror of
https://github.com/tursodatabase/libsql.git
synced 2024-12-15 21:29:01 +00:00
7ce212604e
* Add SQLD_HTTP_PRIMARY_URL config and pass it all the way down to user routes * Add broadcaster struct to namespaces to notify updates * Add user route that allows listening to updates * Aggregate events before broadcasting them * Unsubscribe when stream is dropped and other minor improvements * Add BrodcasterRegistry and BrodcasterHandle to manage broadcaster lifecycle * Simplify code * Update hooks during statement execution Connection can live arbitrarily long, so we can't only register hooks when they are created. * Always inline should serialize checker of broadcaster message Co-authored-by: Lucio Franco <luciofranco14@gmail.com> * Replace HashMap with BTreeMap on broadcaster state It improves performance on the case where we have thousands of updates to the same table. * Add counters to events sent and dropped --------- Co-authored-by: Lucio Franco <luciofranco14@gmail.com>
81 lines
2.0 KiB
TOML
81 lines
2.0 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"libsql",
|
|
"bindings/c",
|
|
"bindings/wasm",
|
|
"libsql-sys",
|
|
"libsql-server",
|
|
"bottomless",
|
|
"bottomless-cli",
|
|
"libsql-replication",
|
|
"libsql-ffi",
|
|
"libsql-hrana",
|
|
|
|
"vendored/rusqlite",
|
|
"vendored/sqlite3-parser",
|
|
|
|
"xtask", "libsql-hrana",
|
|
"libsql-wal",
|
|
"libsql-storage",
|
|
"libsql-storage-server",
|
|
]
|
|
|
|
exclude = [
|
|
"./libsql-sqlite3/ext/crr",
|
|
"./libsql-sqlite3/ext/libsql-wasi",
|
|
"libsql-shell",
|
|
"tools/rebuild-log",
|
|
"tools/fuzz",
|
|
]
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
panic = "unwind"
|
|
|
|
[workspace.dependencies]
|
|
rusqlite = { package = "libsql-rusqlite", path = "vendored/rusqlite", version = "0.31", default-features = false, features = [
|
|
"libsql-experimental",
|
|
"column_decltype",
|
|
"load_extension",
|
|
"modern_sqlite",
|
|
"functions",
|
|
"limits",
|
|
"hooks",
|
|
] }
|
|
|
|
# Config for 'cargo dist'
|
|
[workspace.metadata.dist]
|
|
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
|
|
cargo-dist-version = "0.14.1"
|
|
# CI backends to support
|
|
ci = "github"
|
|
# The installers to generate for each app
|
|
installers = ["shell", "homebrew"]
|
|
# A GitHub repo to push Homebrew formulas to
|
|
tap = "libsql/homebrew-sqld"
|
|
# Customize the Homebrew formula name
|
|
formula = "sqld"
|
|
# Target platforms to build apps for (Rust target-triple syntax)
|
|
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"]
|
|
# Publish jobs to run in CI
|
|
publish-jobs = ["homebrew"]
|
|
# Whether cargo-dist should create a Github Release or use an existing draft
|
|
create-release = true
|
|
# Publish jobs to run in CI
|
|
pr-run-mode = "plan"
|
|
# A prefix git tags must include for cargo-dist to care about them
|
|
tag-namespace = "libsql-server"
|
|
# Whether to install an updater program
|
|
install-updater = false
|
|
|
|
[workspace.metadata.dist.github-custom-runners]
|
|
aarch64-apple-darwin = "macos-14"
|
|
aarch64-unknown-linux-gnu = "buildjet-8vcpu-ubuntu-2204-arm"
|
|
|
|
# The profile that 'cargo dist' will build with
|
|
[profile.dist]
|
|
inherits = "release"
|
|
lto = "thin"
|
|
|