[package]
edition = "2021"
name = "tegdb"
version = "0.5.0"
authors = ["Jack Yu"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The name TegridyDB (short for TegDB) is inspired by the Tegridy Farm in South Park and tries to correct some of the wrong database implementations, such as null support, implicit conversion support, etc."
homepage = "https://github.com/minifish-org/tegdb"
documentation = "https://docs.rs/tegdb"
readme = "README.md"
license = "AGPL-3.0"
repository = "https://github.com/minifish-org/tegdb.git"
[features]
cli = ["dep:clap"]
default = ["host"]
embedded = []
extensions-dylib = ["dep:libloading"]
file-locking = ["dep:fs2"]
hermit = ["embedded"]
host = [
"repl",
"tgstream",
"extensions-dylib",
"file-locking",
]
repl = [
"cli",
"dep:rustyline",
"dep:crossterm",
"dep:const_format",
]
tgstream = [
"dep:tokio",
"dep:aws-sdk-s3",
"dep:aws-config",
"dep:serde",
"dep:toml",
"dep:flate2",
"dep:chrono",
]
[lib]
name = "tegdb"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "tg"
path = "src/bin/tg.rs"
required-features = ["repl"]
[[bin]]
name = "tgstream"
path = "src/bin/tgstream.rs"
required-features = [
"cli",
"tgstream",
]
[[example]]
name = "arithmetic_expressions"
path = "examples/arithmetic_expressions.rs"
[[example]]
name = "composite_pk_demo"
path = "examples/composite_pk_demo.rs"
[[example]]
name = "comprehensive_database_test"
path = "examples/comprehensive_database_test.rs"
[[example]]
name = "comprehensive_storage_test"
path = "examples/comprehensive_storage_test.rs"
[[example]]
name = "debug_embed"
path = "examples/debug_embed.rs"
[[example]]
name = "dual_storage_demo"
path = "examples/dual_storage_demo.rs"
[[example]]
name = "embed_demo"
path = "examples/embed_demo.rs"
[[example]]
name = "extension_demo"
path = "examples/extension_demo.rs"
[[example]]
name = "extension_template"
path = "examples/extension_template.rs"
[[example]]
name = "fixed_length_format_demo"
path = "examples/fixed_length_format_demo.rs"
[[example]]
name = "interactive_personal_chatbot"
path = "examples/interactive_personal_chatbot.rs"
[[example]]
name = "iot_demo"
path = "examples/iot_demo.rs"
[[example]]
name = "iot_optimization_demo"
path = "examples/iot_optimization_demo.rs"
[[example]]
name = "iot_storage_benchmark"
path = "examples/iot_storage_benchmark.rs"
[[example]]
name = "manual_chatbot"
path = "examples/manual_chatbot.rs"
[[example]]
name = "native_format_test"
path = "examples/native_format_test.rs"
[[example]]
name = "native_key_benchmark"
path = "examples/native_key_benchmark.rs"
[[example]]
name = "native_row_format_benchmark"
path = "examples/native_row_format_benchmark.rs"
[[example]]
name = "ollama_chatbot_demo"
path = "examples/ollama_chatbot_demo.rs"
[[example]]
name = "ollama_chatbot_simple"
path = "examples/ollama_chatbot_simple.rs"
[[example]]
name = "ollama_chatbot_working"
path = "examples/ollama_chatbot_working.rs"
[[example]]
name = "ollama_semantic_search_demo"
path = "examples/ollama_semantic_search_demo.rs"
[[example]]
name = "performance_demo"
path = "examples/performance_demo.rs"
[[example]]
name = "personal_knowledge_db"
path = "examples/personal_knowledge_db.rs"
[[example]]
name = "pk_lookup_profile"
path = "examples/pk_lookup_profile.rs"
[[example]]
name = "planner_demo"
path = "examples/planner_demo.rs"
[[example]]
name = "planner_usage_demo"
path = "examples/planner_usage_demo.rs"
[[example]]
name = "preallocate_demo"
path = "examples/preallocate_demo.rs"
[[example]]
name = "prepared_statement_demo"
path = "examples/prepared_statement_demo.rs"
[[example]]
name = "prepared_statement_plan_caching_demo"
path = "examples/prepared_statement_plan_caching_demo.rs"
[[example]]
name = "query_optimizer_demo"
path = "examples/query_optimizer_demo.rs"
[[example]]
name = "query_processor_validation_test"
path = "examples/query_processor_validation_test.rs"
[[example]]
name = "simple_embed_demo"
path = "examples/simple_embed_demo.rs"
[[example]]
name = "simple_parameter_test"
path = "examples/simple_parameter_test.rs"
[[example]]
name = "simple_usage"
path = "examples/simple_usage.rs"
[[example]]
name = "sqlite_like_usage"
path = "examples/sqlite_like_usage.rs"
[[example]]
name = "streaming_api_demo"
path = "examples/streaming_api_demo.rs"
[[example]]
name = "streaming_api_integration_demo"
path = "examples/streaming_api_integration_demo.rs"
[[example]]
name = "streaming_performance_demo"
path = "examples/streaming_performance_demo.rs"
[[example]]
name = "streaming_query_demo"
path = "examples/streaming_query_demo.rs"
[[example]]
name = "streaming_resultset_demo"
path = "examples/streaming_resultset_demo.rs"
[[example]]
name = "test_parse"
path = "examples/test_parse.rs"
[[example]]
name = "transaction_planner_demo"
path = "examples/transaction_planner_demo.rs"
[[example]]
name = "true_streaming_demo"
path = "examples/true_streaming_demo.rs"
[[example]]
name = "unique_constraint_performance_demo"
path = "examples/unique_constraint_performance_demo.rs"
[[example]]
name = "vector_demo"
path = "examples/vector_demo.rs"
[[example]]
name = "vector_search_integration_demo"
path = "examples/vector_search_integration_demo.rs"
[[example]]
name = "verify_chatbot_setup"
path = "examples/verify_chatbot_setup.rs"
[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"
[[test]]
name = "integration_vector_features_test"
path = "tests/integration_vector_features_test.rs"
[[test]]
name = "mod"
path = "tests/mod.rs"
[[test]]
name = "parse_embed_unit_test"
path = "tests/parse_embed_unit_test.rs"
[[test]]
name = "reproduction_log_growth"
path = "tests/reproduction_log_growth.rs"
[[test]]
name = "tgstream_integration_minio"
path = "tests/tgstream_integration_minio.rs"
[[test]]
name = "tgstream_parser_tests"
path = "tests/tgstream_parser_tests.rs"
[[test]]
name = "tgstream_preallocate_test"
path = "tests/tgstream_preallocate_test.rs"
[[test]]
name = "tgstream_state_tests"
path = "tests/tgstream_state_tests.rs"
[[bench]]
name = "bottleneck_analysis"
path = "benches/bottleneck_analysis.rs"
harness = false
[[bench]]
name = "database_vs_sqlite_benchmark"
path = "benches/database_vs_sqlite_benchmark.rs"
harness = false
[[bench]]
name = "engine_basic_benchmark"
path = "benches/engine_basic_benchmark.rs"
harness = false
[[bench]]
name = "engine_seq_benchmark"
path = "benches/engine_seq_benchmark.rs"
harness = false
[[bench]]
name = "engine_vs_transaction_comparison"
path = "benches/engine_vs_transaction_comparison.rs"
harness = false
[[bench]]
name = "fixed_length_format_benchmark"
path = "benches/fixed_length_format_benchmark.rs"
harness = false
[[bench]]
name = "focused_planner_benchmark"
path = "benches/focused_planner_benchmark.rs"
harness = false
[[bench]]
name = "lazy_storage_benchmark"
path = "benches/lazy_storage_benchmark.rs"
harness = false
[[bench]]
name = "limit_optimization_benchmark"
path = "benches/limit_optimization_benchmark.rs"
harness = false
[[bench]]
name = "native_row_format_benchmark"
path = "benches/native_row_format_benchmark.rs"
harness = false
[[bench]]
name = "parser_benchmark"
path = "benches/parser_benchmark.rs"
harness = false
[[bench]]
name = "parser_optimized_benchmark"
path = "benches/parser_optimized_benchmark.rs"
harness = false
[[bench]]
name = "planner_optimization_benchmark"
path = "benches/planner_optimization_benchmark.rs"
harness = false
[[bench]]
name = "pure_rollback"
path = "benches/pure_rollback.rs"
harness = false
[[bench]]
name = "query_optimizer_benchmark"
path = "benches/query_optimizer_benchmark.rs"
harness = false
[[bench]]
name = "query_prepared_breakdown"
path = "benches/query_prepared_breakdown.rs"
harness = false
[[bench]]
name = "rollback_detailed"
path = "benches/rollback_detailed.rs"
harness = false
[[bench]]
name = "simple_planner_test"
path = "benches/simple_planner_test.rs"
harness = false
[[bench]]
name = "storage_format_benchmark"
path = "benches/storage_format_benchmark.rs"
harness = false
[[bench]]
name = "streaming_performance_benchmark"
path = "benches/streaming_performance_benchmark.rs"
harness = false
[[bench]]
name = "transaction_begin_scaling"
path = "benches/transaction_begin_scaling.rs"
harness = false
[[bench]]
name = "transaction_benchmark"
path = "benches/transaction_benchmark.rs"
harness = false
[[bench]]
name = "vector_index_performance_benchmark"
path = "benches/vector_index_performance_benchmark.rs"
harness = false
[[bench]]
name = "vector_search_benchmark"
path = "benches/vector_search_benchmark.rs"
harness = false
[dependencies.aws-config]
version = "1"
optional = true
[dependencies.aws-sdk-s3]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true
[dependencies.clap]
version = "4.0"
features = ["derive"]
optional = true
[dependencies.const_format]
version = "0.2"
optional = true
[dependencies.crossterm]
version = "0.27"
optional = true
[dependencies.fastrand]
version = "2.0.1"
[dependencies.flate2]
version = "1.0"
optional = true
[dependencies.fs2]
version = "0.4.3"
optional = true
[dependencies.libloading]
version = "0.8"
optional = true
[dependencies.nom]
version = "8.0.0"
[dependencies.rustyline]
version = "14.0"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = ["full"]
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dev-dependencies.criterion]
version = "0.6.0"
features = ["html_reports"]
[dev-dependencies.once_cell]
version = "1.19"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.reqwest]
version = "0.11"
features = ["json"]
[dev-dependencies.rusqlite]
version = "0.37.0"
[dev-dependencies.sled]
version = "0.34.7"
[dev-dependencies.tempfile]
version = "3.20.0"
[dev-dependencies.tokio]
version = "1.0"
features = ["full"]
[profile.release]
lto = true
codegen-units = 1
debug = 2