hyperstreamdb 0.3.3__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/Cargo.lock +19 -121
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/Cargo.toml +14 -32
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/PKG-INFO +1 -9
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/build.rs +3 -3
- hyperstreamdb-0.4.0/docs/monitoring.md +57 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/pyproject.toml +2 -8
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/python/hyperstreamdb/__init__.py +17 -4
- hyperstreamdb-0.4.0/recovered_plan.txt +0 -0
- hyperstreamdb-0.4.0/scripts/update_cache.py +46 -0
- hyperstreamdb-0.4.0/scripts/update_reader.py +57 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/bin/hdb.rs +9 -22
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/cache.rs +23 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/compaction.rs +10 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/embeddings.rs +3 -3
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/ffi.rs +14 -5
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/iceberg/iceberg_delete.rs +10 -9
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/iceberg.rs +236 -40
- hyperstreamdb-0.3.3/src/core/segment.rs → hyperstreamdb-0.4.0/src/core/index/build_inverted.rs +48 -792
- hyperstreamdb-0.4.0/src/core/index/build_vector.rs +98 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/gpu.rs +56 -56
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_ivf.rs +2 -1
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/api.rs +1 -0
- hyperstreamdb-0.4.0/src/core/index/hnsw_rs/dist.rs +223 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/hnswio.rs +3 -3
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/libext.rs +178 -472
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/mod.rs +1 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mod.rs +3 -0
- hyperstreamdb-0.4.0/src/core/lock.rs +152 -0
- hyperstreamdb-0.3.3/src/core/manifest.rs → hyperstreamdb-0.4.0/src/core/manifest/manager.rs +66 -889
- hyperstreamdb-0.4.0/src/core/manifest/mod.rs +4 -0
- hyperstreamdb-0.4.0/src/core/manifest/types.rs +851 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/mod.rs +1 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/planner.rs +38 -6
- hyperstreamdb-0.4.0/src/core/reader/delete.rs +185 -0
- hyperstreamdb-0.4.0/src/core/reader/filter.rs +673 -0
- hyperstreamdb-0.4.0/src/core/reader/mod.rs +376 -0
- hyperstreamdb-0.4.0/src/core/reader/scan.rs +1234 -0
- hyperstreamdb-0.4.0/src/core/segment.rs +696 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/mod.rs +35 -12
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/optimizer.rs +13 -3
- hyperstreamdb-0.4.0/src/core/sql/physical_plan/vector_merge.rs +223 -0
- hyperstreamdb-0.4.0/src/core/sql/physical_plan/vector_scan.rs +232 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/physical_plan.rs +20 -91
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/table/builder.rs +10 -10
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/table/mod.rs +143 -85
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/table/read.rs +132 -7
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/table/schema.rs +5 -5
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/table/write.rs +58 -39
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/wal.rs +4 -4
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/lib.rs +1 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/python_binding.rs +46 -22
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/python_gpu_context.rs +33 -8
- hyperstreamdb-0.4.0/src/telemetry/metrics.rs +67 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/telemetry/tracing.rs +39 -13
- hyperstreamdb-0.4.0/tests/gpu_test_helpers.rs +5 -0
- hyperstreamdb-0.3.3/broken_binaries_all.txt +0 -134
- hyperstreamdb-0.3.3/broken_bins.txt +0 -107
- hyperstreamdb-0.3.3/compliance_output.txt +0 -152
- hyperstreamdb-0.3.3/debug_log.txt +0 -73
- hyperstreamdb-0.3.3/demo_basics_run.txt +0 -47
- hyperstreamdb-0.3.3/demo_basics_v2.txt +0 -21
- hyperstreamdb-0.3.3/python_test_output.txt +0 -2714
- hyperstreamdb-0.3.3/python_test_output_v2.txt +0 -2636
- hyperstreamdb-0.3.3/python_test_output_v3.txt +0 -1824
- hyperstreamdb-0.3.3/rust_check_all_warnings.txt +0 -1018
- hyperstreamdb-0.3.3/rust_test_output.txt +0 -447
- hyperstreamdb-0.3.3/rust_warnings.txt +0 -1071
- hyperstreamdb-0.3.3/simd_test_results.txt +0 -202
- hyperstreamdb-0.3.3/src/core/index/hnsw_rs/dist.rs +0 -1596
- hyperstreamdb-0.3.3/src/core/reader.rs +0 -1874
- hyperstreamdb-0.3.3/src/telemetry/metrics.rs +0 -35
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.gitattributes +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.gitignore +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.hypothesis/constants/32b327793848e7d8 +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.hypothesis/constants/67b0a8ccf18bf5d2 +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.hypothesis/constants/84828557b4ee7be4 +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.instructions.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/CNAME +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/DORIS_OPTIMIZATION_PATTERNS.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/HyperStreamDB.png +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/LICENSE-APACHE +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/LICENSE-MIT +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/README.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/RUN_COMPLIANCE_TESTS.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/STEERING.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/THIRDPARTY_NOTICES.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/Untitled.ipynb +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benches/bench_table.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benches/performance.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/BENCHMARK_REPORT.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/benchmark_charts.png +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/benchmark_results.csv +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/concurrent_queries_20260409_214245.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/concurrent_queries_20260409_214245.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_search_comparison_20260409_222607.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_search_comparison_20260409_222607.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_214355.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_214355.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_220418.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_220418.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_222053.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_222053.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_225907.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/filtered_vector_search_20260409_225907.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/full_scan_baseline_20260409_222303.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/full_scan_baseline_20260409_222303.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/high_selectivity_filter_20260409_222302.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/high_selectivity_filter_20260409_222302.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/ingestion_comparison_20260409_222516.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/ingestion_comparison_20260409_222516.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_214428.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_214428.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_220450.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_220450.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_222131.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_222131.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_225938.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_225938.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_231713.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/multi_filter_vector_20260409_231713.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_214501.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_214501.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_220524.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_220524.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_222204.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_222204.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_230010.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/post_vs_pre_filter_20260409_230010.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/query_comparison_20260409_222541.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/query_comparison_20260409_222541.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/range_query_20260409_222302.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/range_query_20260409_222302.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/search_filtered_high_selectivity_20260409_214144.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/search_filtered_high_selectivity_20260409_214144.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/search_unfiltered_20260409_214028.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/benchmark_results/search_unfiltered_20260409_214028.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/book.toml +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/build-connectors.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/check_iceberg_compliance.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/critical_code_review.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docker-compose-minio-nessie.yml +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docker-compose.yml +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/.nojekyll +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/BENCHMARKING.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/COMPREHENSIVE_GUIDE.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/CONCURRENCY.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/CONFIGURATION.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/GPU_SETUP_GUIDE.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/ICEBERG_V2_V3_API.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/INSTALLATION.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/PGVECTOR_SQL_GUIDE.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/PYTHON_VECTOR_API.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/VECTOR_CONFIGURATION.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/api_reference.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/architecture.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/catalog_usage.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/index.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/integrations/README.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/integrations/java_jni.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/integrations/python.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/integrations/spark.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/integrations/trino.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/requirements.txt +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/source/_static/HyperStreamDB.png +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/source/api/python.rst +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/source/api/rust.rst +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/source/conf.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/source/index.rst +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/docs/source/roadmap.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/proptest-regressions/core/index/gpu.txt +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/proptest-regressions/core/sql/vector_literal.txt +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/proptest-regressions/core/sql/vector_udf.txt +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/python/hyperstreamdb/embeddings.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/scratch/check_os_error.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/scripts}/fix_nb.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/scripts}/split_table.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/scripts}/update_schema_patch.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/scripts}/update_schema_patch2.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/.bloop/bloop.settings.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/.bloop/spark-hyperstream-test.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/.bloop/spark-hyperstream.json +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/pom.xml +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/DefaultSource.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartition.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartitionReader.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartitionReaderFactory.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamScanBuilder.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamTable.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/bin/gateway.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/bin/iceberg_rest.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/bin/probe_datafusion.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/bin/setup_test_data.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/bin/verify_layered_indexing.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/config.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/glue.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/hive.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/jdbc.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/mod.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/nessie.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/rest.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/catalog/unity.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/clustering.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/cosine_distance.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/hamming_distance.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/inner_product.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/jaccard_distance.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/kmeans_assignment.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/l1_distance.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/cuda/l2_distance.cu +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/distance.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/annhdf5.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/flatten.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/hnsw.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/prelude.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/hnsw_rs/test.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/ivf.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/memory.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/cosine_distance.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/hamming_distance.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/inner_product.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/jaccard_distance.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/kmeans_assignment.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/l1_distance.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/mps/l2_distance.metal +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/cosine_distance.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/hamming_distance.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/inner_product.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/jaccard_distance.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/kmeans_assignment.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/l1_distance.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/opencl/l2_distance.cl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/pq.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/tokenizer.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/turboquant.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/index/wgpu_kernel.wgsl +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/license.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/maintenance.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/merge.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/metadata.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/nessie.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/puffin.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/query.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/search/mod.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/search/rrf.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/pgvector_rewriter.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/physical_plan/index_join.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/session.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/vector_literal.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/vector_operators.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/sql/vector_udf.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/storage.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/core/table/fluent.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/enterprise/continuous_indexing.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/enterprise/license.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/enterprise/mod.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/index.rs.old +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/python_distance.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/src/telemetry/mod.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/task.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/all_types_index_test.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/bin/generate_iceberg_manifests.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/bin/verify_iceberg_read_check.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/check_mmh3.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/data/download_nyc_taxi.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/data/generate_embeddings.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/data/generate_wikipedia.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/data/start_nessie.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/datafusion_rust_test.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/debug_murmur3.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/fuzz_murmur3.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/integration_test_hnsw_ivf_native.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/performance/README.md +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/prototype_merge.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/tests/python}/verify_docstrings.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/tests/python}/verify_fluent_api.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0/tests/python}/verify_unified_ingest.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/schema_evolution_test.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/stability.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_all_algos.py +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_catalog_commit.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_compliance.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_delete_correctness.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_iceberg_python_delete.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_iceberg_rest.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_iceberg_rest_create.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_iceberg_rest_delete.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_iceberg_rest_remove_index.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_iceberg_rest_update.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_metadata_creation.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_mor_reads.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_mor_writes.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_partition_transforms.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_partitioned_writes.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_puffin_index.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_rest_updates.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/tests/verify_schema_compat.rs +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/.DS_Store +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/catalog/glue_catalog.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/catalog/hyperstreamdb.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/catalog/iceberg.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/catalog/memory.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/catalog/postgres.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/config.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/entrypoint.sh +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/jvm.config +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config/node.properties +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-config.zip +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/pom.xml +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBColumnHandle.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBConnectorFactory.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBMetadata.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPageSource.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPageSourceProvider.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPlugin.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBSplit.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBSplitManager.java +0 -0
- {hyperstreamdb-0.3.3 → hyperstreamdb-0.4.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBTableHandle.java +0 -0
|
@@ -14,12 +14,6 @@ version = "1.2.0"
|
|
|
14
14
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
15
15
|
checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
|
|
16
16
|
|
|
17
|
-
[[package]]
|
|
18
|
-
name = "ahash"
|
|
19
|
-
version = "0.4.8"
|
|
20
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
21
|
-
checksum = "0453232ace82dee0dd0b4c87a59bd90f7b53b314f3e0f61fe2ee7c8a16482289"
|
|
22
|
-
|
|
23
17
|
[[package]]
|
|
24
18
|
name = "ahash"
|
|
25
19
|
version = "0.8.12"
|
|
@@ -160,15 +154,6 @@ dependencies = [
|
|
|
160
154
|
"uuid",
|
|
161
155
|
]
|
|
162
156
|
|
|
163
|
-
[[package]]
|
|
164
|
-
name = "approx"
|
|
165
|
-
version = "0.5.1"
|
|
166
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
167
|
-
checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
|
|
168
|
-
dependencies = [
|
|
169
|
-
"num-traits",
|
|
170
|
-
]
|
|
171
|
-
|
|
172
157
|
[[package]]
|
|
173
158
|
name = "ar_archive_writer"
|
|
174
159
|
version = "0.5.1"
|
|
@@ -232,7 +217,7 @@ version = "57.3.0"
|
|
|
232
217
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
233
218
|
checksum = "4c8955af33b25f3b175ee10af580577280b4bd01f7e823d94c7cdef7cf8c9aef"
|
|
234
219
|
dependencies = [
|
|
235
|
-
"ahash
|
|
220
|
+
"ahash",
|
|
236
221
|
"arrow-buffer",
|
|
237
222
|
"arrow-data",
|
|
238
223
|
"arrow-schema",
|
|
@@ -402,7 +387,7 @@ version = "57.3.0"
|
|
|
402
387
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
403
388
|
checksum = "68bf3e3efbd1278f770d67e5dc410257300b161b93baedb3aae836144edcaf4b"
|
|
404
389
|
dependencies = [
|
|
405
|
-
"ahash
|
|
390
|
+
"ahash",
|
|
406
391
|
"arrow-array",
|
|
407
392
|
"arrow-buffer",
|
|
408
393
|
"arrow-data",
|
|
@@ -1330,17 +1315,6 @@ dependencies = [
|
|
|
1330
1315
|
"half",
|
|
1331
1316
|
]
|
|
1332
1317
|
|
|
1333
|
-
[[package]]
|
|
1334
|
-
name = "cl3"
|
|
1335
|
-
version = "0.9.5"
|
|
1336
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1337
|
-
checksum = "b823f24e72fa0c68aa14a250ae1c0848e68d4ae188b71c3972343e45b46f8644"
|
|
1338
|
-
dependencies = [
|
|
1339
|
-
"libc",
|
|
1340
|
-
"opencl-sys",
|
|
1341
|
-
"thiserror 1.0.69",
|
|
1342
|
-
]
|
|
1343
|
-
|
|
1344
1318
|
[[package]]
|
|
1345
1319
|
name = "clap"
|
|
1346
1320
|
version = "4.6.0"
|
|
@@ -1893,7 +1867,7 @@ version = "52.4.0"
|
|
|
1893
1867
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1894
1868
|
checksum = "205dc1e20441973f470e6b7ef87626a3b9187970e5106058fef1b713047f770c"
|
|
1895
1869
|
dependencies = [
|
|
1896
|
-
"ahash
|
|
1870
|
+
"ahash",
|
|
1897
1871
|
"arrow",
|
|
1898
1872
|
"arrow-ipc",
|
|
1899
1873
|
"chrono",
|
|
@@ -2156,7 +2130,7 @@ version = "52.4.0"
|
|
|
2156
2130
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2157
2131
|
checksum = "4e42c227d9e55a6c8041785d4a8a117e4de531033d480aae10984247ac62e27e"
|
|
2158
2132
|
dependencies = [
|
|
2159
|
-
"ahash
|
|
2133
|
+
"ahash",
|
|
2160
2134
|
"arrow",
|
|
2161
2135
|
"datafusion-common",
|
|
2162
2136
|
"datafusion-doc",
|
|
@@ -2177,7 +2151,7 @@ version = "52.4.0"
|
|
|
2177
2151
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2178
2152
|
checksum = "cead3cfed825b0b688700f4338d281cd7857e4907775a5b9554c083edd5f3f95"
|
|
2179
2153
|
dependencies = [
|
|
2180
|
-
"ahash
|
|
2154
|
+
"ahash",
|
|
2181
2155
|
"arrow",
|
|
2182
2156
|
"datafusion-common",
|
|
2183
2157
|
"datafusion-expr-common",
|
|
@@ -2288,7 +2262,7 @@ version = "52.4.0"
|
|
|
2288
2262
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2289
2263
|
checksum = "987c5e29e96186589301b42e25aa7d11bbe319a73eb02ef8d755edc55b5b89fc"
|
|
2290
2264
|
dependencies = [
|
|
2291
|
-
"ahash
|
|
2265
|
+
"ahash",
|
|
2292
2266
|
"arrow",
|
|
2293
2267
|
"datafusion-common",
|
|
2294
2268
|
"datafusion-expr",
|
|
@@ -2327,7 +2301,7 @@ version = "52.4.0"
|
|
|
2327
2301
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2328
2302
|
checksum = "602d1970c0fe87f1c3a36665d131fbfe1c4379d35f8fc5ec43a362229ad2954d"
|
|
2329
2303
|
dependencies = [
|
|
2330
|
-
"ahash
|
|
2304
|
+
"ahash",
|
|
2331
2305
|
"arrow",
|
|
2332
2306
|
"chrono",
|
|
2333
2307
|
"datafusion-common",
|
|
@@ -2363,7 +2337,7 @@ version = "52.4.0"
|
|
|
2363
2337
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2364
2338
|
checksum = "c21d94141ea5043e98793f170798e9c1887095813b8291c5260599341e383a38"
|
|
2365
2339
|
dependencies = [
|
|
2366
|
-
"ahash
|
|
2340
|
+
"ahash",
|
|
2367
2341
|
"arrow",
|
|
2368
2342
|
"arrow-ord",
|
|
2369
2343
|
"arrow-schema",
|
|
@@ -3047,15 +3021,6 @@ dependencies = [
|
|
|
3047
3021
|
"zerocopy",
|
|
3048
3022
|
]
|
|
3049
3023
|
|
|
3050
|
-
[[package]]
|
|
3051
|
-
name = "hashbrown"
|
|
3052
|
-
version = "0.9.1"
|
|
3053
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3054
|
-
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
|
|
3055
|
-
dependencies = [
|
|
3056
|
-
"ahash 0.4.8",
|
|
3057
|
-
]
|
|
3058
|
-
|
|
3059
3024
|
[[package]]
|
|
3060
3025
|
name = "hashbrown"
|
|
3061
3026
|
version = "0.12.3"
|
|
@@ -3067,6 +3032,10 @@ name = "hashbrown"
|
|
|
3067
3032
|
version = "0.14.5"
|
|
3068
3033
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3069
3034
|
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
|
|
3035
|
+
dependencies = [
|
|
3036
|
+
"ahash",
|
|
3037
|
+
"allocator-api2",
|
|
3038
|
+
]
|
|
3070
3039
|
|
|
3071
3040
|
[[package]]
|
|
3072
3041
|
name = "hashbrown"
|
|
@@ -3364,20 +3333,11 @@ dependencies = [
|
|
|
3364
3333
|
"tracing",
|
|
3365
3334
|
]
|
|
3366
3335
|
|
|
3367
|
-
[[package]]
|
|
3368
|
-
name = "hyperloglogplus"
|
|
3369
|
-
version = "0.4.1"
|
|
3370
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3371
|
-
checksum = "621debdf94dcac33e50475fdd76d34d5ea9c0362a834b9db08c3024696c1fbe3"
|
|
3372
|
-
dependencies = [
|
|
3373
|
-
"serde",
|
|
3374
|
-
]
|
|
3375
|
-
|
|
3376
3336
|
[[package]]
|
|
3377
3337
|
name = "hyperstreamdb"
|
|
3378
|
-
version = "0.
|
|
3338
|
+
version = "0.4.0"
|
|
3379
3339
|
dependencies = [
|
|
3380
|
-
"ahash
|
|
3340
|
+
"ahash",
|
|
3381
3341
|
"anyhow",
|
|
3382
3342
|
"apache-avro",
|
|
3383
3343
|
"arrow",
|
|
@@ -3407,27 +3367,23 @@ dependencies = [
|
|
|
3407
3367
|
"env_logger",
|
|
3408
3368
|
"faststr",
|
|
3409
3369
|
"futures",
|
|
3410
|
-
"hashbrown 0.
|
|
3370
|
+
"hashbrown 0.14.5",
|
|
3411
3371
|
"hive_metastore",
|
|
3412
|
-
"hyperloglogplus",
|
|
3413
3372
|
"jni",
|
|
3414
3373
|
"lazy_static",
|
|
3415
3374
|
"log",
|
|
3416
3375
|
"metal 0.27.0",
|
|
3417
3376
|
"moka",
|
|
3418
3377
|
"murmur3",
|
|
3419
|
-
"num-traits",
|
|
3420
3378
|
"num_cpus",
|
|
3421
3379
|
"numpy",
|
|
3422
3380
|
"object_store",
|
|
3423
3381
|
"once_cell",
|
|
3424
|
-
"opencl3",
|
|
3425
3382
|
"opentelemetry",
|
|
3426
3383
|
"opentelemetry-otlp",
|
|
3427
3384
|
"opentelemetry_sdk",
|
|
3428
3385
|
"parking_lot",
|
|
3429
3386
|
"parquet",
|
|
3430
|
-
"pilota",
|
|
3431
3387
|
"pollster",
|
|
3432
3388
|
"prometheus",
|
|
3433
3389
|
"proptest",
|
|
@@ -3444,7 +3400,6 @@ dependencies = [
|
|
|
3444
3400
|
"serde_json",
|
|
3445
3401
|
"sha2",
|
|
3446
3402
|
"skiplist",
|
|
3447
|
-
"smartcore",
|
|
3448
3403
|
"sqlx",
|
|
3449
3404
|
"tempfile",
|
|
3450
3405
|
"thiserror 1.0.69",
|
|
@@ -4105,7 +4060,7 @@ version = "0.7.14"
|
|
|
4105
4060
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4106
4061
|
checksum = "cdc67a1d6ef0340a7f5152b9fd34ad7477b4d518920f7557267f1fc6e5a62641"
|
|
4107
4062
|
dependencies = [
|
|
4108
|
-
"ahash
|
|
4063
|
+
"ahash",
|
|
4109
4064
|
"faststr",
|
|
4110
4065
|
"paste",
|
|
4111
4066
|
"rustc-hash 2.1.1",
|
|
@@ -4332,20 +4287,6 @@ dependencies = [
|
|
|
4332
4287
|
"windows-sys 0.61.2",
|
|
4333
4288
|
]
|
|
4334
4289
|
|
|
4335
|
-
[[package]]
|
|
4336
|
-
name = "num"
|
|
4337
|
-
version = "0.4.3"
|
|
4338
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4339
|
-
checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
|
|
4340
|
-
dependencies = [
|
|
4341
|
-
"num-bigint",
|
|
4342
|
-
"num-complex",
|
|
4343
|
-
"num-integer",
|
|
4344
|
-
"num-iter",
|
|
4345
|
-
"num-rational",
|
|
4346
|
-
"num-traits",
|
|
4347
|
-
]
|
|
4348
|
-
|
|
4349
4290
|
[[package]]
|
|
4350
4291
|
name = "num-bigint"
|
|
4351
4292
|
version = "0.4.6"
|
|
@@ -4408,17 +4349,6 @@ dependencies = [
|
|
|
4408
4349
|
"num-traits",
|
|
4409
4350
|
]
|
|
4410
4351
|
|
|
4411
|
-
[[package]]
|
|
4412
|
-
name = "num-rational"
|
|
4413
|
-
version = "0.4.2"
|
|
4414
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4415
|
-
checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
|
|
4416
|
-
dependencies = [
|
|
4417
|
-
"num-bigint",
|
|
4418
|
-
"num-integer",
|
|
4419
|
-
"num-traits",
|
|
4420
|
-
]
|
|
4421
|
-
|
|
4422
4352
|
[[package]]
|
|
4423
4353
|
name = "num-traits"
|
|
4424
4354
|
version = "0.2.19"
|
|
@@ -4561,25 +4491,6 @@ version = "11.1.5"
|
|
|
4561
4491
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4562
4492
|
checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
|
|
4563
4493
|
|
|
4564
|
-
[[package]]
|
|
4565
|
-
name = "opencl-sys"
|
|
4566
|
-
version = "0.2.9"
|
|
4567
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4568
|
-
checksum = "de15dd01496ae90c5799f5266184ab020082b4065800ff0b732f489371d0e5cf"
|
|
4569
|
-
dependencies = [
|
|
4570
|
-
"libc",
|
|
4571
|
-
]
|
|
4572
|
-
|
|
4573
|
-
[[package]]
|
|
4574
|
-
name = "opencl3"
|
|
4575
|
-
version = "0.9.5"
|
|
4576
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4577
|
-
checksum = "26ab4a90cb496f787d3934deb0c54fa9d65e7bed710c10071234aab0196fba04"
|
|
4578
|
-
dependencies = [
|
|
4579
|
-
"cl3",
|
|
4580
|
-
"libc",
|
|
4581
|
-
]
|
|
4582
|
-
|
|
4583
4494
|
[[package]]
|
|
4584
4495
|
name = "openssl-probe"
|
|
4585
4496
|
version = "0.2.1"
|
|
@@ -4727,7 +4638,7 @@ version = "57.3.0"
|
|
|
4727
4638
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4728
4639
|
checksum = "6ee96b29972a257b855ff2341b37e61af5f12d6af1158b6dcdb5b31ea07bb3cb"
|
|
4729
4640
|
dependencies = [
|
|
4730
|
-
"ahash
|
|
4641
|
+
"ahash",
|
|
4731
4642
|
"arrow-array",
|
|
4732
4643
|
"arrow-buffer",
|
|
4733
4644
|
"arrow-cast",
|
|
@@ -4815,7 +4726,7 @@ version = "0.11.10"
|
|
|
4815
4726
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4816
4727
|
checksum = "520e32b295867834617b8a352b6fd4837e578f328f4e48813db4904ebc0d70b2"
|
|
4817
4728
|
dependencies = [
|
|
4818
|
-
"ahash
|
|
4729
|
+
"ahash",
|
|
4819
4730
|
"anyhow",
|
|
4820
4731
|
"async-recursion",
|
|
4821
4732
|
"bytes",
|
|
@@ -6188,19 +6099,6 @@ dependencies = [
|
|
|
6188
6099
|
"serde",
|
|
6189
6100
|
]
|
|
6190
6101
|
|
|
6191
|
-
[[package]]
|
|
6192
|
-
name = "smartcore"
|
|
6193
|
-
version = "0.3.2"
|
|
6194
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
6195
|
-
checksum = "c42ca1fcd851ada8834d3dfcd088850dc8c703bde50c2baccd89181b74dc3ade"
|
|
6196
|
-
dependencies = [
|
|
6197
|
-
"approx",
|
|
6198
|
-
"cfg-if",
|
|
6199
|
-
"num",
|
|
6200
|
-
"num-traits",
|
|
6201
|
-
"rand 0.8.5",
|
|
6202
|
-
]
|
|
6203
|
-
|
|
6204
6102
|
[[package]]
|
|
6205
6103
|
name = "snap"
|
|
6206
6104
|
version = "1.1.1"
|
|
@@ -7373,7 +7271,7 @@ version = "0.10.8"
|
|
|
7373
7271
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
7374
7272
|
checksum = "a4a41a936651c3b8206339898466fd4f39596cfedf789e5ee6a8d02a45feb45f"
|
|
7375
7273
|
dependencies = [
|
|
7376
|
-
"ahash
|
|
7274
|
+
"ahash",
|
|
7377
7275
|
"anyhow",
|
|
7378
7276
|
"bytes",
|
|
7379
7277
|
"chrono",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "hyperstreamdb"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.0"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
license = "MIT AND Apache-2.0"
|
|
6
6
|
description = "HyperStreamDB - Serverless Index-Streaming Database with Overlay Indexing and Vector Search"
|
|
@@ -30,20 +30,16 @@ name = "hyperstreamdb"
|
|
|
30
30
|
crate-type = ["cdylib", "rlib"]
|
|
31
31
|
|
|
32
32
|
[features]
|
|
33
|
-
default = []
|
|
33
|
+
default = ["simd"]
|
|
34
34
|
enterprise = []
|
|
35
|
-
python = ["dep:pyo3", "pyo3/extension-module", "dep:numpy", "dep:pythonize"]
|
|
35
|
+
python = ["dep:pyo3", "pyo3/extension-module", "dep:numpy", "dep:pythonize", "wgpu", "pollster"]
|
|
36
36
|
java = ["dep:jni"]
|
|
37
|
-
simdeez_f = []
|
|
38
37
|
stdsimd = []
|
|
39
|
-
|
|
40
|
-
simd = ["intel_cpu"]
|
|
38
|
+
simd = []
|
|
41
39
|
|
|
42
40
|
# GPU Acceleration Features
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
rocm = []
|
|
46
|
-
intel = []
|
|
41
|
+
wgpu = ["dep:wgpu"]
|
|
42
|
+
pollster = ["dep:pollster"]
|
|
47
43
|
|
|
48
44
|
[dependencies]
|
|
49
45
|
# core columnar memory format
|
|
@@ -79,7 +75,6 @@ aws-sdk-glue = "1.0"
|
|
|
79
75
|
|
|
80
76
|
# Thrift for Hive Metastore
|
|
81
77
|
volo-thrift = "0.10"
|
|
82
|
-
pilota = "0.11"
|
|
83
78
|
|
|
84
79
|
# Hardware Acceleration (moved to bottom of file)
|
|
85
80
|
# indexing
|
|
@@ -90,11 +85,9 @@ bincode = "1.3"
|
|
|
90
85
|
cpu-time = "1.0"
|
|
91
86
|
env_logger = "0.10"
|
|
92
87
|
log = "0.4"
|
|
93
|
-
hashbrown = "0.
|
|
94
|
-
num-traits = "0.2"
|
|
88
|
+
hashbrown = "0.14"
|
|
95
89
|
num_cpus = "1.16"
|
|
96
90
|
parking_lot = "0.12"
|
|
97
|
-
skiplist = "0.3"
|
|
98
91
|
# lance removed due to missing protoc
|
|
99
92
|
|
|
100
93
|
# error handling
|
|
@@ -117,9 +110,7 @@ datafusion-functions = "52.0.0"
|
|
|
117
110
|
datafusion-functions-aggregate = "52.0.0"
|
|
118
111
|
datafusion-functions-aggregate-common = "52.0.0"
|
|
119
112
|
async-stream = "0.3.6"
|
|
120
|
-
|
|
121
|
-
rand = "0.8" # For k-means initialization
|
|
122
|
-
hyperloglogplus = "0.4" # For NDV (distinct count) estimation
|
|
113
|
+
rand = "0.8"
|
|
123
114
|
clap = { version = "4.5.54", features = ["derive"] }
|
|
124
115
|
rustyline = "17.0.2"
|
|
125
116
|
hive_metastore = "0.2.0"
|
|
@@ -132,28 +123,19 @@ opentelemetry-otlp = { version = "0.15", features = ["grpc-tonic"] }
|
|
|
132
123
|
opentelemetry_sdk = { version = "0.22", features = ["rt-tokio"] }
|
|
133
124
|
tracing-opentelemetry = "0.23"
|
|
134
125
|
base64 = "0.22.1"
|
|
135
|
-
sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "sqlite", "
|
|
126
|
+
sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "sqlite", "chrono", "uuid", "any"] }
|
|
136
127
|
murmur3 = "0.5.2"
|
|
137
128
|
regex = "1.10"
|
|
138
129
|
|
|
139
130
|
sha2 = "0.10"
|
|
140
|
-
wgpu = "0.20.0"
|
|
141
|
-
pollster = "0.4.0"
|
|
131
|
+
wgpu = { version = "0.20.0", optional = true }
|
|
132
|
+
pollster = { version = "0.4.0", optional = true }
|
|
142
133
|
|
|
143
134
|
[target.'cfg(not(target_os = "macos"))'.dependencies]
|
|
144
|
-
cudarc = { version = "0.13.0", features = ["driver", "nvrtc", "cuda-12000"]
|
|
145
|
-
opencl3 = { version = "0.9" } # Intel / OpenCL
|
|
135
|
+
cudarc = { version = "0.13.0", features = ["driver", "nvrtc", "cuda-12000"] }
|
|
146
136
|
|
|
147
137
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
148
|
-
metal = { version = "0.27.0" } # MPS
|
|
149
|
-
opencl3 = { version = "0.9" } # Intel / OpenCL
|
|
150
|
-
|
|
151
|
-
[target.'cfg(target_os = "linux")'.dependencies]
|
|
152
|
-
# rocm-smi = { version = "0.4.0", optional = true } # ROCm monitoring
|
|
153
|
-
# Note: rocm-rs is not on crates.io, we will use git or a local path if needed.
|
|
154
|
-
# For now, we will use opencl3 as a fallback/stub for ROCm or assume system libraries.
|
|
155
|
-
# If rocm-rs is required, we can add:
|
|
156
|
-
# rocm-rs = { git = "https://github.com/RadeonOpenCompute/rocm-rs", optional = true }
|
|
138
|
+
metal = { version = "0.27.0" } # MPS
|
|
157
139
|
|
|
158
140
|
[dependencies.jni]
|
|
159
141
|
version = "0.21"
|
|
@@ -180,6 +162,7 @@ rand_distr = "0.4"
|
|
|
180
162
|
# hnsw_rs removed and internalized
|
|
181
163
|
tempfile = "3.10"
|
|
182
164
|
proptest = "1.4"
|
|
165
|
+
skiplist = "0.3"
|
|
183
166
|
|
|
184
167
|
[[bin]]
|
|
185
168
|
name = "generate_iceberg_manifests"
|
|
@@ -196,4 +179,3 @@ harness = false
|
|
|
196
179
|
[[bench]]
|
|
197
180
|
name = "bench_table"
|
|
198
181
|
harness = false
|
|
199
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyperstreamdb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: Programming Language :: Rust
|
|
@@ -16,20 +16,12 @@ Classifier: Topic :: Database
|
|
|
16
16
|
Classifier: Topic :: Scientific/Engineering
|
|
17
17
|
Requires-Dist: pyarrow>=14.0.0
|
|
18
18
|
Requires-Dist: numpy>=1.20.0
|
|
19
|
-
Requires-Dist: mps ; extra == 'all-gpu'
|
|
20
|
-
Requires-Dist: cuda ; extra == 'all-gpu'
|
|
21
|
-
Requires-Dist: rocm ; extra == 'all-gpu'
|
|
22
|
-
Requires-Dist: intel ; extra == 'all-gpu'
|
|
23
19
|
Requires-Dist: pytest>=7.0 ; extra == 'dev'
|
|
24
20
|
Requires-Dist: pytest-asyncio>=0.21 ; extra == 'dev'
|
|
25
21
|
Requires-Dist: maturin>=1.7 ; extra == 'dev'
|
|
26
22
|
Requires-Dist: maturin>=1.7 ; extra == 'src'
|
|
27
23
|
Provides-Extra: all_gpu
|
|
28
|
-
Provides-Extra: cuda
|
|
29
24
|
Provides-Extra: dev
|
|
30
|
-
Provides-Extra: intel
|
|
31
|
-
Provides-Extra: mps
|
|
32
|
-
Provides-Extra: rocm
|
|
33
25
|
Provides-Extra: src
|
|
34
26
|
License-File: LICENSE-APACHE
|
|
35
27
|
License-File: LICENSE-MIT
|
|
@@ -19,10 +19,10 @@ fn main() {
|
|
|
19
19
|
|
|
20
20
|
let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
|
|
21
21
|
|
|
22
|
-
// CUDA kernel compilation -
|
|
22
|
+
// CUDA kernel compilation - unconditionally on non-macos platforms
|
|
23
23
|
// (MPS is handled by #[cfg(target_os = "macos")] in source code)
|
|
24
24
|
// (Intel/ROCm are handled natively via WGPU)
|
|
25
|
-
if
|
|
25
|
+
if target_os != "macos" {
|
|
26
26
|
let has_nvcc = Command::new("nvcc").arg("--version").output().is_ok();
|
|
27
27
|
|
|
28
28
|
if has_nvcc {
|
|
@@ -51,7 +51,7 @@ fn main() {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
} else {
|
|
54
|
-
println!("cargo:warning=
|
|
54
|
+
println!("cargo:warning=nvcc not found. Creating dummy PTX files to allow CI to pass Cargo Check/Docs.");
|
|
55
55
|
let out_dir = env::var("OUT_DIR").unwrap();
|
|
56
56
|
let kernels = vec![
|
|
57
57
|
"l2_distance",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# HyperStreamDB Monitoring & Operations
|
|
2
|
+
|
|
3
|
+
HyperStreamDB is designed to be highly observable and easy to operate in serverless, ephemeral environments as well as traditional long-running daemon setups.
|
|
4
|
+
|
|
5
|
+
## Telemetry & Tracing
|
|
6
|
+
|
|
7
|
+
HyperStreamDB leverages a push-based OpenTelemetry (OTLP) pipeline to export distributed traces. Because it often runs in serverless functions (like AWS Lambda) where instances may be frozen between invocations, the `Table` API explicitly flushes traces on teardown (via the `Drop` trait) to ensure no data is lost.
|
|
8
|
+
|
|
9
|
+
### Configuration
|
|
10
|
+
|
|
11
|
+
Tracing is disabled by default. To enable tracing, set the `JAEGER_ENABLED` environment variable. When enabled, traces are automatically pushed to an OTLP-compatible endpoint.
|
|
12
|
+
|
|
13
|
+
| Environment Variable | Description | Default |
|
|
14
|
+
|----------------------|-------------|---------|
|
|
15
|
+
| `JAEGER_ENABLED` | Set to `true` to enable OpenTelemetry exporting. | `false` |
|
|
16
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | The destination URL for OTLP traces. | `http://localhost:4317` (OTLP/gRPC default) |
|
|
17
|
+
| `RUST_LOG` | The log level filter (e.g., `info`, `hyperstreamdb=debug`). | `info` |
|
|
18
|
+
|
|
19
|
+
### Core Instrumentation
|
|
20
|
+
We instrument key paths to provide visibility into latency and bottlenecks:
|
|
21
|
+
- **Write Path:** `write_async`, `commit_async`
|
|
22
|
+
- **Read Path:** `read_async`, `stream_all`, `vector_search_index`, `vector_search_flat`
|
|
23
|
+
- **Manifest Orchestration:** Optimistic concurrency loops, schema updates, and conflict resolution in the `ManifestManager`.
|
|
24
|
+
|
|
25
|
+
## Stateless Operational CLI (`hdb`)
|
|
26
|
+
|
|
27
|
+
The `hdb` binary is a standalone CLI tool that performs administrative actions directly against the object storage tier without requiring a long-running database server to be active.
|
|
28
|
+
|
|
29
|
+
### Usage
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Start an interactive SQL REPL
|
|
33
|
+
hdb repl
|
|
34
|
+
|
|
35
|
+
# Execute a single SQL query
|
|
36
|
+
hdb query --query "SELECT * FROM my_table LIMIT 10"
|
|
37
|
+
|
|
38
|
+
# Register a table in the session
|
|
39
|
+
hdb register --name my_table --uri s3://my-bucket/my-table
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Table Management
|
|
43
|
+
|
|
44
|
+
You can perform routine maintenance using the `hdb table` subcommand:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Inspect table metadata and statistics
|
|
48
|
+
hdb table inspect --uri s3://my-bucket/my-table
|
|
49
|
+
|
|
50
|
+
# Compact small data files to optimize read performance
|
|
51
|
+
hdb table compact --uri s3://my-bucket/my-table
|
|
52
|
+
|
|
53
|
+
# Vacuum (delete) data files that are no longer referenced and older than N days
|
|
54
|
+
hdb table vacuum --uri s3://my-bucket/my-table --older-than-days 7
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
*Note: The CLI is stateless; it interacts directly with the storage URI.*
|
|
@@ -41,11 +41,7 @@ dev = [
|
|
|
41
41
|
"maturin>=1.7",
|
|
42
42
|
]
|
|
43
43
|
# Hardware acceleration extras
|
|
44
|
-
|
|
45
|
-
cuda = [] # NVIDIA (CUDA)
|
|
46
|
-
rocm = [] # AMD (via OpenCL/ROCm)
|
|
47
|
-
intel = [] # Intel (OpenCL)
|
|
48
|
-
all_gpu = ["mps", "cuda", "rocm", "intel"]
|
|
44
|
+
all_gpu = []
|
|
49
45
|
src = ["maturin>=1.7"]
|
|
50
46
|
|
|
51
47
|
[project.urls]
|
|
@@ -54,9 +50,7 @@ Repository = "https://github.com/rla3rd/hyperstreamdb"
|
|
|
54
50
|
|
|
55
51
|
[tool.maturin]
|
|
56
52
|
features = ["python"]
|
|
57
|
-
#
|
|
58
|
-
# e.g. pip install hyperstreamdb[cuda] --no-binary :all:
|
|
59
|
-
extra-features = { cuda = ["python", "cuda"], mps = ["python", "mps"], rocm = ["python", "rocm"], intel = ["python", "intel"] }
|
|
53
|
+
# Build both the Rust library and Python bindings (multi-version compatible)
|
|
60
54
|
module-name = "hyperstreamdb.hyperstreamdb"
|
|
61
55
|
python-source = "python"
|
|
62
56
|
# Build both the Rust library and Python bindings (multi-version compatible)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from typing import List, Optional, Union, Dict, Any
|
|
2
|
+
import os
|
|
1
3
|
from .hyperstreamdb import Device as _Device
|
|
2
4
|
from .hyperstreamdb import Table as _RustTable
|
|
3
5
|
from .hyperstreamdb import Session as _RustSession
|
|
@@ -15,7 +17,7 @@ class Device:
|
|
|
15
17
|
HyperStreamDB Compute Device (CPU, CUDA, MPS, ROCm, Intel).
|
|
16
18
|
- **Torch Alignment** - Automatically aliases `cuda` to `rocm` on AMD hardware if `torch.version.hip` is detected.
|
|
17
19
|
"""
|
|
18
|
-
def __new__(cls, device: str = "cpu", index: int =
|
|
20
|
+
def __new__(cls, device: str = "cpu", index: Optional[int] = None):
|
|
19
21
|
device = device.lower()
|
|
20
22
|
# 1. Handle Torch-style alignment
|
|
21
23
|
if device.startswith("cuda"):
|
|
@@ -93,8 +95,6 @@ try:
|
|
|
93
95
|
import polars as pl
|
|
94
96
|
except ImportError:
|
|
95
97
|
pl = None
|
|
96
|
-
from typing import List, Optional, Union, Dict, Any
|
|
97
|
-
import os
|
|
98
98
|
|
|
99
99
|
class IndexType:
|
|
100
100
|
"""
|
|
@@ -110,6 +110,10 @@ def _resolve_uri(uri: str) -> str:
|
|
|
110
110
|
if not uri.startswith(("s3://", "file://", "az://", "gs://", "http://", "https://")):
|
|
111
111
|
return f"file://{os.abspath(uri)}" if hasattr(os, "abspath") else uri
|
|
112
112
|
return uri
|
|
113
|
+
|
|
114
|
+
def open_table(uri: str, **kwargs) -> Table:
|
|
115
|
+
"""Open an existing HyperStreamDB table."""
|
|
116
|
+
return Table(uri, **kwargs)
|
|
113
117
|
class Query:
|
|
114
118
|
"""
|
|
115
119
|
Fluent Query interface for HyperStreamDB.
|
|
@@ -619,10 +623,19 @@ class Table:
|
|
|
619
623
|
"""
|
|
620
624
|
return self._inner.set_index_columns(config)
|
|
621
625
|
|
|
622
|
-
def add_index(self, column: str, algorithm: Union[str, Dict[str, Any]] = "hnsw"):
|
|
626
|
+
def add_index(self, column: str, algorithm: Union[str, Dict[str, Any]] = "hnsw", **kwargs):
|
|
623
627
|
"""
|
|
624
628
|
Add an indexing strategy to a column.
|
|
625
629
|
"""
|
|
630
|
+
if isinstance(algorithm, str):
|
|
631
|
+
algorithm = {"type": algorithm}
|
|
632
|
+
|
|
633
|
+
if kwargs:
|
|
634
|
+
# Map 'device' to 'build_device' for consistency with set_index_config
|
|
635
|
+
if 'device' in kwargs:
|
|
636
|
+
kwargs['build_device'] = kwargs.pop('device')
|
|
637
|
+
algorithm.update(kwargs)
|
|
638
|
+
|
|
626
639
|
return self._inner.add_index(column, algorithm)
|
|
627
640
|
|
|
628
641
|
def drop_index(self, column: str):
|
|
File without changes
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import re
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
files_to_update = [
|
|
5
|
+
"src/core/index/hnsw_ivf.rs",
|
|
6
|
+
"src/core/manifest.rs",
|
|
7
|
+
"src/core/reader.rs"
|
|
8
|
+
]
|
|
9
|
+
|
|
10
|
+
cache_names = {
|
|
11
|
+
"HNSW_IVF_CACHE": "hnsw_ivf",
|
|
12
|
+
"LATEST_VERSION_CACHE": "latest_version",
|
|
13
|
+
"MANIFEST_CACHE": "manifest",
|
|
14
|
+
"MANIFEST_LIST_CACHE": "manifest_list",
|
|
15
|
+
"BLOOM_FILTER_CACHE": "bloom_filter",
|
|
16
|
+
"INVERTED_INDEX_CACHE": "inverted_index",
|
|
17
|
+
"BYTE_CACHE": "byte",
|
|
18
|
+
"INDEX_CACHE": "index",
|
|
19
|
+
"PARQUET_META_CACHE": "parquet_meta",
|
|
20
|
+
"BLOCK_CACHE": "block",
|
|
21
|
+
"HNSW_CACHE": "hnsw"
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
for file_path in files_to_update:
|
|
25
|
+
with open(file_path, "r") as f:
|
|
26
|
+
content = f.read()
|
|
27
|
+
|
|
28
|
+
# We need to add `use crate::core::cache::CacheExt;` at the top of the files if not already there
|
|
29
|
+
if "use crate::core::cache::CacheExt;" not in content:
|
|
30
|
+
# Find the first use statement and add it
|
|
31
|
+
content = re.sub(r'^(use [^;]+;)', r'use crate::core::cache::CacheExt;\n\1', content, count=1, flags=re.MULTILINE)
|
|
32
|
+
|
|
33
|
+
for cache_var, cache_name in cache_names.items():
|
|
34
|
+
# Match something like `CACHE_VAR.get(&key).await`
|
|
35
|
+
# or `crate::core::cache::CACHE_VAR.get(&key).await`
|
|
36
|
+
pattern = r'(' + cache_var + r')\.get\(([^)]+)\)'
|
|
37
|
+
|
|
38
|
+
def replacer(match):
|
|
39
|
+
return f'{match.group(1)}.get_with_metrics({match.group(2)}, "{cache_name}")'
|
|
40
|
+
|
|
41
|
+
content = re.sub(pattern, replacer, content)
|
|
42
|
+
|
|
43
|
+
with open(file_path, "w") as f:
|
|
44
|
+
f.write(content)
|
|
45
|
+
|
|
46
|
+
print("Updated files.")
|