benostreamdb 0.10.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.
- benostreamdb-0.10.0/.cargo/audit.toml +25 -0
- benostreamdb-0.10.0/.dockerignore +16 -0
- benostreamdb-0.10.0/.env.example +51 -0
- benostreamdb-0.10.0/.gitattributes +1 -0
- benostreamdb-0.10.0/.gitignore +129 -0
- benostreamdb-0.10.0/.instructions.md +67 -0
- benostreamdb-0.10.0/.mailmap +6 -0
- benostreamdb-0.10.0/BenoStreamDB.png +0 -0
- benostreamdb-0.10.0/CHANGELOG.md +1093 -0
- benostreamdb-0.10.0/CNAME +1 -0
- benostreamdb-0.10.0/CONTRIBUTING.md +254 -0
- benostreamdb-0.10.0/Cargo.lock +8751 -0
- benostreamdb-0.10.0/Cargo.toml +228 -0
- benostreamdb-0.10.0/Dockerfile +109 -0
- benostreamdb-0.10.0/LICENSE-APACHE +201 -0
- benostreamdb-0.10.0/LICENSE-MIT +21 -0
- benostreamdb-0.10.0/NOTICE +17 -0
- benostreamdb-0.10.0/PKG-INFO +784 -0
- benostreamdb-0.10.0/README.md +736 -0
- benostreamdb-0.10.0/SECURITY.md +95 -0
- benostreamdb-0.10.0/THIRDPARTY_NOTICES.md +59 -0
- benostreamdb-0.10.0/audit.toml +35 -0
- benostreamdb-0.10.0/book.toml +10 -0
- benostreamdb-0.10.0/build-connectors.sh +124 -0
- benostreamdb-0.10.0/build.rs +54 -0
- benostreamdb-0.10.0/business_plan/01_market_and_competitive_landscape.md +210 -0
- benostreamdb-0.10.0/business_plan/02_commercialization_and_monetization.md +104 -0
- benostreamdb-0.10.0/business_plan/03_financial_model_and_unit_economics.md +63 -0
- benostreamdb-0.10.0/business_plan/04_technical_architecture_and_ingestion.md +227 -0
- benostreamdb-0.10.0/business_plan/05_sec_edgar_taxonomy_and_graph_rag.md +388 -0
- benostreamdb-0.10.0/business_plan/06_roadmap_and_milestones.md +232 -0
- benostreamdb-0.10.0/business_plan/COMMERCIALIZATION_STRATEGY.md +479 -0
- benostreamdb-0.10.0/business_plan/README.md +90 -0
- benostreamdb-0.10.0/business_plan/paper/paper.aux +28 -0
- benostreamdb-0.10.0/business_plan/paper/paper.out +22 -0
- benostreamdb-0.10.0/business_plan/paper/paper.pdf +0 -0
- benostreamdb-0.10.0/business_plan/paper/paper.tex +110 -0
- benostreamdb-0.10.0/business_plan/paper/paper_outline.md +47 -0
- benostreamdb-0.10.0/business_plan.md +855 -0
- benostreamdb-0.10.0/clippy.toml +17 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/__init__.py +12 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/__version__.py +1 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/connections.py +85 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/impl.py +97 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/__init__.py +3 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/dbt_project.yml +5 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/adapters.sql +90 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/graph.sql +224 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/materializations/incremental.sql +108 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/materializations/table.sql +16 -0
- benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/vector.sql +89 -0
- benostreamdb-0.10.0/dbt-benostreamdb/setup.py +34 -0
- benostreamdb-0.10.0/deny.toml +63 -0
- benostreamdb-0.10.0/docker-compose-hive.yml +104 -0
- benostreamdb-0.10.0/docker-compose-minio-nessie.yml +135 -0
- benostreamdb-0.10.0/docker-compose.production.yml +116 -0
- benostreamdb-0.10.0/docker-compose.yml +153 -0
- benostreamdb-0.10.0/docs/.nojekyll +0 -0
- benostreamdb-0.10.0/docs/ADMIN_CLI.md +59 -0
- benostreamdb-0.10.0/docs/BENCHMARKING.md +72 -0
- benostreamdb-0.10.0/docs/CONCURRENCY.md +57 -0
- benostreamdb-0.10.0/docs/CONFIGURATION.md +510 -0
- benostreamdb-0.10.0/docs/GPU_SETUP_GUIDE.md +467 -0
- benostreamdb-0.10.0/docs/ICEBERG_V2_V3_API.md +239 -0
- benostreamdb-0.10.0/docs/INSTALLATION.md +707 -0
- benostreamdb-0.10.0/docs/NO_PANIC_POLICY.md +139 -0
- benostreamdb-0.10.0/docs/OPENSEARCH_COMPATIBILITY.md +250 -0
- benostreamdb-0.10.0/docs/PGVECTOR_SQL_GUIDE.md +738 -0
- benostreamdb-0.10.0/docs/PYTHON_VECTOR_API.md +956 -0
- benostreamdb-0.10.0/docs/QDRANT_COMPATIBILITY.md +152 -0
- benostreamdb-0.10.0/docs/RESOURCE_LIMITS.md +165 -0
- benostreamdb-0.10.0/docs/ROADMAP.md +807 -0
- benostreamdb-0.10.0/docs/architecture.md +75 -0
- benostreamdb-0.10.0/docs/catalog_usage.md +336 -0
- benostreamdb-0.10.0/docs/graph_rag_edge_tables.md +308 -0
- benostreamdb-0.10.0/docs/index.md +17 -0
- benostreamdb-0.10.0/docs/integrations/README.md +8 -0
- benostreamdb-0.10.0/docs/integrations/java_jni.md +34 -0
- benostreamdb-0.10.0/docs/integrations/python.md +110 -0
- benostreamdb-0.10.0/docs/integrations/spark.md +42 -0
- benostreamdb-0.10.0/docs/integrations/trino.md +43 -0
- benostreamdb-0.10.0/docs/monitoring.md +57 -0
- benostreamdb-0.10.0/docs/requirements.txt +10 -0
- benostreamdb-0.10.0/docs/source/_static/BenoStreamDB.png +0 -0
- benostreamdb-0.10.0/docs/source/api/python.rst +40 -0
- benostreamdb-0.10.0/docs/source/api/rust.rst +11 -0
- benostreamdb-0.10.0/docs/source/conf.py +94 -0
- benostreamdb-0.10.0/docs/source/guides/admin_cli.md +59 -0
- benostreamdb-0.10.0/docs/source/guides/architecture.md +75 -0
- benostreamdb-0.10.0/docs/source/guides/benchmarking.md +72 -0
- benostreamdb-0.10.0/docs/source/guides/catalog_usage.md +336 -0
- benostreamdb-0.10.0/docs/source/guides/concurrency.md +57 -0
- benostreamdb-0.10.0/docs/source/guides/configuration.md +510 -0
- benostreamdb-0.10.0/docs/source/guides/gpu_setup_guide.md +467 -0
- benostreamdb-0.10.0/docs/source/guides/graph_rag_edge_tables.md +308 -0
- benostreamdb-0.10.0/docs/source/guides/iceberg_v2_v3_api.md +239 -0
- benostreamdb-0.10.0/docs/source/guides/installation.md +707 -0
- benostreamdb-0.10.0/docs/source/guides/monitoring.md +57 -0
- benostreamdb-0.10.0/docs/source/guides/no_panic_policy.md +139 -0
- benostreamdb-0.10.0/docs/source/guides/opensearch_compatibility.md +250 -0
- benostreamdb-0.10.0/docs/source/guides/pgvector_sql_guide.md +738 -0
- benostreamdb-0.10.0/docs/source/guides/python_vector_api.md +956 -0
- benostreamdb-0.10.0/docs/source/guides/qdrant_compatibility.md +152 -0
- benostreamdb-0.10.0/docs/source/guides/resource_limits.md +165 -0
- benostreamdb-0.10.0/docs/source/guides/roadmap.md +807 -0
- benostreamdb-0.10.0/docs/source/index.rst +61 -0
- benostreamdb-0.10.0/hive-config/hive-site.xml +75 -0
- benostreamdb-0.10.0/marketing_site/index.html +365 -0
- benostreamdb-0.10.0/marketing_site/styles.css +793 -0
- benostreamdb-0.10.0/proptest-regressions/core/index/gpu.txt +9 -0
- benostreamdb-0.10.0/proptest-regressions/core/sql/vector_literal.txt +10 -0
- benostreamdb-0.10.0/proptest-regressions/core/sql/vector_udf.txt +8 -0
- benostreamdb-0.10.0/pyproject.toml +75 -0
- benostreamdb-0.10.0/python/benostreamdb/__init__.py +2747 -0
- benostreamdb-0.10.0/python/benostreamdb/cli.py +225 -0
- benostreamdb-0.10.0/python/benostreamdb/embeddings.py +98 -0
- benostreamdb-0.10.0/rust-toolchain.toml +11 -0
- benostreamdb-0.10.0/scripts/ai_pr_review.py +207 -0
- benostreamdb-0.10.0/scripts/build_demo_dataset.py +369 -0
- benostreamdb-0.10.0/scripts/download_wiki_dumps.py +131 -0
- benostreamdb-0.10.0/scripts/no_panic_baseline.txt +1 -0
- benostreamdb-0.10.0/scripts/no_panic_check.sh +138 -0
- benostreamdb-0.10.0/scripts/prepare_demo.py +640 -0
- benostreamdb-0.10.0/scripts/services/README.md +76 -0
- benostreamdb-0.10.0/scripts/services/benostream-search-runner.sh +13 -0
- benostreamdb-0.10.0/scripts/services/benostream-search.conf +35 -0
- benostreamdb-0.10.0/scripts/services/benostream-search.service +16 -0
- benostreamdb-0.10.0/scripts/services/com.benostreamdb.search.plist +21 -0
- benostreamdb-0.10.0/scripts/services/install.sh +75 -0
- benostreamdb-0.10.0/scripts/services/uninstall.sh +49 -0
- benostreamdb-0.10.0/spark-benostreamdb/.bloop/bloop.settings.json +16 -0
- benostreamdb-0.10.0/spark-benostreamdb/.bloop/spark-benostreamdb-test.json +2872 -0
- benostreamdb-0.10.0/spark-benostreamdb/.bloop/spark-benostreamdb.json +2871 -0
- benostreamdb-0.10.0/spark-benostreamdb/pom.xml +242 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister +1 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamMergeBuilder.scala +17 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamPositionDeltaWrite.scala +27 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamPositionDeltaWriterFactory.scala +78 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamRowLevelOperation.scala +37 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamScanBuilder.scala +48 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamTable.scala +53 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamWriteBuilder.scala +16 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/DefaultSource.scala +46 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/jni/BenoStreamJNIBridge.scala +42 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/BenoStreamCatalog.scala +38 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/procedures/AddIndexProcedure.scala +40 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/procedures/BuildIndexProcedure.scala +36 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/procedures/SetPrimaryKeyProcedure.scala +39 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/BenoStreamCatalog.scala +49 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/procedures/AddIndexProcedure.scala +33 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/procedures/BuildIndexProcedure.scala +31 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/procedures/SetPrimaryKeyProcedure.scala +31 -0
- benostreamdb-0.10.0/spark-benostreamdb/src/test/scala/com/benostreamdb/spark/SparkMergeIntegrationTest.scala +101 -0
- benostreamdb-0.10.0/src/bin/brute.rs +10 -0
- benostreamdb-0.10.0/src/bin/bsdb-admin.rs +113 -0
- benostreamdb-0.10.0/src/bin/bsdb.rs +367 -0
- benostreamdb-0.10.0/src/bin/dump_test.rs +33 -0
- benostreamdb-0.10.0/src/bin/gateway.rs +259 -0
- benostreamdb-0.10.0/src/bin/iceberg_rest.rs +925 -0
- benostreamdb-0.10.0/src/bin/ingest_wikipedia.rs +232 -0
- benostreamdb-0.10.0/src/bin/probe_datafusion.rs +7 -0
- benostreamdb-0.10.0/src/bin/scratch.rs +21 -0
- benostreamdb-0.10.0/src/bin/setup_test_data.rs +39 -0
- benostreamdb-0.10.0/src/bin/verify_layered_indexing.rs +251 -0
- benostreamdb-0.10.0/src/core/algorithms/connected_components.rs +183 -0
- benostreamdb-0.10.0/src/core/algorithms/frontier.rs +172 -0
- benostreamdb-0.10.0/src/core/algorithms/label_propagation.rs +128 -0
- benostreamdb-0.10.0/src/core/algorithms/mod.rs +4 -0
- benostreamdb-0.10.0/src/core/algorithms/topological_sort.rs +97 -0
- benostreamdb-0.10.0/src/core/cache.rs +578 -0
- benostreamdb-0.10.0/src/core/catalog/config.rs +55 -0
- benostreamdb-0.10.0/src/core/catalog/glue.rs +287 -0
- benostreamdb-0.10.0/src/core/catalog/hive.rs +267 -0
- benostreamdb-0.10.0/src/core/catalog/jdbc.rs +207 -0
- benostreamdb-0.10.0/src/core/catalog/mod.rs +203 -0
- benostreamdb-0.10.0/src/core/catalog/nessie.rs +429 -0
- benostreamdb-0.10.0/src/core/catalog/rest.rs +401 -0
- benostreamdb-0.10.0/src/core/catalog/unity.rs +249 -0
- benostreamdb-0.10.0/src/core/clustering.rs +209 -0
- benostreamdb-0.10.0/src/core/compaction.rs +883 -0
- benostreamdb-0.10.0/src/core/embeddings.rs +179 -0
- benostreamdb-0.10.0/src/core/error.rs +403 -0
- benostreamdb-0.10.0/src/core/ffi.rs +878 -0
- benostreamdb-0.10.0/src/core/iceberg/delete.rs +635 -0
- benostreamdb-0.10.0/src/core/iceberg/iceberg_delete.rs +211 -0
- benostreamdb-0.10.0/src/core/iceberg/manifest.rs +500 -0
- benostreamdb-0.10.0/src/core/iceberg/mod.rs +48 -0
- benostreamdb-0.10.0/src/core/iceberg/schema.rs +195 -0
- benostreamdb-0.10.0/src/core/iceberg/transform.rs +446 -0
- benostreamdb-0.10.0/src/core/iceberg/types.rs +98 -0
- benostreamdb-0.10.0/src/core/iceberg/value.rs +225 -0
- benostreamdb-0.10.0/src/core/iceberg/writer.rs +1064 -0
- benostreamdb-0.10.0/src/core/index/analyzer.rs +82 -0
- benostreamdb-0.10.0/src/core/index/bm25.rs +142 -0
- benostreamdb-0.10.0/src/core/index/build_graph.rs +124 -0
- benostreamdb-0.10.0/src/core/index/build_inverted.rs +1172 -0
- benostreamdb-0.10.0/src/core/index/build_vector.rs +125 -0
- benostreamdb-0.10.0/src/core/index/csr_graph.rs +230 -0
- benostreamdb-0.10.0/src/core/index/cuda/cosine_distance.cu +61 -0
- benostreamdb-0.10.0/src/core/index/cuda/hamming_distance.cu +43 -0
- benostreamdb-0.10.0/src/core/index/cuda/hamming_packed.cu +28 -0
- benostreamdb-0.10.0/src/core/index/cuda/inner_product.cu +40 -0
- benostreamdb-0.10.0/src/core/index/cuda/jaccard_distance.cu +64 -0
- benostreamdb-0.10.0/src/core/index/cuda/jaccard_packed.cu +41 -0
- benostreamdb-0.10.0/src/core/index/cuda/kmeans_assignment.cu +33 -0
- benostreamdb-0.10.0/src/core/index/cuda/l1_distance.cu +40 -0
- benostreamdb-0.10.0/src/core/index/cuda/l2_distance.cu +40 -0
- benostreamdb-0.10.0/src/core/index/distance.rs +834 -0
- benostreamdb-0.10.0/src/core/index/gpu.rs +1550 -0
- benostreamdb-0.10.0/src/core/index/hnsw_ivf.rs +2154 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/LICENSE-APACHE +201 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/LICENSE-MIT +21 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/annhdf5.rs +218 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/api.rs +86 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/arrow_hnsw.rs +388 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/arrow_ipc.rs +301 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/dist.rs +253 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/flatten.rs +129 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/hnsw.rs +1924 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/hnswio.rs +860 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/mod.rs +54 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/prelude.rs +5 -0
- benostreamdb-0.10.0/src/core/index/hnsw_rs/test.rs +292 -0
- benostreamdb-0.10.0/src/core/index/ivf.rs +501 -0
- benostreamdb-0.10.0/src/core/index/memory.rs +384 -0
- benostreamdb-0.10.0/src/core/index/mod.rs +183 -0
- benostreamdb-0.10.0/src/core/index/mps/cosine_distance.metal +41 -0
- benostreamdb-0.10.0/src/core/index/mps/hamming_distance.metal +31 -0
- benostreamdb-0.10.0/src/core/index/mps/hamming_packed.metal +26 -0
- benostreamdb-0.10.0/src/core/index/mps/inner_product.metal +29 -0
- benostreamdb-0.10.0/src/core/index/mps/jaccard_distance.metal +43 -0
- benostreamdb-0.10.0/src/core/index/mps/jaccard_packed.metal +30 -0
- benostreamdb-0.10.0/src/core/index/mps/kmeans_assignment.metal +41 -0
- benostreamdb-0.10.0/src/core/index/mps/l1_distance.metal +29 -0
- benostreamdb-0.10.0/src/core/index/mps/l2_distance.metal +30 -0
- benostreamdb-0.10.0/src/core/index/nvrtc.rs +468 -0
- benostreamdb-0.10.0/src/core/index/pq.rs +325 -0
- benostreamdb-0.10.0/src/core/index/tokenizer.rs +96 -0
- benostreamdb-0.10.0/src/core/index/turboquant.rs +205 -0
- benostreamdb-0.10.0/src/core/index/wgpu_binary_kernel.wgsl +46 -0
- benostreamdb-0.10.0/src/core/index/wgpu_kernel.wgsl +95 -0
- benostreamdb-0.10.0/src/core/license.rs +83 -0
- benostreamdb-0.10.0/src/core/lock.rs +295 -0
- benostreamdb-0.10.0/src/core/maintenance.rs +294 -0
- benostreamdb-0.10.0/src/core/manifest/manager/commit.rs +593 -0
- benostreamdb-0.10.0/src/core/manifest/manager/load.rs +424 -0
- benostreamdb-0.10.0/src/core/manifest/manager/partition.rs +228 -0
- benostreamdb-0.10.0/src/core/manifest/manager/schema.rs +220 -0
- benostreamdb-0.10.0/src/core/manifest/manager.rs +112 -0
- benostreamdb-0.10.0/src/core/manifest/mod.rs +5 -0
- benostreamdb-0.10.0/src/core/manifest/types.rs +1087 -0
- benostreamdb-0.10.0/src/core/memory.rs +247 -0
- benostreamdb-0.10.0/src/core/merge.rs +460 -0
- benostreamdb-0.10.0/src/core/metadata.rs +204 -0
- benostreamdb-0.10.0/src/core/mod.rs +34 -0
- benostreamdb-0.10.0/src/core/nessie.rs +124 -0
- benostreamdb-0.10.0/src/core/planner.rs +1693 -0
- benostreamdb-0.10.0/src/core/puffin.rs +209 -0
- benostreamdb-0.10.0/src/core/query.rs +1228 -0
- benostreamdb-0.10.0/src/core/reader/delete.rs +215 -0
- benostreamdb-0.10.0/src/core/reader/filter.rs +1063 -0
- benostreamdb-0.10.0/src/core/reader/mod.rs +399 -0
- benostreamdb-0.10.0/src/core/reader/scan.rs +1978 -0
- benostreamdb-0.10.0/src/core/resources.rs +479 -0
- benostreamdb-0.10.0/src/core/search/mod.rs +127 -0
- benostreamdb-0.10.0/src/core/search/rrf.rs +73 -0
- benostreamdb-0.10.0/src/core/segment.rs +1206 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/connected_components.rs +250 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/degree_centrality.rs +243 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/drift_search.rs +327 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/graph_neighbors.rs +289 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/jaccard_coefficient.rs +264 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/label_propagation.rs +211 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/louvain_communities.rs +380 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/mod.rs +53 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/modularity.rs +332 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/pagerank.rs +331 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/personalized_pagerank.rs +500 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/preferential_attachment.rs +274 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/shortest_path.rs +311 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/strongly_connected_components.rs +348 -0
- benostreamdb-0.10.0/src/core/sql/graph_udf/subgraph.rs +705 -0
- benostreamdb-0.10.0/src/core/sql/literal/binary.rs +175 -0
- benostreamdb-0.10.0/src/core/sql/literal/dense.rs +92 -0
- benostreamdb-0.10.0/src/core/sql/literal/mod.rs +1595 -0
- benostreamdb-0.10.0/src/core/sql/literal/sparse.rs +110 -0
- benostreamdb-0.10.0/src/core/sql/mod.rs +771 -0
- benostreamdb-0.10.0/src/core/sql/optimizer/config.rs +340 -0
- benostreamdb-0.10.0/src/core/sql/optimizer/index_join.rs +90 -0
- benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/mod.rs +84 -0
- benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/plan_detection.rs +106 -0
- benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/plan_rewriter.rs +118 -0
- benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/sort_expr_parser.rs +357 -0
- benostreamdb-0.10.0/src/core/sql/optimizer.rs +14 -0
- benostreamdb-0.10.0/src/core/sql/partition_rewriter.rs +38 -0
- benostreamdb-0.10.0/src/core/sql/pgvector_rewriter.rs +250 -0
- benostreamdb-0.10.0/src/core/sql/physical_plan/index_join.rs +385 -0
- benostreamdb-0.10.0/src/core/sql/physical_plan/vector_merge.rs +230 -0
- benostreamdb-0.10.0/src/core/sql/physical_plan/vector_scan.rs +256 -0
- benostreamdb-0.10.0/src/core/sql/physical_plan.rs +282 -0
- benostreamdb-0.10.0/src/core/sql/session.rs +164 -0
- benostreamdb-0.10.0/src/core/sql/udf/aggregate.rs +501 -0
- benostreamdb-0.10.0/src/core/sql/udf/distance.rs +722 -0
- benostreamdb-0.10.0/src/core/sql/udf/mod.rs +75 -0
- benostreamdb-0.10.0/src/core/sql/udf/sparse.rs +379 -0
- benostreamdb-0.10.0/src/core/sql/udf/transform.rs +778 -0
- benostreamdb-0.10.0/src/core/sql/vector_literal.rs +5 -0
- benostreamdb-0.10.0/src/core/sql/vector_operators.rs +452 -0
- benostreamdb-0.10.0/src/core/sql/vector_udf/aggregate.rs +356 -0
- benostreamdb-0.10.0/src/core/sql/vector_udf/distance.rs +520 -0
- benostreamdb-0.10.0/src/core/sql/vector_udf/mod.rs +6 -0
- benostreamdb-0.10.0/src/core/sql/vector_udf/sparse.rs +242 -0
- benostreamdb-0.10.0/src/core/sql/vector_udf/transform.rs +515 -0
- benostreamdb-0.10.0/src/core/sql/vector_udf.rs +104 -0
- benostreamdb-0.10.0/src/core/storage.rs +302 -0
- benostreamdb-0.10.0/src/core/table/builder.rs +461 -0
- benostreamdb-0.10.0/src/core/table/catalog.rs +575 -0
- benostreamdb-0.10.0/src/core/table/coordinator.rs +336 -0
- benostreamdb-0.10.0/src/core/table/fluent.rs +96 -0
- benostreamdb-0.10.0/src/core/table/index_config.rs +754 -0
- benostreamdb-0.10.0/src/core/table/ingest.rs +791 -0
- benostreamdb-0.10.0/src/core/table/maintenance.rs +430 -0
- benostreamdb-0.10.0/src/core/table/merge.rs +129 -0
- benostreamdb-0.10.0/src/core/table/mod.rs +731 -0
- benostreamdb-0.10.0/src/core/table/primary_key.rs +867 -0
- benostreamdb-0.10.0/src/core/table/read.rs +1511 -0
- benostreamdb-0.10.0/src/core/table/schema.rs +369 -0
- benostreamdb-0.10.0/src/core/table/state.rs +201 -0
- benostreamdb-0.10.0/src/core/table/stats.rs +833 -0
- benostreamdb-0.10.0/src/core/table/tests.rs +257 -0
- benostreamdb-0.10.0/src/core/table/write.rs +1366 -0
- benostreamdb-0.10.0/src/core/telemetry.rs +26 -0
- benostreamdb-0.10.0/src/core/wal.rs +1040 -0
- benostreamdb-0.10.0/src/enterprise/continuous_indexing.rs +69 -0
- benostreamdb-0.10.0/src/enterprise/mod.rs +6 -0
- benostreamdb-0.10.0/src/lib.rs +346 -0
- benostreamdb-0.10.0/src/lib.rs.orig +311 -0
- benostreamdb-0.10.0/src/python/catalog/glue.rs +71 -0
- benostreamdb-0.10.0/src/python/catalog/hive.rs +75 -0
- benostreamdb-0.10.0/src/python/catalog/jdbc.rs +69 -0
- benostreamdb-0.10.0/src/python/catalog/mod.rs +197 -0
- benostreamdb-0.10.0/src/python/catalog/nessie.rs +76 -0
- benostreamdb-0.10.0/src/python/catalog/rest.rs +66 -0
- benostreamdb-0.10.0/src/python/catalog/unity.rs +59 -0
- benostreamdb-0.10.0/src/python/drift_bindings.rs +56 -0
- benostreamdb-0.10.0/src/python/graph.rs +328 -0
- benostreamdb-0.10.0/src/python/helpers.rs +558 -0
- benostreamdb-0.10.0/src/python/manifest.rs +62 -0
- benostreamdb-0.10.0/src/python/mod.rs +67 -0
- benostreamdb-0.10.0/src/python/schema.rs +220 -0
- benostreamdb-0.10.0/src/python/session.rs +41 -0
- benostreamdb-0.10.0/src/python/stats.rs +103 -0
- benostreamdb-0.10.0/src/python/table.rs +2382 -0
- benostreamdb-0.10.0/src/python_distance.rs +1576 -0
- benostreamdb-0.10.0/src/python_gpu_context.rs +262 -0
- benostreamdb-0.10.0/src/telemetry/metrics.rs +130 -0
- benostreamdb-0.10.0/src/telemetry/mod.rs +4 -0
- benostreamdb-0.10.0/src/telemetry/tracing.rs +123 -0
- benostreamdb-0.10.0/tests/all_types_index_test.rs +122 -0
- benostreamdb-0.10.0/tests/bin/generate_iceberg_manifests.rs +322 -0
- benostreamdb-0.10.0/tests/bin/verify_iceberg_read_check.rs +81 -0
- benostreamdb-0.10.0/tests/data/start_nessie.sh +7 -0
- benostreamdb-0.10.0/tests/datafusion_rust_test.rs +106 -0
- benostreamdb-0.10.0/tests/gpu_test_helpers.rs +16 -0
- benostreamdb-0.10.0/tests/integration_test_csr_graph.rs +101 -0
- benostreamdb-0.10.0/tests/integration_test_hnsw_ivf_native.rs +329 -0
- benostreamdb-0.10.0/tests/python/verify_docstrings.py +109 -0
- benostreamdb-0.10.0/tests/python/verify_fluent_api.py +167 -0
- benostreamdb-0.10.0/tests/python/verify_unified_ingest.py +78 -0
- benostreamdb-0.10.0/tests/read_manifest.rs +23 -0
- benostreamdb-0.10.0/tests/schema_evolution_test.rs +78 -0
- benostreamdb-0.10.0/tests/scratch.rs +22 -0
- benostreamdb-0.10.0/tests/soak.rs +101 -0
- benostreamdb-0.10.0/tests/stability.rs +70 -0
- benostreamdb-0.10.0/tests/stress/README.md +44 -0
- benostreamdb-0.10.0/tests/stress/conftest.py +84 -0
- benostreamdb-0.10.0/tests/verify_admin_cli.sh +20 -0
- benostreamdb-0.10.0/tests/verify_all_algos.py +83 -0
- benostreamdb-0.10.0/tests/verify_catalog_commit.rs +84 -0
- benostreamdb-0.10.0/tests/verify_compliance.rs +23 -0
- benostreamdb-0.10.0/tests/verify_delete_correctness.rs +159 -0
- benostreamdb-0.10.0/tests/verify_iceberg_python_delete.sh +90 -0
- benostreamdb-0.10.0/tests/verify_iceberg_rest.sh +39 -0
- benostreamdb-0.10.0/tests/verify_iceberg_rest_create.sh +52 -0
- benostreamdb-0.10.0/tests/verify_iceberg_rest_delete.sh +108 -0
- benostreamdb-0.10.0/tests/verify_iceberg_rest_remove_index.sh +135 -0
- benostreamdb-0.10.0/tests/verify_iceberg_rest_update.sh +66 -0
- benostreamdb-0.10.0/tests/verify_index_recovery.rs +102 -0
- benostreamdb-0.10.0/tests/verify_metadata_creation.rs +41 -0
- benostreamdb-0.10.0/tests/verify_mor_reads.rs +132 -0
- benostreamdb-0.10.0/tests/verify_mor_writes.rs +86 -0
- benostreamdb-0.10.0/tests/verify_partition_transforms.rs +81 -0
- benostreamdb-0.10.0/tests/verify_partitioned_writes.rs +105 -0
- benostreamdb-0.10.0/tests/verify_puffin_index.sh +85 -0
- benostreamdb-0.10.0/tests/verify_rest_updates.sh +47 -0
- benostreamdb-0.10.0/tests/verify_schema_compat.rs +415 -0
- benostreamdb-0.10.0/trino-benostreamdb/pom.xml +114 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBColumnHandle.java +25 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBConnectorFactory.java +57 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBJNIBridge.java +27 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBMetadata.java +116 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBPageSource.java +176 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBPageSourceProvider.java +25 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBPlugin.java +12 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBSplit.java +48 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBSplitManager.java +104 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBTableHandle.java +41 -0
- benostreamdb-0.10.0/trino-benostreamdb/src/test/java/com/benostreamdb/trino/TrinoConnectorTest.java +306 -0
- benostreamdb-0.10.0/trino-config/.DS_Store +0 -0
- benostreamdb-0.10.0/trino-config/catalog/benostreamdb.properties +5 -0
- benostreamdb-0.10.0/trino-config/catalog/glue_catalog.properties +13 -0
- benostreamdb-0.10.0/trino-config/catalog/iceberg.properties +15 -0
- benostreamdb-0.10.0/trino-config/catalog/iceberg_hive.properties +11 -0
- benostreamdb-0.10.0/trino-config/catalog/memory.properties +1 -0
- benostreamdb-0.10.0/trino-config/catalog/postgres.properties +4 -0
- benostreamdb-0.10.0/trino-config/config.properties +9 -0
- benostreamdb-0.10.0/trino-config/entrypoint.sh +45 -0
- benostreamdb-0.10.0/trino-config/jvm.config +11 -0
- benostreamdb-0.10.0/trino-config/node.properties +3 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Cargo Audit Configuration
|
|
2
|
+
# https://github.com/rustsec/rustsec/tree/main/cargo-audit
|
|
3
|
+
|
|
4
|
+
[advisories]
|
|
5
|
+
ignore = [
|
|
6
|
+
# Transitive dependencies & existing ignores
|
|
7
|
+
"RUSTSEC-2026-0104", # rustls-webpki: CRL panic
|
|
8
|
+
"RUSTSEC-2026-0099", # rustls-webpki: wildcard name constraints
|
|
9
|
+
"RUSTSEC-2026-0098", # rustls-webpki: URI name constraints
|
|
10
|
+
"RUSTSEC-2026-0097", # rand: unsound with custom logger
|
|
11
|
+
"RUSTSEC-2024-0437", # protobuf: uncontrolled recursion
|
|
12
|
+
"RUSTSEC-2026-0177", # pyo3: missing Sync bound
|
|
13
|
+
"RUSTSEC-2026-0176", # pyo3: out-of-bounds read in iterator
|
|
14
|
+
"RUSTSEC-2023-0071", # rsa: Marvin attack
|
|
15
|
+
"RUSTSEC-2026-0258", # h2: unbounded empty DATA frames
|
|
16
|
+
"RUSTSEC-2026-0195", # quick-xml: unbounded namespace allocation
|
|
17
|
+
"RUSTSEC-2026-0194", # quick-xml: quadratic run time in duplicate attribute check
|
|
18
|
+
"RUSTSEC-2025-0134", # rustls-pemfile: unmaintained advisory
|
|
19
|
+
"RUSTSEC-2026-0190", # anyhow: Error::downcast_mut unsoundness
|
|
20
|
+
"RUSTSEC-2026-0221", # event-listener: !Send tags across thread boundaries
|
|
21
|
+
"RUSTSEC-2026-0204", # crossbeam-epoch: pointer dereference
|
|
22
|
+
"RUSTSEC-2026-0234", # rkyv: hash table out of bounds
|
|
23
|
+
"RUSTSEC-2026-0233", # rkyv: use-after-free
|
|
24
|
+
"RUSTSEC-2026-0235", # rkyv: Rc/Arc out of bounds
|
|
25
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# BenoStreamDB Environment Configuration
|
|
2
|
+
# Copy this file to .env and fill in your credentials.
|
|
3
|
+
# DO NOT commit .env to version control.
|
|
4
|
+
|
|
5
|
+
# -------------------------------------------------------
|
|
6
|
+
# MinIO (S3-compatible object storage)
|
|
7
|
+
# -------------------------------------------------------
|
|
8
|
+
MINIO_ROOT_USER=minioadmin
|
|
9
|
+
MINIO_ROOT_PASSWORD=minioadmin
|
|
10
|
+
|
|
11
|
+
# -------------------------------------------------------
|
|
12
|
+
# Nessie PostgreSQL backend
|
|
13
|
+
# -------------------------------------------------------
|
|
14
|
+
NESSIE_POSTGRES_DB=nessie
|
|
15
|
+
NESSIE_POSTGRES_USER=nessie
|
|
16
|
+
NESSIE_POSTGRES_PASSWORD=nessie
|
|
17
|
+
|
|
18
|
+
# -------------------------------------------------------
|
|
19
|
+
# S3 credentials (used by Nessie catalog and Trino)
|
|
20
|
+
# These should match the MinIO root user/password above
|
|
21
|
+
# unless you are using a separate S3-compatible service.
|
|
22
|
+
# -------------------------------------------------------
|
|
23
|
+
S3_ACCESS_KEY=minioadmin
|
|
24
|
+
S3_SECRET_KEY=minioadmin
|
|
25
|
+
S3_ENDPOINT=http://minio:9000
|
|
26
|
+
S3_REGION=us-east-1
|
|
27
|
+
|
|
28
|
+
# -------------------------------------------------------
|
|
29
|
+
# Trino S3 credentials (for iceberg/benostreamdb catalogs)
|
|
30
|
+
# -------------------------------------------------------
|
|
31
|
+
TRINO_S3_ACCESS_KEY=minioadmin
|
|
32
|
+
TRINO_S3_SECRET_KEY=minioadmin
|
|
33
|
+
|
|
34
|
+
# -------------------------------------------------------
|
|
35
|
+
# Trino PostgreSQL catalog credentials
|
|
36
|
+
# -------------------------------------------------------
|
|
37
|
+
TRINO_PG_CONNECTION_PASSWORD=indie
|
|
38
|
+
|
|
39
|
+
# -------------------------------------------------------
|
|
40
|
+
# External database connection (used by Trino entrypoint)
|
|
41
|
+
# -------------------------------------------------------
|
|
42
|
+
PG_CONN_RW=
|
|
43
|
+
|
|
44
|
+
# -------------------------------------------------------
|
|
45
|
+
# API keys (add as needed for your deployment)
|
|
46
|
+
# -------------------------------------------------------
|
|
47
|
+
# AWS_ACCESS_KEY_ID=
|
|
48
|
+
# AWS_SECRET_ACCESS_KEY=
|
|
49
|
+
# AZURE_STORAGE_ACCOUNT=
|
|
50
|
+
# AZURE_STORAGE_KEY=
|
|
51
|
+
# GCS_SERVICE_ACCOUNT_KEY=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*.so binary=true
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# ── Rust ────────────────────────────────────────────────────────────────────
|
|
2
|
+
target/
|
|
3
|
+
**/*.rs.bk
|
|
4
|
+
|
|
5
|
+
# ── Python ──────────────────────────────────────────────────────────────────
|
|
6
|
+
__pycache__/
|
|
7
|
+
*.py[cod]
|
|
8
|
+
*$py.class
|
|
9
|
+
.venv/
|
|
10
|
+
.venv_iceberg/
|
|
11
|
+
.venv-cuda-shims/
|
|
12
|
+
venv/
|
|
13
|
+
venv_verify/
|
|
14
|
+
venv_demo/
|
|
15
|
+
test_venv/
|
|
16
|
+
!venv/requirements.txt
|
|
17
|
+
!venv/.gitkeep
|
|
18
|
+
*.egg-info/
|
|
19
|
+
|
|
20
|
+
# Compiled Python extension (built by `maturin develop`)
|
|
21
|
+
python/**/*.so
|
|
22
|
+
python/**/*.pyd
|
|
23
|
+
python/**/*.dylib
|
|
24
|
+
|
|
25
|
+
# ── IDE / editor / tooling ──────────────────────────────────────────────────
|
|
26
|
+
.vscode/
|
|
27
|
+
.idea/
|
|
28
|
+
.metals/
|
|
29
|
+
.continue/
|
|
30
|
+
.qwen/
|
|
31
|
+
.agents/
|
|
32
|
+
|
|
33
|
+
# ── Compiled native binaries / debug symbols ────────────────────────────────
|
|
34
|
+
*.dylib
|
|
35
|
+
*.dSYM/
|
|
36
|
+
*.so
|
|
37
|
+
*.dll
|
|
38
|
+
*.exe
|
|
39
|
+
test_pgvector_sql_integration
|
|
40
|
+
scratch_mem_test
|
|
41
|
+
|
|
42
|
+
# ── BenoStream data artifacts ───────────────────────────────────────────────
|
|
43
|
+
*.parquet
|
|
44
|
+
*.idx
|
|
45
|
+
*.hnsw.graph
|
|
46
|
+
*.hnsw.data
|
|
47
|
+
*.del
|
|
48
|
+
_manifest/
|
|
49
|
+
_metadata/
|
|
50
|
+
test_admin_table/
|
|
51
|
+
test_explain_db/
|
|
52
|
+
test_ingestion_db/
|
|
53
|
+
test_ingestion_perf_db/
|
|
54
|
+
test_lancedb_ingestion_perf_db/
|
|
55
|
+
|
|
56
|
+
# ── Local toolchain downloads (Maven/JDK fetched by build-connectors.sh) ────
|
|
57
|
+
.java/
|
|
58
|
+
.maven/
|
|
59
|
+
|
|
60
|
+
# ── Local vector DBs, scratch data & generated artifacts ────────────────────
|
|
61
|
+
rag_db/
|
|
62
|
+
news_db/
|
|
63
|
+
data/
|
|
64
|
+
docker/data/
|
|
65
|
+
benchmarks/competitive/data/
|
|
66
|
+
hsdbg_bench_data/
|
|
67
|
+
connector-artifacts/
|
|
68
|
+
dist/
|
|
69
|
+
benchmark_results/
|
|
70
|
+
trino-benostream/src/main/resources/libbenostreamdb.so
|
|
71
|
+
spark-benostream/src/main/resources/libbenostreamdb.so
|
|
72
|
+
|
|
73
|
+
# ── Documentation build output (Sphinx) ─────────────────────────────────────
|
|
74
|
+
docs/build/
|
|
75
|
+
|
|
76
|
+
# ── Build / test logs & scratch ─────────────────────────────────────────────
|
|
77
|
+
# Run logs are written here (see docs/BENCHMARKING.md), never committed.
|
|
78
|
+
logs/
|
|
79
|
+
*.log
|
|
80
|
+
*.pid
|
|
81
|
+
*.patch
|
|
82
|
+
dhat-heap.json
|
|
83
|
+
build_errors*.txt
|
|
84
|
+
check_output.txt
|
|
85
|
+
rust_test_output*.log
|
|
86
|
+
python_test_output*.log
|
|
87
|
+
python_feature_test_output*.log
|
|
88
|
+
test_output*.txt
|
|
89
|
+
*_output.txt
|
|
90
|
+
mem_report.txt
|
|
91
|
+
benchmark_raw.json
|
|
92
|
+
benchmarks/competitive/venv/
|
|
93
|
+
|
|
94
|
+
# ── Test caches ─────────────────────────────────────────────────────────────
|
|
95
|
+
.hypothesis/
|
|
96
|
+
.pytest_cache/
|
|
97
|
+
.ipynb_checkpoints/
|
|
98
|
+
|
|
99
|
+
# ── Local secrets — never commit ────────────────────────────────────────────
|
|
100
|
+
.streamlit/secrets.toml
|
|
101
|
+
.streamlit/config.toml
|
|
102
|
+
.env
|
|
103
|
+
.env.local
|
|
104
|
+
groq_api_key.txt
|
|
105
|
+
|
|
106
|
+
# ── Ad-hoc local scripts & scratch (not part of the repo) ───────────────────
|
|
107
|
+
scratch*.rs
|
|
108
|
+
/test
|
|
109
|
+
test.rs
|
|
110
|
+
test_avro.py
|
|
111
|
+
test_investigate.py
|
|
112
|
+
test_mmap.py
|
|
113
|
+
test_vectors.py
|
|
114
|
+
debug_read*.py
|
|
115
|
+
patch_*.py
|
|
116
|
+
patch_*.sh
|
|
117
|
+
fix_*.py
|
|
118
|
+
extract_comments.py
|
|
119
|
+
analyze_comments.py
|
|
120
|
+
all_comments.txt
|
|
121
|
+
interesting_comments.txt
|
|
122
|
+
user_msg.txt
|
|
123
|
+
measure_disk.py
|
|
124
|
+
parse_dhat.py
|
|
125
|
+
populate.py
|
|
126
|
+
run_*.sh
|
|
127
|
+
test_bench.sh
|
|
128
|
+
bench_*.py
|
|
129
|
+
run_benchmark.py
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# BenoStreamDB Development Guidelines
|
|
2
|
+
|
|
3
|
+
**Foundation:** These guidelines are rooted in [The Pragmatic Programmer](https://pragprog.com/) principles.
|
|
4
|
+
|
|
5
|
+
## Core BenoStreamDB Principles
|
|
6
|
+
|
|
7
|
+
### Code Quality
|
|
8
|
+
- **Always attempt to fix warnings if possible** - Don't ignore compiler warnings; resolve them during implementation (Aligns with: Don't Live with Broken Windows #4)
|
|
9
|
+
- Use proper error handling instead of silencing warnings
|
|
10
|
+
- Maintain clean build output (zero clippy warnings)
|
|
11
|
+
- Type safety is paramount
|
|
12
|
+
- Refactor early and often as code is written
|
|
13
|
+
|
|
14
|
+
### Versioning & Releases
|
|
15
|
+
- Version numbers are injected from git tags during build
|
|
16
|
+
- `Cargo.toml` and `pyproject.toml` use dynamic versioning from `build.rs`
|
|
17
|
+
- Tag format: `v0.X.Y` (e.g., `v0.1.2`)
|
|
18
|
+
- All releases should be tagged and pushed with comprehensive release notes
|
|
19
|
+
|
|
20
|
+
### Licensing & Attribution
|
|
21
|
+
- Apache 2.0 / MIT dual license
|
|
22
|
+
- Properly attribute optimizations borrowed from iceberg-rust or other Apache-licensed projects
|
|
23
|
+
- Maintain THIRDPARTY_NOTICES.md with all third-party code usage
|
|
24
|
+
- Include inline code comments for borrowed patterns
|
|
25
|
+
|
|
26
|
+
### API Design
|
|
27
|
+
- Use native Rust names (PascalCase for types: `Cosine`, `L2`, `InnerProduct`)
|
|
28
|
+
- Python API uses lowercase for user-facing functions: `metric="cosine"`
|
|
29
|
+
- Support both primary parameter names and backward-compatible aliases
|
|
30
|
+
- Document all vector distance functions and index parameters
|
|
31
|
+
|
|
32
|
+
### Testing & Validation
|
|
33
|
+
- Unit tests required for new optimizer rules and query optimizations (Aligns with: Design to Test #20, Test Your Software #21)
|
|
34
|
+
- Explain() output should show correct index usage and query strategy
|
|
35
|
+
- Test suite must pass before any release tagging (Aligns with: Make Quality a Requirements Issue #7)
|
|
36
|
+
- Performance benchmarks are part of testing, not optional extras
|
|
37
|
+
- Integration tests for query planning changes
|
|
38
|
+
- Run full test suite before tagging releases
|
|
39
|
+
- Verify explain() output shows correct index detection
|
|
40
|
+
|
|
41
|
+
### Packaging
|
|
42
|
+
- Exclude build artifacts, virtual environments from Cargo.toml (Aligns with: Make It Easy to Reuse #11)
|
|
43
|
+
- Ensure PyPI builds succeed without external dependencies
|
|
44
|
+
- Test `maturin develop --release` before release tagging
|
|
45
|
+
- Dynamic versioning from git tags (build.rs injection)
|
|
46
|
+
|
|
47
|
+
## Current Focus Areas
|
|
48
|
+
|
|
49
|
+
### Hybrid Query Optimization
|
|
50
|
+
- Support multiple vector columns with ordering
|
|
51
|
+
- Compound primary key detection for automatic hybrid search
|
|
52
|
+
- Vector search always runs after scalar filters (push-down)
|
|
53
|
+
- Proper explain() output showing both scalar and vector execution
|
|
54
|
+
- Use tracer bullets: Implement end-to-end before perfecting details (Aligns with: Use Tracer Bullets #14)
|
|
55
|
+
|
|
56
|
+
### Iceberg-Rust Optimizations
|
|
57
|
+
- LIMIT pushdown to file scanning layer
|
|
58
|
+
- Row group skipping based on column statistics
|
|
59
|
+
- Manifest metadata caching for performance
|
|
60
|
+
- Predicate pushdown improvements
|
|
61
|
+
- Properly attribute all borrowed code patterns (Aligns with: Communicate! #9, Make It Easy to Reuse #11)
|
|
62
|
+
|
|
63
|
+
### Observability & Debugging
|
|
64
|
+
- Structured tracing via `tracing` crate (no println!) (Aligns with: Program Close to Problem Domain #16)
|
|
65
|
+
- Proper log levels (debug, info, warn, error)
|
|
66
|
+
- Explain query plans for user visibility (Aligns with: Use Tracer Bullets #14)
|
|
67
|
+
- Document query strategy through explain() output
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Normalize every historical author/committer to the project owner.
|
|
2
|
+
Rick Albright <rla3rd@gmail.com> <rick@hyperstreamdb.com>
|
|
3
|
+
Rick Albright <rla3rd@gmail.com> <ralbright@verityplatform.com>
|
|
4
|
+
Rick Albright <rla3rd@gmail.com> <ralbright@google.com>
|
|
5
|
+
Rick Albright <rla3rd@gmail.com> <rla3rd@users.noreply.github.com>
|
|
6
|
+
Rick Albright <rla3rd@gmail.com> <rla3rd@gmail.com>
|
|
Binary file
|