mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-25 12:04:21 +01:00
This PR cleans up some comments in the extension API and prevents extensions themselves from calling 'free' on Value types that are exposed to the user facing traits, as well as changes the `from_ffi` method for OwnedValues to take ownership and automatically free the values to prevent memory leaks. This PR also finds the name of the `args: &[Value]` argument for scalar functions in extensions, and uses that in the proc macro, instead of relying on documentation to communicate that the parameter must be named `args`. Closes #1054
103 lines
3.3 KiB
TOML
103 lines
3.3 KiB
TOML
# Copyright 2023 the Limbo authors. All rights reserved. MIT license.
|
|
|
|
[package]
|
|
name = "limbo_core"
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "The Limbo database library"
|
|
|
|
[lib]
|
|
name = "limbo_core"
|
|
path = "lib.rs"
|
|
|
|
[features]
|
|
default = ["fs", "json", "uuid", "time"]
|
|
fs = []
|
|
json = ["dep:jsonb", "dep:pest", "dep:pest_derive", "dep:serde", "dep:indexmap"]
|
|
uuid = ["limbo_uuid/static"]
|
|
io_uring = ["dep:io-uring", "rustix/io_uring", "dep:libc"]
|
|
percentile = ["limbo_percentile/static"]
|
|
regexp = ["limbo_regexp/static"]
|
|
time = ["limbo_time/static"]
|
|
crypto = ["limbo_crypto/static"]
|
|
series = ["limbo_series/static"]
|
|
ipaddr = ["limbo_ipaddr/static"]
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
io-uring = { version = "0.6.1", optional = true }
|
|
|
|
[target.'cfg(target_family = "unix")'.dependencies]
|
|
polling = "3.7.2"
|
|
rustix = "0.38.34"
|
|
|
|
[target.'cfg(not(target_family = "wasm"))'.dependencies]
|
|
mimalloc = { version = "0.1", default-features = false }
|
|
libloading = "0.8.6"
|
|
|
|
[dependencies]
|
|
limbo_ext = { workspace = true, features = ["core_only"] }
|
|
cfg_block = "0.1.1"
|
|
fallible-iterator = "0.3.0"
|
|
hex = "0.4.3"
|
|
libc = { version = "0.2.155", optional = true }
|
|
limbo_sqlite3_parser = { workspace = true }
|
|
thiserror = "1.0.61"
|
|
getrandom = { version = "0.2.15" }
|
|
regex = "1.11.1"
|
|
regex-syntax = { version = "0.8.5", default-features = false, features = ["unicode"] }
|
|
chrono = { version = "0.4.38", default-features = false, features = ["clock"] }
|
|
julian_day_converter = "0.4.4"
|
|
jsonb = { version = "0.4.4", optional = true }
|
|
indexmap = { version = "2.2.6", features = ["serde"], optional = true }
|
|
serde = { version = "1.0", features = ["derive"], optional = true }
|
|
pest = { version = "2.0", optional = true }
|
|
pest_derive = { version = "2.0", optional = true }
|
|
rand = "0.8.5"
|
|
limbo_macros = { workspace = true }
|
|
limbo_uuid = { workspace = true, optional = true, features = ["static"] }
|
|
limbo_regexp = { workspace = true, optional = true, features = ["static"] }
|
|
limbo_percentile = { workspace = true, optional = true, features = ["static"] }
|
|
limbo_time = { workspace = true, optional = true, features = ["static"] }
|
|
limbo_crypto = { workspace = true, optional = true, features = ["static"] }
|
|
limbo_series = { workspace = true, optional = true, features = ["static"] }
|
|
limbo_ipaddr = { workspace = true, optional = true, features = ["static"] }
|
|
miette = "7.4.0"
|
|
strum = "0.26"
|
|
parking_lot = "0.12.3"
|
|
tracing = { version = "0.1.41", default-features = false }
|
|
crossbeam-skiplist = "0.1.3"
|
|
ryu = "1.0.19"
|
|
|
|
[build-dependencies]
|
|
chrono = { version = "0.4.38", default-features = false }
|
|
built = { version = "0.7.5", features = ["git2", "chrono"] }
|
|
|
|
[target.'cfg(not(target_family = "windows"))'.dev-dependencies]
|
|
pprof = { version = "0.14.0", features = ["criterion", "flamegraph"] }
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.5", features = [
|
|
"html_reports",
|
|
"async",
|
|
"async_futures",
|
|
] }
|
|
rstest = "0.18.2"
|
|
rusqlite = "0.33.0"
|
|
tempfile = "3.8.0"
|
|
quickcheck = { version = "1.0", default-features = false }
|
|
quickcheck_macros = { version = "1.0", default-features = false }
|
|
rand = "0.8.5" # Required for quickcheck
|
|
rand_chacha = "0.9.0"
|
|
env_logger = "0.11.6"
|
|
|
|
[[bench]]
|
|
name = "benchmark"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "mvcc_benchmark"
|
|
harness = false
|