# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.80"
name = "mongreldb-core"
version = "0.19.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "MongrelDB core: log-structured columnar store with sub-ms writes, learned indexes, and an AI-native access layer."
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/visorcraft/MongrelDB"

[features]
default = []
encryption = [
    "dep:aes-gcm",
    "dep:argon2",
    "dep:hkdf",
    "dep:hmac",
]

[lib]
name = "mongreldb_core"
path = "src/lib.rs"

[[bin]]
name = "crash_writer"
path = "src/bin/crash_writer.rs"

[[example]]
name = "bench_compare"
path = "examples/bench_compare.rs"

[[example]]
name = "hybrid_query"
path = "examples/hybrid_query.rs"

[[test]]
name = "alter_column"
path = "tests/alter_column.rs"

[[test]]
name = "analytical_gap"
path = "tests/analytical_gap.rs"

[[test]]
name = "approx_aggregate"
path = "tests/approx_aggregate.rs"

[[test]]
name = "auto_increment"
path = "tests/auto_increment.rs"

[[test]]
name = "bulk_ingest"
path = "tests/bulk_ingest.rs"

[[test]]
name = "catalog"
path = "tests/catalog.rs"

[[test]]
name = "check_doctor"
path = "tests/check_doctor.rs"

[[test]]
name = "constraint_durability"
path = "tests/constraint_durability.rs"

[[test]]
name = "constraints"
path = "tests/constraints.rs"

[[test]]
name = "crash"
path = "tests/crash.rs"

[[test]]
name = "crash_process"
path = "tests/crash_process.rs"

[[test]]
name = "database_basic"
path = "tests/database_basic.rs"

[[test]]
name = "delete_reopen"
path = "tests/delete_reopen.rs"

[[test]]
name = "dml_phase1"
path = "tests/dml_phase1.rs"

[[test]]
name = "encrypted_page_stats"
path = "tests/encrypted_page_stats.rs"

[[test]]
name = "encryption_wal"
path = "tests/encryption_wal.rs"

[[test]]
name = "engine_e2e"
path = "tests/engine_e2e.rs"

[[test]]
name = "gap_closure"
path = "tests/gap_closure.rs"

[[test]]
name = "global_index_checkpoint"
path = "tests/global_index_checkpoint.rs"

[[test]]
name = "incremental_aggregate"
path = "tests/incremental_aggregate.rs"

[[test]]
name = "integrity_concurrency"
path = "tests/integrity_concurrency.rs"

[[test]]
name = "integrity_core"
path = "tests/integrity_core.rs"

[[test]]
name = "integrity_encryption"
path = "tests/integrity_encryption.rs"

[[test]]
name = "integrity_page_cache"
path = "tests/integrity_page_cache.rs"

[[test]]
name = "integrity_result_cache"
path = "tests/integrity_result_cache.rs"

[[test]]
name = "key_hierarchy"
path = "tests/key_hierarchy.rs"

[[test]]
name = "learned_range"
path = "tests/learned_range.rs"

[[test]]
name = "minhash"
path = "tests/minhash.rs"

[[test]]
name = "multi_run_aggregate"
path = "tests/multi_run_aggregate.rs"

[[test]]
name = "multi_run_cursor"
path = "tests/multi_run_cursor.rs"

[[test]]
name = "mutable_run_tier"
path = "tests/mutable_run_tier.rs"

[[test]]
name = "overlay_probe"
path = "tests/overlay_probe.rs"

[[test]]
name = "page_cache"
path = "tests/page_cache.rs"

[[test]]
name = "page_index"
path = "tests/page_index.rs"

[[test]]
name = "path_trace"
path = "tests/path_trace.rs"

[[test]]
name = "range_prune"
path = "tests/range_prune.rs"

[[test]]
name = "recovery_multitable"
path = "tests/recovery_multitable.rs"

[[test]]
name = "rename_table"
path = "tests/rename_table.rs"

[[test]]
name = "result_cache"
path = "tests/result_cache.rs"

[[test]]
name = "snapshot_retention"
path = "tests/snapshot_retention.rs"

[[test]]
name = "sparse"
path = "tests/sparse.rs"

[[test]]
name = "txn_atomic"
path = "tests/txn_atomic.rs"

[[test]]
name = "txn_concurrent"
path = "tests/txn_concurrent.rs"

[[test]]
name = "txn_large"
path = "tests/txn_large.rs"

[[test]]
name = "wal_shared"
path = "tests/wal_shared.rs"

[[test]]
name = "write_path"
path = "tests/write_path.rs"

[[bench]]
name = "filtered_query"
path = "benches/filtered_query.rs"
harness = false

[[bench]]
name = "page_encryption"
path = "benches/page_encryption.rs"
harness = false
required-features = ["encryption"]

[[bench]]
name = "path_matrix"
path = "benches/path_matrix.rs"
harness = false

[[bench]]
name = "scale"
path = "benches/scale.rs"
harness = false

[[bench]]
name = "trips"
path = "benches/trips.rs"
harness = false

[[bench]]
name = "write_path"
path = "benches/write_path.rs"
harness = false

[dependencies.aes-gcm]
version = "0.10"
optional = true

[dependencies.arc-swap]
version = "1"

[dependencies.argon2]
version = "0.5"
features = ["alloc"]
optional = true
default-features = false

[dependencies.bincode]
version = "1"

[dependencies.bytemuck]
version = "1"

[dependencies.bytes]
version = "1"

[dependencies.crc]
version = "3"

[dependencies.getrandom]
version = "0.2"

[dependencies.hkdf]
version = "0.12"
optional = true

[dependencies.hmac]
version = "0.12"
optional = true

[dependencies.lz4_flex]
version = "0.11"

[dependencies.memmap2]
version = "0.9"

[dependencies.parking_lot]
version = "0.12"

[dependencies.rayon]
version = "1.12"

[dependencies.roaring]
version = "0.10"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "1"

[dependencies.zeroize]
version = "1"
features = ["alloc"]

[dependencies.zstd]
version = "0.13"

[dev-dependencies.bincode]
version = "1"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.sha2]
version = "0.10"

[dev-dependencies.tempfile]
version = "3"
