[package]
edition = "2024"
name = "fsqlite-vdbe"
version = "0.3.13"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Virtual database engine bytecode interpreter"
readme = "README.md"
license-file = "LICENSE"
repository = "https://github.com/Dicklesworthstone/frankensqlite"
resolver = "2"
[features]
default = ["native"]
native = [
"fsqlite-pager/native",
"fsqlite-btree/native",
"fsqlite-mvcc/native",
"fsqlite-wal/native",
]
wasm = [
"fsqlite-pager/wasm",
"fsqlite-btree/wasm",
"fsqlite-mvcc/wasm",
"fsqlite-wal/wasm",
]
[lib]
name = "fsqlite_vdbe"
path = "src/lib.rs"
[[test]]
name = "golden_bytecode_snapshots"
path = "tests/golden_bytecode_snapshots.rs"
[[test]]
name = "hot_arm_stream_reachability"
path = "tests/hot_arm_stream_reachability.rs"
[[bench]]
name = "make_record"
path = "benches/make_record.rs"
harness = false
[[bench]]
name = "pipeline_stages"
path = "benches/pipeline_stages.rs"
harness = false
[[bench]]
name = "vectorized_batch"
path = "benches/vectorized_batch.rs"
harness = false
[[bench]]
name = "vectorized_dispatch"
path = "benches/vectorized_dispatch.rs"
harness = false
[[bench]]
name = "vectorized_scan"
path = "benches/vectorized_scan.rs"
harness = false
[dependencies.fsqlite-ast]
version = "0.3.13"
[dependencies.fsqlite-btree]
version = "0.3.13"
default-features = false
[dependencies.fsqlite-error]
version = "0.3.13"
[dependencies.fsqlite-func]
version = "0.3.13"
[dependencies.fsqlite-mvcc]
version = "0.3.13"
default-features = false
[dependencies.fsqlite-pager]
version = "0.3.13"
default-features = false
[dependencies.fsqlite-parser]
version = "0.3.13"
[dependencies.fsqlite-types]
version = "0.3.13"
default-features = false
[dependencies.fsqlite-wal]
version = "0.3.13"
default-features = false
[dependencies.hashbrown]
version = "0.17"
features = ["serde"]
[dependencies.smallvec]
version = "1.15"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.fsqlite-vfs]
version = "0.3.13"
default-features = false
[dev-dependencies.insta]
version = "1.48"
features = [
"json",
"yaml",
]
[dev-dependencies.proptest]
version = "1.11"
[dev-dependencies.rusqlite]
version = "0.40.1"
features = [
"bundled",
"backup",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.asupersync]
version = ">=0.4.3,<0.5"
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.crossbeam-deque]
version = "0.8"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tempfile]
version = "3.27"
[lints.clippy.approx_constant]
level = "allow"
priority = 1
[lints.clippy.assertions_on_constants]
level = "allow"
priority = 1
[lints.clippy.bool_to_int_with_if]
level = "allow"
priority = 1
[lints.clippy.case_sensitive_file_extension_comparisons]
level = "allow"
priority = 1
[lints.clippy.cast_lossless]
level = "allow"
priority = 1
[lints.clippy.cast_possible_truncation]
level = "allow"
priority = 1
[lints.clippy.cast_possible_wrap]
level = "allow"
priority = 1
[lints.clippy.cast_precision_loss]
level = "allow"
priority = 1
[lints.clippy.cast_sign_loss]
level = "allow"
priority = 1
[lints.clippy.cloned_ref_to_slice_refs]
level = "allow"
priority = 1
[lints.clippy.collection_is_never_read]
level = "allow"
priority = 1
[lints.clippy.default_trait_access]
level = "allow"
priority = 1
[lints.clippy.doc_markdown]
level = "allow"
priority = 1
[lints.clippy.expect_fun_call]
level = "allow"
priority = 1
[lints.clippy.explicit_iter_loop]
level = "allow"
priority = 1
[lints.clippy.float_cmp]
level = "allow"
priority = 1
[lints.clippy.format_collect]
level = "allow"
priority = 1
[lints.clippy.format_push_string]
level = "allow"
priority = 1
[lints.clippy.if_not_else]
level = "allow"
priority = 1
[lints.clippy.if_then_some_else_none]
level = "allow"
priority = 1
[lints.clippy.items_after_statements]
level = "allow"
priority = 1
[lints.clippy.let_and_return]
level = "allow"
priority = 1
[lints.clippy.manual_assert]
level = "allow"
priority = 1
[lints.clippy.manual_checked_ops]
level = "allow"
priority = 1
[lints.clippy.manual_let_else]
level = "allow"
priority = 1
[lints.clippy.manual_range_contains]
level = "allow"
priority = 1
[lints.clippy.manual_string_new]
level = "allow"
priority = 1
[lints.clippy.many_single_char_names]
level = "allow"
priority = 1
[lints.clippy.map_unwrap_or]
level = "allow"
priority = 1
[lints.clippy.match_wildcard_for_single_variants]
level = "allow"
priority = 1
[lints.clippy.missing_const_for_fn]
level = "allow"
priority = 1
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1
[lints.clippy.missing_panics_doc]
level = "allow"
priority = 1
[lints.clippy.module_name_repetitions]
level = "allow"
priority = 1
[lints.clippy.must_use_candidate]
level = "allow"
priority = 1
[lints.clippy.needless_collect]
level = "allow"
priority = 1
[lints.clippy.needless_pass_by_value]
level = "allow"
priority = 1
[lints.clippy.no_effect_underscore_binding]
level = "allow"
priority = 1
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.option_if_let_else]
level = "allow"
priority = 1
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.clippy.redundant_clone]
level = "allow"
priority = 1
[lints.clippy.redundant_closure_for_method_calls]
level = "allow"
priority = 1
[lints.clippy.return_self_not_must_use]
level = "allow"
priority = 1
[lints.clippy.significant_drop_tightening]
level = "allow"
priority = 1
[lints.clippy.similar_names]
level = "allow"
priority = 1
[lints.clippy.single_char_pattern]
level = "allow"
priority = 1
[lints.clippy.single_match]
level = "allow"
priority = 1
[lints.clippy.single_match_else]
level = "allow"
priority = 1
[lints.clippy.stable_sort_primitive]
level = "allow"
priority = 1
[lints.clippy.too_many_lines]
level = "allow"
priority = 1
[lints.clippy.uninlined_format_args]
level = "allow"
priority = 1
[lints.clippy.unnecessary_cast]
level = "allow"
priority = 1
[lints.clippy.unnecessary_literal_bound]
level = "allow"
priority = 1
[lints.clippy.unreadable_literal]
level = "allow"
priority = 1
[lints.clippy.used_underscore_binding]
level = "allow"
priority = 1
[lints.clippy.useless_format]
level = "allow"
priority = 1
[lints.clippy.useless_vec]
level = "allow"
priority = 1
[lints.clippy.wildcard_enum_match_arm]
level = "allow"
priority = 1
[lints.rust]
unsafe_code = "forbid"