[package]
edition = "2021"
name = "vibesql-executor"
version = "0.2.0"
authors = ["vibesql contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Query execution engine for vibesql SQL database"
readme = "README.md"
keywords = [
"sql",
"database",
"executor",
"query",
]
categories = ["database"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rjwalters/vibesql"
[features]
all-embedded = [
"sqlite",
"duckdb",
]
all-engines = [
"all-embedded",
"all-servers",
]
all-servers = ["mysql"]
benchmark = [
"native-columnar",
"in-memory-indexes",
"all-engines",
]
default = [
"parallel",
"spatial",
"native-columnar",
]
duckdb = [
"dep:duckdb",
"vibesql-bench-common/duckdb",
]
in-memory-indexes = ["vibesql-storage/in-memory-indexes"]
jemalloc = [
"tikv-jemallocator",
"tikv-jemalloc-ctl",
]
mvcc_enabled = ["vibesql-storage/mvcc_enabled"]
mysql = ["dep:mysql"]
native-columnar = []
parallel = [
"rayon",
"crossbeam-deque",
]
profile-q6 = []
profile-tpcc = []
simd = []
spatial = [
"geo",
"rstar",
]
sqlite = [
"dep:rusqlite",
"vibesql-bench-common/sqlite",
]
[lib]
name = "vibesql_executor"
path = "src/lib.rs"
[[example]]
name = "simd_dispatch_demo"
path = "examples/simd_dispatch_demo.rs"
[[test]]
name = "advanced_function_tests"
path = "tests/advanced_function_tests.rs"
[[test]]
name = "alter_inplace_reload_tests"
path = "tests/alter_inplace_reload_tests.rs"
[[test]]
name = "alter_table_columnar_cache_tests"
path = "tests/alter_table_columnar_cache_tests.rs"
[[test]]
name = "case_expression_tests"
path = "tests/case_expression_tests.rs"
[[test]]
name = "case_sensitivity_tests"
path = "tests/case_sensitivity_tests.rs"
[[test]]
name = "column_names_tests"
path = "tests/column_names_tests.rs"
[[test]]
name = "columnar_filter_type_pairs_tests"
path = "tests/columnar_filter_type_pairs_tests.rs"
[[test]]
name = "columnar_storage_tests"
path = "tests/columnar_storage_tests.rs"
[[test]]
name = "conflict_resolution_tests"
path = "tests/conflict_resolution_tests.rs"
[[test]]
name = "conversion_function_tests"
path = "tests/conversion_function_tests.rs"
[[test]]
name = "correlated_in_pushdown_tests"
path = "tests/correlated_in_pushdown_tests.rs"
[[test]]
name = "cte_expression_subquery_tests"
path = "tests/cte_expression_subquery_tests.rs"
[[test]]
name = "cte_rowid_tests"
path = "tests/cte_rowid_tests.rs"
[[test]]
name = "cte_wildcard_schema_tests"
path = "tests/cte_wildcard_schema_tests.rs"
[[test]]
name = "date_arithmetic_tests"
path = "tests/date_arithmetic_tests.rs"
[[test]]
name = "date_time_function_tests"
path = "tests/date_time_function_tests.rs"
[[test]]
name = "delete_columnar_cache_tests"
path = "tests/delete_columnar_cache_tests.rs"
[[test]]
name = "delete_tests"
path = "tests/delete_tests.rs"
[[test]]
name = "drop_table_tests"
path = "tests/drop_table_tests.rs"
[[test]]
name = "drop_temp_table_with_dependents_tests"
path = "tests/drop_temp_table_with_dependents_tests.rs"
[[test]]
name = "drop_view_cascade_triggers_tests"
path = "tests/drop_view_cascade_triggers_tests.rs"
[[test]]
name = "duplicate_key_update_columnar_cache_tests"
path = "tests/duplicate_key_update_columnar_cache_tests.rs"
[[test]]
name = "explain_skip_scan_tests"
path = "tests/explain_skip_scan_tests.rs"
[[test]]
name = "explain_temp_btree_annotation_tests"
path = "tests/explain_temp_btree_annotation_tests.rs"
[[test]]
name = "explain_view_expansion_tests"
path = "tests/explain_view_expansion_tests.rs"
[[test]]
name = "explain_window_sort_tests"
path = "tests/explain_window_sort_tests.rs"
[[test]]
name = "foreign_key_collation_action_tests"
path = "tests/foreign_key_collation_action_tests.rs"
[[test]]
name = "foreign_key_deferred_phase_c3_tests"
path = "tests/foreign_key_deferred_phase_c3_tests.rs"
[[test]]
name = "foreign_key_deferred_tests"
path = "tests/foreign_key_deferred_tests.rs"
[[test]]
name = "foreign_key_set_default_tests"
path = "tests/foreign_key_set_default_tests.rs"
[[test]]
name = "foreign_key_tests"
path = "tests/foreign_key_tests.rs"
[[test]]
name = "grant_tests"
path = "tests/grant_tests.rs"
[[test]]
name = "group_by_always_false_where_tests"
path = "tests/group_by_always_false_where_tests.rs"
[[test]]
name = "grouping_sets_tests"
path = "tests/grouping_sets_tests.rs"
[[test]]
name = "having_aggregate_only_tests"
path = "tests/having_aggregate_only_tests.rs"
[[test]]
name = "having_subquery_tests"
path = "tests/having_subquery_tests.rs"
[[test]]
name = "index_ordering_tests"
path = "tests/index_ordering_tests.rs"
[[test]]
name = "insert_basic_tests"
path = "tests/insert_basic_tests.rs"
[[test]]
name = "insert_columnar_cache_tests"
path = "tests/insert_columnar_cache_tests.rs"
[[test]]
name = "insert_constraint_tests"
path = "tests/insert_constraint_tests.rs"
[[test]]
name = "insert_default_tests"
path = "tests/insert_default_tests.rs"
[[test]]
name = "insert_duplicate_key_update_tests"
path = "tests/insert_duplicate_key_update_tests.rs"
[[test]]
name = "insert_multi_row_tests"
path = "tests/insert_multi_row_tests.rs"
[[test]]
name = "insert_on_conflict_update_tests"
path = "tests/insert_on_conflict_update_tests.rs"
[[test]]
name = "insert_rowid_affinity_tests"
path = "tests/insert_rowid_affinity_tests.rs"
[[test]]
name = "insert_select_tests"
path = "tests/insert_select_tests.rs"
[[test]]
name = "integer_primary_key_order_tests"
path = "tests/integer_primary_key_order_tests.rs"
[[test]]
name = "issue_2415_crash_test"
path = "tests/issue_2415_crash_test.rs"
[[test]]
name = "issue_3731_tpcds_validation"
path = "tests/issue_3731_tpcds_validation.rs"
[[test]]
name = "join_memory_test"
path = "tests/join_memory_test.rs"
[[test]]
name = "mvcc_autocommit_snapshot_tests"
path = "tests/mvcc_autocommit_snapshot_tests.rs"
[[test]]
name = "mvcc_dml_visibility_tests"
path = "tests/mvcc_dml_visibility_tests.rs"
[[test]]
name = "mvcc_index_scan_tests"
path = "tests/mvcc_index_scan_tests.rs"
[[test]]
name = "mvcc_read_path_tests"
path = "tests/mvcc_read_path_tests.rs"
[[test]]
name = "mvcc_simd_columnar_visibility_tests"
path = "tests/mvcc_simd_columnar_visibility_tests.rs"
[[test]]
name = "mvcc_stamping_tests"
path = "tests/mvcc_stamping_tests.rs"
[[test]]
name = "non_deterministic_datetime_tests"
path = "tests/non_deterministic_datetime_tests.rs"
[[test]]
name = "outer_join_predicate_tests"
path = "tests/outer_join_predicate_tests.rs"
[[test]]
name = "parallel_execution_tests"
path = "tests/parallel_execution_tests.rs"
[[test]]
name = "partial_index_tests"
path = "tests/partial_index_tests.rs"
[[test]]
name = "predicate_pushdown_tests"
path = "tests/predicate_pushdown_tests.rs"
[[test]]
name = "recursive_triggers_pragma_tests"
path = "tests/recursive_triggers_pragma_tests.rs"
[[test]]
name = "replace_columnar_cache_tests"
path = "tests/replace_columnar_cache_tests.rs"
[[test]]
name = "role_tests"
path = "tests/role_tests.rs"
[[test]]
name = "row_value_in_three_valued_tests"
path = "tests/row_value_in_three_valued_tests.rs"
[[test]]
name = "scalar_comparison_decorrelation_tests"
path = "tests/scalar_comparison_decorrelation_tests.rs"
[[test]]
name = "scalar_function_tests"
path = "tests/scalar_function_tests.rs"
[[test]]
name = "spatial_function_tests"
path = "tests/spatial_function_tests.rs"
[[test]]
name = "spatial_index_tests"
path = "tests/spatial_index_tests.rs"
[[test]]
name = "spatial_measurements_tests"
path = "tests/spatial_measurements_tests.rs"
[[test]]
name = "spatial_operations_tests"
path = "tests/spatial_operations_tests.rs"
[[test]]
name = "spatial_set_operations_tests"
path = "tests/spatial_set_operations_tests.rs"
[[test]]
name = "sql_dump_index_roundtrip_tests"
path = "tests/sql_dump_index_roundtrip_tests.rs"
[[test]]
name = "sqlite_schema_tests"
path = "tests/sqlite_schema_tests.rs"
[[test]]
name = "sqlite_temp_master_tests"
path = "tests/sqlite_temp_master_tests.rs"
[[test]]
name = "streaming_aggregate_tests"
path = "tests/streaming_aggregate_tests.rs"
[[test]]
name = "string_edge_case_tests"
path = "tests/string_edge_case_tests.rs"
[[test]]
name = "string_function_tests"
path = "tests/string_function_tests.rs"
[[test]]
name = "temp_view_dml_missing_table_unqualified_tests"
path = "tests/temp_view_dml_missing_table_unqualified_tests.rs"
[[test]]
name = "temporal_index_probe_tests"
path = "tests/temporal_index_probe_tests.rs"
[[test]]
name = "test_join_ordering_search"
path = "tests/test_join_ordering_search.rs"
[[test]]
name = "test_numeric_edge_cases"
path = "tests/test_numeric_edge_cases.rs"
[[test]]
name = "test_predicate_pushdown_integration"
path = "tests/test_predicate_pushdown_integration.rs"
[[test]]
name = "timestamp_format_integration_tests"
path = "tests/timestamp_format_integration_tests.rs"
[[test]]
name = "timestamp_fullscan_filter_tests"
path = "tests/timestamp_fullscan_filter_tests.rs"
[[test]]
name = "tpcds_olap_tests"
path = "tests/tpcds_olap_tests.rs"
[[test]]
name = "tpcds_query_validation_tests"
path = "tests/tpcds_query_validation_tests.rs"
[[test]]
name = "tpcds_schema_tests"
path = "tests/tpcds_schema_tests.rs"
[[test]]
name = "tpch_columnar_q1"
path = "tests/tpch_columnar_q1.rs"
[[test]]
name = "tpch_columnar_q6"
path = "tests/tpch_columnar_q6.rs"
[[test]]
name = "tpch_q15_cte_test"
path = "tests/tpch_q15_cte_test.rs"
[[test]]
name = "tpch_strftime_sqlite_parity"
path = "tests/tpch_strftime_sqlite_parity.rs"
[[test]]
name = "tpch_subquery_tests"
path = "tests/tpch_subquery_tests.rs"
[[test]]
name = "transaction_tests"
path = "tests/transaction_tests.rs"
[[test]]
name = "trigger_depth_limit_tests"
path = "tests/trigger_depth_limit_tests.rs"
[[test]]
name = "trigger_recursion_stack"
path = "tests/trigger_recursion_stack.rs"
[[test]]
name = "trigger_temp_schema_firing_tests"
path = "tests/trigger_temp_schema_firing_tests.rs"
[[test]]
name = "trigger_when_subquery_tests"
path = "tests/trigger_when_subquery_tests.rs"
[[test]]
name = "truncate_columnar_cache_tests"
path = "tests/truncate_columnar_cache_tests.rs"
[[test]]
name = "truncate_tests"
path = "tests/truncate_tests.rs"
[[test]]
name = "update_basic_tests"
path = "tests/update_basic_tests.rs"
[[test]]
name = "update_columnar_cache_tests"
path = "tests/update_columnar_cache_tests.rs"
[[test]]
name = "update_constraint_tests"
path = "tests/update_constraint_tests.rs"
[[test]]
name = "update_default_tests"
path = "tests/update_default_tests.rs"
[[test]]
name = "update_deferred_uniqueness_tests"
path = "tests/update_deferred_uniqueness_tests.rs"
[[test]]
name = "update_delete_pk_affinity_tests"
path = "tests/update_delete_pk_affinity_tests.rs"
[[test]]
name = "update_onepass_tests"
path = "tests/update_onepass_tests.rs"
[[test]]
name = "update_or_replace_without_rowid_delete_trigger_tests"
path = "tests/update_or_replace_without_rowid_delete_trigger_tests.rs"
[[test]]
name = "update_subquery_tests"
path = "tests/update_subquery_tests.rs"
[[test]]
name = "utility_function_tests"
path = "tests/utility_function_tests.rs"
[[test]]
name = "view_dml_missing_table_main_qualifier_tests"
path = "tests/view_dml_missing_table_main_qualifier_tests.rs"
[[test]]
name = "view_read_missing_table_main_qualifier_tests"
path = "tests/view_read_missing_table_main_qualifier_tests.rs"
[[test]]
name = "view_reference_limit_tests"
path = "tests/view_reference_limit_tests.rs"
[[test]]
name = "window_pass_order_tests"
path = "tests/window_pass_order_tests.rs"
[[test]]
name = "window_subquery_and_ordinal_tests"
path = "tests/window_subquery_and_ordinal_tests.rs"
[[test]]
name = "with_insert_cte_tests"
path = "tests/with_insert_cte_tests.rs"
[[test]]
name = "with_update_from_cte_tests"
path = "tests/with_update_from_cte_tests.rs"
[[test]]
name = "with_values_tests"
path = "tests/with_values_tests.rs"
[[bench]]
name = "aggregate_parallel"
path = "benches/aggregate_parallel.rs"
harness = false
[[bench]]
name = "arena_prepared_statement_benchmark"
path = "benches/arena_prepared_statement_benchmark.rs"
harness = false
[[bench]]
name = "columnar_execution"
path = "benches/columnar_execution.rs"
harness = false
[[bench]]
name = "columnar_storage_benchmark"
path = "benches/columnar_storage_benchmark.rs"
harness = false
[[bench]]
name = "concurrent_throughput"
path = "benches/concurrent_throughput.rs"
harness = false
[[bench]]
name = "delete_profiling"
path = "benches/delete_profiling.rs"
harness = false
[[bench]]
name = "filter_parallel"
path = "benches/filter_parallel.rs"
harness = false
[[bench]]
name = "groupby_parallel"
path = "benches/groupby_parallel.rs"
harness = false
[[bench]]
name = "hash_join_parallel"
path = "benches/hash_join_parallel.rs"
harness = false
[[bench]]
name = "iterator_execution"
path = "benches/iterator_execution.rs"
harness = false
[[bench]]
name = "join_probe_parallel"
path = "benches/join_probe_parallel.rs"
harness = false
[[bench]]
name = "lineitem_scan_profiling"
path = "benches/lineitem_scan_profiling.rs"
harness = false
[[bench]]
name = "memory_monitor"
path = "benches/memory_monitor.rs"
[[bench]]
name = "morsel_scaling"
path = "benches/morsel_scaling.rs"
harness = false
required-features = ["in-memory-indexes"]
[[bench]]
name = "nested_loop_parallel"
path = "benches/nested_loop_parallel.rs"
harness = false
[[bench]]
name = "parallel_sort"
path = "benches/parallel_sort.rs"
harness = false
[[bench]]
name = "prep_tpch_databases"
path = "benches/prep_tpch_databases.rs"
harness = false
[[bench]]
name = "prepared_statement_benchmark"
path = "benches/prepared_statement_benchmark.rs"
harness = false
[[bench]]
name = "scan_parallel"
path = "benches/scan_parallel.rs"
harness = false
[[bench]]
name = "simd_filter_benchmark"
path = "benches/simd_filter_benchmark.rs"
harness = false
[[bench]]
name = "spatial_index_benchmark"
path = "benches/spatial_index_benchmark.rs"
harness = false
[[bench]]
name = "sysbench_benchmark"
path = "benches/sysbench_benchmark.rs"
harness = false
[[bench]]
name = "sysbench_oltp"
path = "benches/sysbench_oltp.rs"
harness = false
[[bench]]
name = "tpcc_benchmark"
path = "benches/tpcc_benchmark.rs"
harness = false
[[bench]]
name = "tpcds_benchmark"
path = "benches/tpcds_benchmark.rs"
harness = false
[[bench]]
name = "tpcds_runner"
path = "benches/tpcds_runner.rs"
harness = false
[[bench]]
name = "tpce_benchmark"
path = "benches/tpce_benchmark.rs"
harness = false
[[bench]]
name = "tpch_benchmark"
path = "benches/tpch_benchmark.rs"
harness = false
required-features = ["sqlite"]
[[bench]]
name = "tpch_deep_profiling"
path = "benches/tpch_deep_profiling.rs"
harness = false
required-features = ["sqlite"]
[[bench]]
name = "tpch_instrumented"
path = "benches/tpch_instrumented.rs"
harness = false
required-features = ["sqlite"]
[[bench]]
name = "tpch_profiling"
path = "benches/tpch_profiling.rs"
harness = false
required-features = ["sqlite"]
[dependencies.ahash]
version = "0.8"
[dependencies.arcstr]
version = "1.2"
[dependencies.arrow]
version = "59.0"
[dependencies.bumpalo]
version = "3.16"
features = ["collections"]
[dependencies.chrono]
version = "0.4"
[dependencies.crossbeam-deque]
version = "0.8"
optional = true
[dependencies.duckdb]
version = "1.1"
features = ["bundled"]
optional = true
[dependencies.geo]
version = "0.33"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.indexmap]
version = "2.0"
[dependencies.instant]
version = "0.1"
features = ["wasm-bindgen"]
[dependencies.log]
version = "0.4"
[dependencies.lru]
version = "0.18"
[dependencies.md-5]
version = "0.11"
[dependencies.mysql]
version = "28.0"
optional = true
[dependencies.rand]
version = "0.10"
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.rstar]
version = "0.13"
optional = true
[dependencies.rusqlite]
version = "0.40"
features = ["bundled"]
optional = true
[dependencies.serde_json]
version = "1.0"
[dependencies.tikv-jemalloc-ctl]
version = "0.7"
features = ["stats"]
optional = true
[dependencies.tikv-jemallocator]
version = "0.7"
optional = true
[dependencies.tokio]
version = "1.0"
features = ["sync"]
[dependencies.vibesql-ast]
version = "0.2.0"
[dependencies.vibesql-catalog]
version = "0.2.0"
[dependencies.vibesql-l10n]
version = "0.2.0"
[dependencies.vibesql-parser]
version = "0.2.0"
[dependencies.vibesql-storage]
version = "0.2.0"
[dependencies.vibesql-types]
version = "0.2.0"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.libc]
version = "0.2"
[dev-dependencies.num_cpus]
version = "1.16"
[dev-dependencies.parking_lot]
version = "0.12"
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.rand_chacha]
version = "0.10"
[dev-dependencies.sysinfo]
version = "0.39"
[dev-dependencies.tempfile]
version = "3.19"
[dev-dependencies.tokio]
version = "1.0"
features = [
"full",
"rt-multi-thread",
]
[dev-dependencies.vibesql-bench-common]
version = "0.2.0"
features = ["vibesql"]
[dev-dependencies.vibesql-parser]
version = "0.2.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.stacker]
version = "0.1.24"