[package]
edition = "2021"
rust-version = "1.85"
name = "cqlite-core"
version = "0.11.0"
authors = ["CQLite Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core engine for CQLite — read Apache Cassandra 5.0 SSTables locally without a cluster"
readme = "README.md"
keywords = [
"database",
"embedded",
"sstable",
"wasm",
]
categories = [
"database-implementations",
"embedded",
"wasm",
]
license = "Apache-2.0"
repository = "https://github.com/pmcfadin/cqlite"
[package.metadata.docs.rs]
features = [
"all-compression",
"state_machine",
"write-support",
"parquet",
"cli-helpers",
]
[features]
all-compression = [
"lz4",
"snappy",
"deflate",
"zstd",
]
antlr = []
benchmarks = []
ci_zero_tolerance = []
cli-helpers = ["state_machine"]
default = [
"all-compression",
"state_machine",
"write-support",
]
deflate = ["dep:flate2"]
dhat-heap = []
docker-integration = []
enhanced-index-validation = []
events = []
experimental = []
extended-index-validation = []
legacy-heuristics = []
lz4 = ["dep:lz4_flex"]
metrics = []
parquet = [
"state_machine",
"dep:arrow",
"dep:parquet",
]
pest = []
snappy = ["dep:snap"]
state_machine = []
test-coverage-tracking = []
test-infrastructure = [
"test-schema-validation",
"test-property-testing",
"test-coverage-tracking",
"test-quality-gates",
]
test-property-testing = []
test-quality-gates = []
test-schema-validation = []
tombstones = []
unit-tests-only = []
wasm = [
"wasm-bindgen",
"js-sys",
"web-sys",
]
write-support = []
zstd = ["dep:zstd"]
[lib]
name = "cqlite_core"
path = "src/lib.rs"
[[example]]
name = "compare_table_formats"
path = "examples/compare_table_formats.rs"
[[example]]
name = "heap_profile"
path = "examples/heap_profile.rs"
[[example]]
name = "parse_mutations"
path = "examples/parse_mutations.rs"
[[example]]
name = "write_a_mutation"
path = "examples/write_a_mutation.rs"
[[test]]
name = "P0_4_modern_format_rejection_tests"
path = "tests/P0_4_modern_format_rejection_tests.rs"
[[test]]
name = "collection_sstable_integration_test"
path = "tests/collection_sstable_integration_test.rs"
[[test]]
name = "compaction_integration"
path = "tests/compaction_integration.rs"
[[test]]
name = "compile_time_heuristic_enforcement"
path = "tests/compile_time_heuristic_enforcement.rs"
[[test]]
name = "compression_roundtrip_test"
path = "tests/compression_roundtrip_test.rs"
[[test]]
name = "contract_stability_tests"
path = "tests/contract_stability_tests.rs"
[[test]]
name = "counter_type_integration_test"
path = "tests/counter_type_integration_test.rs"
[[test]]
name = "crc32_header_checksum_test"
path = "tests/crc32_header_checksum_test.rs"
[[test]]
name = "database_interface_tests"
path = "tests/database_interface_tests.rs"
[[test]]
name = "debug_schema_extraction"
path = "tests/debug_schema_extraction.rs"
[[test]]
name = "documentation_examples_validation_test"
path = "tests/documentation_examples_validation_test.rs"
[[test]]
name = "enhanced_index_operation_tests"
path = "tests/enhanced_index_operation_tests.rs"
[[test]]
name = "execution_path_parity_tests"
path = "tests/execution_path_parity_tests.rs"
[[test]]
name = "index_db_offset_calculation_tests"
path = "tests/index_db_offset_calculation_tests.rs"
[[test]]
name = "index_db_parsing_regression_tests"
path = "tests/index_db_parsing_regression_tests.rs"
[[test]]
name = "index_reader_memory_optimization_tests"
path = "tests/index_reader_memory_optimization_tests.rs"
[[test]]
name = "index_size_zero_integration_test"
path = "tests/index_size_zero_integration_test.rs"
[[test]]
name = "index_summary_correlation_test"
path = "tests/index_summary_correlation_test.rs"
[[test]]
name = "issue_154_test"
path = "tests/issue_154_test.rs"
[[test]]
name = "issue_222_select_integration_test"
path = "tests/issue_222_select_integration_test.rs"
[[test]]
name = "issue_223_query_output_integration_test"
path = "tests/issue_223_query_output_integration_test.rs"
[[test]]
name = "issue_237_row_size_offset_regression_test"
path = "tests/issue_237_row_size_offset_regression_test.rs"
[[test]]
name = "issue_256_bti_index_fallback_test"
path = "tests/issue_256_bti_index_fallback_test.rs"
[[test]]
name = "issue_548_uuid_where_tests"
path = "tests/issue_548_uuid_where_tests.rs"
[[test]]
name = "issue_553_index_raw_key_lookup_tests"
path = "tests/issue_553_index_raw_key_lookup_tests.rs"
[[test]]
name = "issue_586_partition_key_reconstruction"
path = "tests/issue_586_partition_key_reconstruction.rs"
[[test]]
name = "issue_587_compaction_async_bridge"
path = "tests/issue_587_compaction_async_bridge.rs"
[[test]]
name = "issue_591_mmap_compaction_delete"
path = "tests/issue_591_mmap_compaction_delete.rs"
[[test]]
name = "issue_592_bounded_uncompressed_read"
path = "tests/issue_592_bounded_uncompressed_read.rs"
[[test]]
name = "issue_655_oa_read_gates"
path = "tests/issue_655_oa_read_gates.rs"
[[test]]
name = "issue_657_da_foundation"
path = "tests/issue_657_da_foundation.rs"
[[test]]
name = "issue_672_range_tombstone_marker"
path = "tests/issue_672_range_tombstone_marker.rs"
[[test]]
name = "issue_680_keyspace_table_identity"
path = "tests/issue_680_keyspace_table_identity.rs"
[[test]]
name = "issue_716_tombstone_cell_format"
path = "tests/issue_716_tombstone_cell_format.rs"
[[test]]
name = "issue_717_row_tombstone_columns_subset"
path = "tests/issue_717_row_tombstone_columns_subset.rs"
[[test]]
name = "m1_memory_validation"
path = "tests/m1_memory_validation.rs"
[[test]]
name = "nb_format_integration_test"
path = "tests/nb_format_integration_test.rs"
[[test]]
name = "parser_abstraction_tests"
path = "tests/parser_abstraction_tests.rs"
[[test]]
name = "parser_error_handling_tests"
path = "tests/parser_error_handling_tests.rs"
[[test]]
name = "parser_factory_tests"
path = "tests/parser_factory_tests.rs"
[[test]]
name = "parsing_improvements_test"
path = "tests/parsing_improvements_test.rs"
[[test]]
name = "query_correctness_tests"
path = "tests/query_correctness_tests.rs"
[[test]]
name = "reader_component_loading_tests"
path = "tests/reader_component_loading_tests.rs"
[[test]]
name = "reader_compression_tests"
path = "tests/reader_compression_tests.rs"
[[test]]
name = "reference_data_parity"
path = "tests/reference_data_parity.rs"
[[test]]
name = "regression_guard_tests"
path = "tests/regression_guard_tests.rs"
[[test]]
name = "schema_aggregator_integration_test"
path = "tests/schema_aggregator_integration_test.rs"
[[test]]
name = "schema_aware_reader_integration_test"
path = "tests/schema_aware_reader_integration_test.rs"
[[test]]
name = "schema_parser_property_tests"
path = "tests/schema_parser_property_tests.rs"
[[test]]
name = "spec_driven_header_parsing_tests"
path = "tests/spec_driven_header_parsing_tests.rs"
[[test]]
name = "sstable_component_discovery_tests"
path = "tests/sstable_component_discovery_tests.rs"
[[test]]
name = "sstable_component_final_tests"
path = "tests/sstable_component_final_tests.rs"
[[test]]
name = "sstable_component_path_tests"
path = "tests/sstable_component_path_tests.rs"
[[test]]
name = "sstable_discovery_comprehensive_tests"
path = "tests/sstable_discovery_comprehensive_tests.rs"
[[test]]
name = "sstable_discovery_negative_tests"
path = "tests/sstable_discovery_negative_tests.rs"
[[test]]
name = "sstable_discovery_unit_tests"
path = "tests/sstable_discovery_unit_tests.rs"
[[test]]
name = "sstable_header_parsing_basic_tests"
path = "tests/sstable_header_parsing_basic_tests.rs"
[[test]]
name = "sstable_parity_integration_test"
path = "tests/sstable_parity_integration_test.rs"
[[test]]
name = "sstable_performance_regression_tests"
path = "tests/sstable_performance_regression_tests.rs"
[[test]]
name = "sstabledump_parity_data"
path = "tests/sstabledump_parity_data.rs"
[[test]]
name = "sstabledump_parity_index"
path = "tests/sstabledump_parity_index.rs"
[[test]]
name = "sstabledump_parity_statistics"
path = "tests/sstabledump_parity_statistics.rs"
[[test]]
name = "sstabledump_parity_summary"
path = "tests/sstabledump_parity_summary.rs"
[[test]]
name = "sstableloader_integration"
path = "tests/sstableloader_integration.rs"
[[test]]
name = "static_composite_roundtrip_test"
path = "tests/static_composite_roundtrip_test.rs"
[[test]]
name = "statistics_db_real_file_test"
path = "tests/statistics_db_real_file_test.rs"
[[test]]
name = "statistics_parser_no_heuristics_tests"
path = "tests/statistics_parser_no_heuristics_tests.rs"
[[test]]
name = "stats_writer_roundtrip"
path = "tests/stats_writer_roundtrip.rs"
[[test]]
name = "test_issue_188_select_limit_query"
path = "tests/test_issue_188_select_limit_query.rs"
[[test]]
name = "test_issue_192_uuid_display"
path = "tests/test_issue_192_uuid_display.rs"
[[test]]
name = "test_issue_581_streaming_limit"
path = "tests/test_issue_581_streaming_limit.rs"
[[test]]
name = "toc_digest_integration_test"
path = "tests/toc_digest_integration_test.rs"
[[test]]
name = "type_invariant_tests"
path = "tests/type_invariant_tests.rs"
[[test]]
name = "v5_compressed_legacy_integration_test"
path = "tests/v5_compressed_legacy_integration_test.rs"
[[test]]
name = "v5_compressed_legacy_parity_test"
path = "tests/v5_compressed_legacy_parity_test.rs"
[[test]]
name = "v5_compressed_legacy_row_count_parity"
path = "tests/v5_compressed_legacy_row_count_parity.rs"
[[test]]
name = "write_collection_nulls"
path = "tests/write_collection_nulls.rs"
[[test]]
name = "write_concurrent"
path = "tests/write_concurrent.rs"
[[test]]
name = "write_engine_integration_test"
path = "tests/write_engine_integration_test.rs"
[[test]]
name = "write_error_injection"
path = "tests/write_error_injection.rs"
[[test]]
name = "write_integration"
path = "tests/write_integration.rs"
[[test]]
name = "write_large_data"
path = "tests/write_large_data.rs"
[[test]]
name = "write_read_roundtrip"
path = "tests/write_read_roundtrip.rs"
[[test]]
name = "write_schema_evolution"
path = "tests/write_schema_evolution.rs"
[[bench]]
name = "fixtures_smoke"
path = "benches/fixtures_smoke.rs"
harness = false
[[bench]]
name = "m1_performance"
path = "benches/m1_performance.rs"
harness = false
[[bench]]
name = "partition_lookup"
path = "benches/partition_lookup.rs"
harness = false
[[bench]]
name = "read"
path = "benches/read.rs"
harness = false
[[bench]]
name = "write"
path = "benches/write.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.arrow]
version = "53"
optional = true
default-features = false
[dependencies.async-trait]
version = "0.1.88"
[dependencies.base64]
version = "0.21"
[dependencies.bincode]
version = "1.3"
[dependencies.bit-vec]
version = "0.8"
[dependencies.bytes]
version = "1.4"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.4"
features = ["derive"]
[dependencies.colored]
version = "2.0"
[dependencies.crc32fast]
version = "1.3"
[dependencies.crossbeam]
version = "0.8"
[dependencies.dashmap]
version = "5.5"
[dependencies.env_logger]
version = "0.11"
[dependencies.flate2]
version = "1.0"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.log]
version = "0.4"
[dependencies.lru]
version = "0.16"
[dependencies.lz4_flex]
version = "0.11"
optional = true
[dependencies.memmap2]
version = "0.9"
[dependencies.murmur3]
version = "0.5"
[dependencies.nom]
version = "7.1"
[dependencies.num-bigint]
version = "0.4"
[dependencies.num_cpus]
version = "1.0"
[dependencies.parking_lot]
version = "0.12"
[dependencies.parquet]
version = "53"
features = [
"arrow",
"snap",
"zstd",
]
optional = true
default-features = false
[dependencies.pest]
version = "2.7"
[dependencies.pest_derive]
version = "2.7"
[dependencies.regex]
version = "1.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dependencies.serde_yaml]
version = "0.9"
[dependencies.snap]
version = "1.1"
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = [
"fs",
"io-util",
"macros",
"rt-multi-thread",
"sync",
"time",
"process",
]
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.uuid]
version = "1.10"
features = ["v4"]
[dependencies.zstd]
version = "0.13"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.dhat]
version = "0.3"
[dev-dependencies.fastrand]
version = "2.0"
[dev-dependencies.insta]
version = "1.34"
features = ["json"]
[dev-dependencies.libc]
version = "0.2"
[dev-dependencies.num-traits]
version = "0.2"
[dev-dependencies.proptest]
version = "1.0"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio-test]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = ["console"]
optional = true
[target."cfg(unix)".dev-dependencies.pprof]
version = "0.14"
features = [
"flamegraph",
"criterion",
]
[lints.clippy]
assertions_on_constants = "allow"
cargo = "allow"
field_reassign_with_default = "allow"
if_same_then_else = "allow"
implicit_return = "allow"
missing_docs_in_private_items = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
nursery = "allow"
pedantic = "allow"
restriction = "allow"
single_component_path_imports = "allow"
too_many_arguments = "allow"
uninlined_format_args = "allow"
[lints.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "deny"
priority = -1
[lints.rust]
dead_code = "warn"
private_interfaces = "allow"
unreachable_code = "deny"
unused_assignments = "deny"
unused_imports = "deny"
unused_must_use = "deny"
unused_mut = "deny"
unused_variables = "deny"
warnings = "warn"