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.
Files changed (419) hide show
  1. benostreamdb-0.10.0/.cargo/audit.toml +25 -0
  2. benostreamdb-0.10.0/.dockerignore +16 -0
  3. benostreamdb-0.10.0/.env.example +51 -0
  4. benostreamdb-0.10.0/.gitattributes +1 -0
  5. benostreamdb-0.10.0/.gitignore +129 -0
  6. benostreamdb-0.10.0/.instructions.md +67 -0
  7. benostreamdb-0.10.0/.mailmap +6 -0
  8. benostreamdb-0.10.0/BenoStreamDB.png +0 -0
  9. benostreamdb-0.10.0/CHANGELOG.md +1093 -0
  10. benostreamdb-0.10.0/CNAME +1 -0
  11. benostreamdb-0.10.0/CONTRIBUTING.md +254 -0
  12. benostreamdb-0.10.0/Cargo.lock +8751 -0
  13. benostreamdb-0.10.0/Cargo.toml +228 -0
  14. benostreamdb-0.10.0/Dockerfile +109 -0
  15. benostreamdb-0.10.0/LICENSE-APACHE +201 -0
  16. benostreamdb-0.10.0/LICENSE-MIT +21 -0
  17. benostreamdb-0.10.0/NOTICE +17 -0
  18. benostreamdb-0.10.0/PKG-INFO +784 -0
  19. benostreamdb-0.10.0/README.md +736 -0
  20. benostreamdb-0.10.0/SECURITY.md +95 -0
  21. benostreamdb-0.10.0/THIRDPARTY_NOTICES.md +59 -0
  22. benostreamdb-0.10.0/audit.toml +35 -0
  23. benostreamdb-0.10.0/book.toml +10 -0
  24. benostreamdb-0.10.0/build-connectors.sh +124 -0
  25. benostreamdb-0.10.0/build.rs +54 -0
  26. benostreamdb-0.10.0/business_plan/01_market_and_competitive_landscape.md +210 -0
  27. benostreamdb-0.10.0/business_plan/02_commercialization_and_monetization.md +104 -0
  28. benostreamdb-0.10.0/business_plan/03_financial_model_and_unit_economics.md +63 -0
  29. benostreamdb-0.10.0/business_plan/04_technical_architecture_and_ingestion.md +227 -0
  30. benostreamdb-0.10.0/business_plan/05_sec_edgar_taxonomy_and_graph_rag.md +388 -0
  31. benostreamdb-0.10.0/business_plan/06_roadmap_and_milestones.md +232 -0
  32. benostreamdb-0.10.0/business_plan/COMMERCIALIZATION_STRATEGY.md +479 -0
  33. benostreamdb-0.10.0/business_plan/README.md +90 -0
  34. benostreamdb-0.10.0/business_plan/paper/paper.aux +28 -0
  35. benostreamdb-0.10.0/business_plan/paper/paper.out +22 -0
  36. benostreamdb-0.10.0/business_plan/paper/paper.pdf +0 -0
  37. benostreamdb-0.10.0/business_plan/paper/paper.tex +110 -0
  38. benostreamdb-0.10.0/business_plan/paper/paper_outline.md +47 -0
  39. benostreamdb-0.10.0/business_plan.md +855 -0
  40. benostreamdb-0.10.0/clippy.toml +17 -0
  41. benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/__init__.py +12 -0
  42. benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/__version__.py +1 -0
  43. benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/connections.py +85 -0
  44. benostreamdb-0.10.0/dbt-benostreamdb/dbt/adapters/benostreamdb/impl.py +97 -0
  45. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/__init__.py +3 -0
  46. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/dbt_project.yml +5 -0
  47. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/adapters.sql +90 -0
  48. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/graph.sql +224 -0
  49. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/materializations/incremental.sql +108 -0
  50. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/materializations/table.sql +16 -0
  51. benostreamdb-0.10.0/dbt-benostreamdb/dbt/include/benostreamdb/macros/vector.sql +89 -0
  52. benostreamdb-0.10.0/dbt-benostreamdb/setup.py +34 -0
  53. benostreamdb-0.10.0/deny.toml +63 -0
  54. benostreamdb-0.10.0/docker-compose-hive.yml +104 -0
  55. benostreamdb-0.10.0/docker-compose-minio-nessie.yml +135 -0
  56. benostreamdb-0.10.0/docker-compose.production.yml +116 -0
  57. benostreamdb-0.10.0/docker-compose.yml +153 -0
  58. benostreamdb-0.10.0/docs/.nojekyll +0 -0
  59. benostreamdb-0.10.0/docs/ADMIN_CLI.md +59 -0
  60. benostreamdb-0.10.0/docs/BENCHMARKING.md +72 -0
  61. benostreamdb-0.10.0/docs/CONCURRENCY.md +57 -0
  62. benostreamdb-0.10.0/docs/CONFIGURATION.md +510 -0
  63. benostreamdb-0.10.0/docs/GPU_SETUP_GUIDE.md +467 -0
  64. benostreamdb-0.10.0/docs/ICEBERG_V2_V3_API.md +239 -0
  65. benostreamdb-0.10.0/docs/INSTALLATION.md +707 -0
  66. benostreamdb-0.10.0/docs/NO_PANIC_POLICY.md +139 -0
  67. benostreamdb-0.10.0/docs/OPENSEARCH_COMPATIBILITY.md +250 -0
  68. benostreamdb-0.10.0/docs/PGVECTOR_SQL_GUIDE.md +738 -0
  69. benostreamdb-0.10.0/docs/PYTHON_VECTOR_API.md +956 -0
  70. benostreamdb-0.10.0/docs/QDRANT_COMPATIBILITY.md +152 -0
  71. benostreamdb-0.10.0/docs/RESOURCE_LIMITS.md +165 -0
  72. benostreamdb-0.10.0/docs/ROADMAP.md +807 -0
  73. benostreamdb-0.10.0/docs/architecture.md +75 -0
  74. benostreamdb-0.10.0/docs/catalog_usage.md +336 -0
  75. benostreamdb-0.10.0/docs/graph_rag_edge_tables.md +308 -0
  76. benostreamdb-0.10.0/docs/index.md +17 -0
  77. benostreamdb-0.10.0/docs/integrations/README.md +8 -0
  78. benostreamdb-0.10.0/docs/integrations/java_jni.md +34 -0
  79. benostreamdb-0.10.0/docs/integrations/python.md +110 -0
  80. benostreamdb-0.10.0/docs/integrations/spark.md +42 -0
  81. benostreamdb-0.10.0/docs/integrations/trino.md +43 -0
  82. benostreamdb-0.10.0/docs/monitoring.md +57 -0
  83. benostreamdb-0.10.0/docs/requirements.txt +10 -0
  84. benostreamdb-0.10.0/docs/source/_static/BenoStreamDB.png +0 -0
  85. benostreamdb-0.10.0/docs/source/api/python.rst +40 -0
  86. benostreamdb-0.10.0/docs/source/api/rust.rst +11 -0
  87. benostreamdb-0.10.0/docs/source/conf.py +94 -0
  88. benostreamdb-0.10.0/docs/source/guides/admin_cli.md +59 -0
  89. benostreamdb-0.10.0/docs/source/guides/architecture.md +75 -0
  90. benostreamdb-0.10.0/docs/source/guides/benchmarking.md +72 -0
  91. benostreamdb-0.10.0/docs/source/guides/catalog_usage.md +336 -0
  92. benostreamdb-0.10.0/docs/source/guides/concurrency.md +57 -0
  93. benostreamdb-0.10.0/docs/source/guides/configuration.md +510 -0
  94. benostreamdb-0.10.0/docs/source/guides/gpu_setup_guide.md +467 -0
  95. benostreamdb-0.10.0/docs/source/guides/graph_rag_edge_tables.md +308 -0
  96. benostreamdb-0.10.0/docs/source/guides/iceberg_v2_v3_api.md +239 -0
  97. benostreamdb-0.10.0/docs/source/guides/installation.md +707 -0
  98. benostreamdb-0.10.0/docs/source/guides/monitoring.md +57 -0
  99. benostreamdb-0.10.0/docs/source/guides/no_panic_policy.md +139 -0
  100. benostreamdb-0.10.0/docs/source/guides/opensearch_compatibility.md +250 -0
  101. benostreamdb-0.10.0/docs/source/guides/pgvector_sql_guide.md +738 -0
  102. benostreamdb-0.10.0/docs/source/guides/python_vector_api.md +956 -0
  103. benostreamdb-0.10.0/docs/source/guides/qdrant_compatibility.md +152 -0
  104. benostreamdb-0.10.0/docs/source/guides/resource_limits.md +165 -0
  105. benostreamdb-0.10.0/docs/source/guides/roadmap.md +807 -0
  106. benostreamdb-0.10.0/docs/source/index.rst +61 -0
  107. benostreamdb-0.10.0/hive-config/hive-site.xml +75 -0
  108. benostreamdb-0.10.0/marketing_site/index.html +365 -0
  109. benostreamdb-0.10.0/marketing_site/styles.css +793 -0
  110. benostreamdb-0.10.0/proptest-regressions/core/index/gpu.txt +9 -0
  111. benostreamdb-0.10.0/proptest-regressions/core/sql/vector_literal.txt +10 -0
  112. benostreamdb-0.10.0/proptest-regressions/core/sql/vector_udf.txt +8 -0
  113. benostreamdb-0.10.0/pyproject.toml +75 -0
  114. benostreamdb-0.10.0/python/benostreamdb/__init__.py +2747 -0
  115. benostreamdb-0.10.0/python/benostreamdb/cli.py +225 -0
  116. benostreamdb-0.10.0/python/benostreamdb/embeddings.py +98 -0
  117. benostreamdb-0.10.0/rust-toolchain.toml +11 -0
  118. benostreamdb-0.10.0/scripts/ai_pr_review.py +207 -0
  119. benostreamdb-0.10.0/scripts/build_demo_dataset.py +369 -0
  120. benostreamdb-0.10.0/scripts/download_wiki_dumps.py +131 -0
  121. benostreamdb-0.10.0/scripts/no_panic_baseline.txt +1 -0
  122. benostreamdb-0.10.0/scripts/no_panic_check.sh +138 -0
  123. benostreamdb-0.10.0/scripts/prepare_demo.py +640 -0
  124. benostreamdb-0.10.0/scripts/services/README.md +76 -0
  125. benostreamdb-0.10.0/scripts/services/benostream-search-runner.sh +13 -0
  126. benostreamdb-0.10.0/scripts/services/benostream-search.conf +35 -0
  127. benostreamdb-0.10.0/scripts/services/benostream-search.service +16 -0
  128. benostreamdb-0.10.0/scripts/services/com.benostreamdb.search.plist +21 -0
  129. benostreamdb-0.10.0/scripts/services/install.sh +75 -0
  130. benostreamdb-0.10.0/scripts/services/uninstall.sh +49 -0
  131. benostreamdb-0.10.0/spark-benostreamdb/.bloop/bloop.settings.json +16 -0
  132. benostreamdb-0.10.0/spark-benostreamdb/.bloop/spark-benostreamdb-test.json +2872 -0
  133. benostreamdb-0.10.0/spark-benostreamdb/.bloop/spark-benostreamdb.json +2871 -0
  134. benostreamdb-0.10.0/spark-benostreamdb/pom.xml +242 -0
  135. benostreamdb-0.10.0/spark-benostreamdb/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister +1 -0
  136. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamMergeBuilder.scala +17 -0
  137. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamPositionDeltaWrite.scala +27 -0
  138. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamPositionDeltaWriterFactory.scala +78 -0
  139. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamRowLevelOperation.scala +37 -0
  140. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamScanBuilder.scala +48 -0
  141. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamTable.scala +53 -0
  142. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/BenoStreamWriteBuilder.scala +16 -0
  143. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/DefaultSource.scala +46 -0
  144. benostreamdb-0.10.0/spark-benostreamdb/src/main/scala/com/benostreamdb/spark/jni/BenoStreamJNIBridge.scala +42 -0
  145. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/BenoStreamCatalog.scala +38 -0
  146. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/procedures/AddIndexProcedure.scala +40 -0
  147. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/procedures/BuildIndexProcedure.scala +36 -0
  148. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-3/com/benostreamdb/spark/procedures/SetPrimaryKeyProcedure.scala +39 -0
  149. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/BenoStreamCatalog.scala +49 -0
  150. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/procedures/AddIndexProcedure.scala +33 -0
  151. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/procedures/BuildIndexProcedure.scala +31 -0
  152. benostreamdb-0.10.0/spark-benostreamdb/src/main/spark-4/com/benostreamdb/spark/procedures/SetPrimaryKeyProcedure.scala +31 -0
  153. benostreamdb-0.10.0/spark-benostreamdb/src/test/scala/com/benostreamdb/spark/SparkMergeIntegrationTest.scala +101 -0
  154. benostreamdb-0.10.0/src/bin/brute.rs +10 -0
  155. benostreamdb-0.10.0/src/bin/bsdb-admin.rs +113 -0
  156. benostreamdb-0.10.0/src/bin/bsdb.rs +367 -0
  157. benostreamdb-0.10.0/src/bin/dump_test.rs +33 -0
  158. benostreamdb-0.10.0/src/bin/gateway.rs +259 -0
  159. benostreamdb-0.10.0/src/bin/iceberg_rest.rs +925 -0
  160. benostreamdb-0.10.0/src/bin/ingest_wikipedia.rs +232 -0
  161. benostreamdb-0.10.0/src/bin/probe_datafusion.rs +7 -0
  162. benostreamdb-0.10.0/src/bin/scratch.rs +21 -0
  163. benostreamdb-0.10.0/src/bin/setup_test_data.rs +39 -0
  164. benostreamdb-0.10.0/src/bin/verify_layered_indexing.rs +251 -0
  165. benostreamdb-0.10.0/src/core/algorithms/connected_components.rs +183 -0
  166. benostreamdb-0.10.0/src/core/algorithms/frontier.rs +172 -0
  167. benostreamdb-0.10.0/src/core/algorithms/label_propagation.rs +128 -0
  168. benostreamdb-0.10.0/src/core/algorithms/mod.rs +4 -0
  169. benostreamdb-0.10.0/src/core/algorithms/topological_sort.rs +97 -0
  170. benostreamdb-0.10.0/src/core/cache.rs +578 -0
  171. benostreamdb-0.10.0/src/core/catalog/config.rs +55 -0
  172. benostreamdb-0.10.0/src/core/catalog/glue.rs +287 -0
  173. benostreamdb-0.10.0/src/core/catalog/hive.rs +267 -0
  174. benostreamdb-0.10.0/src/core/catalog/jdbc.rs +207 -0
  175. benostreamdb-0.10.0/src/core/catalog/mod.rs +203 -0
  176. benostreamdb-0.10.0/src/core/catalog/nessie.rs +429 -0
  177. benostreamdb-0.10.0/src/core/catalog/rest.rs +401 -0
  178. benostreamdb-0.10.0/src/core/catalog/unity.rs +249 -0
  179. benostreamdb-0.10.0/src/core/clustering.rs +209 -0
  180. benostreamdb-0.10.0/src/core/compaction.rs +883 -0
  181. benostreamdb-0.10.0/src/core/embeddings.rs +179 -0
  182. benostreamdb-0.10.0/src/core/error.rs +403 -0
  183. benostreamdb-0.10.0/src/core/ffi.rs +878 -0
  184. benostreamdb-0.10.0/src/core/iceberg/delete.rs +635 -0
  185. benostreamdb-0.10.0/src/core/iceberg/iceberg_delete.rs +211 -0
  186. benostreamdb-0.10.0/src/core/iceberg/manifest.rs +500 -0
  187. benostreamdb-0.10.0/src/core/iceberg/mod.rs +48 -0
  188. benostreamdb-0.10.0/src/core/iceberg/schema.rs +195 -0
  189. benostreamdb-0.10.0/src/core/iceberg/transform.rs +446 -0
  190. benostreamdb-0.10.0/src/core/iceberg/types.rs +98 -0
  191. benostreamdb-0.10.0/src/core/iceberg/value.rs +225 -0
  192. benostreamdb-0.10.0/src/core/iceberg/writer.rs +1064 -0
  193. benostreamdb-0.10.0/src/core/index/analyzer.rs +82 -0
  194. benostreamdb-0.10.0/src/core/index/bm25.rs +142 -0
  195. benostreamdb-0.10.0/src/core/index/build_graph.rs +124 -0
  196. benostreamdb-0.10.0/src/core/index/build_inverted.rs +1172 -0
  197. benostreamdb-0.10.0/src/core/index/build_vector.rs +125 -0
  198. benostreamdb-0.10.0/src/core/index/csr_graph.rs +230 -0
  199. benostreamdb-0.10.0/src/core/index/cuda/cosine_distance.cu +61 -0
  200. benostreamdb-0.10.0/src/core/index/cuda/hamming_distance.cu +43 -0
  201. benostreamdb-0.10.0/src/core/index/cuda/hamming_packed.cu +28 -0
  202. benostreamdb-0.10.0/src/core/index/cuda/inner_product.cu +40 -0
  203. benostreamdb-0.10.0/src/core/index/cuda/jaccard_distance.cu +64 -0
  204. benostreamdb-0.10.0/src/core/index/cuda/jaccard_packed.cu +41 -0
  205. benostreamdb-0.10.0/src/core/index/cuda/kmeans_assignment.cu +33 -0
  206. benostreamdb-0.10.0/src/core/index/cuda/l1_distance.cu +40 -0
  207. benostreamdb-0.10.0/src/core/index/cuda/l2_distance.cu +40 -0
  208. benostreamdb-0.10.0/src/core/index/distance.rs +834 -0
  209. benostreamdb-0.10.0/src/core/index/gpu.rs +1550 -0
  210. benostreamdb-0.10.0/src/core/index/hnsw_ivf.rs +2154 -0
  211. benostreamdb-0.10.0/src/core/index/hnsw_rs/LICENSE-APACHE +201 -0
  212. benostreamdb-0.10.0/src/core/index/hnsw_rs/LICENSE-MIT +21 -0
  213. benostreamdb-0.10.0/src/core/index/hnsw_rs/annhdf5.rs +218 -0
  214. benostreamdb-0.10.0/src/core/index/hnsw_rs/api.rs +86 -0
  215. benostreamdb-0.10.0/src/core/index/hnsw_rs/arrow_hnsw.rs +388 -0
  216. benostreamdb-0.10.0/src/core/index/hnsw_rs/arrow_ipc.rs +301 -0
  217. benostreamdb-0.10.0/src/core/index/hnsw_rs/dist.rs +253 -0
  218. benostreamdb-0.10.0/src/core/index/hnsw_rs/flatten.rs +129 -0
  219. benostreamdb-0.10.0/src/core/index/hnsw_rs/hnsw.rs +1924 -0
  220. benostreamdb-0.10.0/src/core/index/hnsw_rs/hnswio.rs +860 -0
  221. benostreamdb-0.10.0/src/core/index/hnsw_rs/mod.rs +54 -0
  222. benostreamdb-0.10.0/src/core/index/hnsw_rs/prelude.rs +5 -0
  223. benostreamdb-0.10.0/src/core/index/hnsw_rs/test.rs +292 -0
  224. benostreamdb-0.10.0/src/core/index/ivf.rs +501 -0
  225. benostreamdb-0.10.0/src/core/index/memory.rs +384 -0
  226. benostreamdb-0.10.0/src/core/index/mod.rs +183 -0
  227. benostreamdb-0.10.0/src/core/index/mps/cosine_distance.metal +41 -0
  228. benostreamdb-0.10.0/src/core/index/mps/hamming_distance.metal +31 -0
  229. benostreamdb-0.10.0/src/core/index/mps/hamming_packed.metal +26 -0
  230. benostreamdb-0.10.0/src/core/index/mps/inner_product.metal +29 -0
  231. benostreamdb-0.10.0/src/core/index/mps/jaccard_distance.metal +43 -0
  232. benostreamdb-0.10.0/src/core/index/mps/jaccard_packed.metal +30 -0
  233. benostreamdb-0.10.0/src/core/index/mps/kmeans_assignment.metal +41 -0
  234. benostreamdb-0.10.0/src/core/index/mps/l1_distance.metal +29 -0
  235. benostreamdb-0.10.0/src/core/index/mps/l2_distance.metal +30 -0
  236. benostreamdb-0.10.0/src/core/index/nvrtc.rs +468 -0
  237. benostreamdb-0.10.0/src/core/index/pq.rs +325 -0
  238. benostreamdb-0.10.0/src/core/index/tokenizer.rs +96 -0
  239. benostreamdb-0.10.0/src/core/index/turboquant.rs +205 -0
  240. benostreamdb-0.10.0/src/core/index/wgpu_binary_kernel.wgsl +46 -0
  241. benostreamdb-0.10.0/src/core/index/wgpu_kernel.wgsl +95 -0
  242. benostreamdb-0.10.0/src/core/license.rs +83 -0
  243. benostreamdb-0.10.0/src/core/lock.rs +295 -0
  244. benostreamdb-0.10.0/src/core/maintenance.rs +294 -0
  245. benostreamdb-0.10.0/src/core/manifest/manager/commit.rs +593 -0
  246. benostreamdb-0.10.0/src/core/manifest/manager/load.rs +424 -0
  247. benostreamdb-0.10.0/src/core/manifest/manager/partition.rs +228 -0
  248. benostreamdb-0.10.0/src/core/manifest/manager/schema.rs +220 -0
  249. benostreamdb-0.10.0/src/core/manifest/manager.rs +112 -0
  250. benostreamdb-0.10.0/src/core/manifest/mod.rs +5 -0
  251. benostreamdb-0.10.0/src/core/manifest/types.rs +1087 -0
  252. benostreamdb-0.10.0/src/core/memory.rs +247 -0
  253. benostreamdb-0.10.0/src/core/merge.rs +460 -0
  254. benostreamdb-0.10.0/src/core/metadata.rs +204 -0
  255. benostreamdb-0.10.0/src/core/mod.rs +34 -0
  256. benostreamdb-0.10.0/src/core/nessie.rs +124 -0
  257. benostreamdb-0.10.0/src/core/planner.rs +1693 -0
  258. benostreamdb-0.10.0/src/core/puffin.rs +209 -0
  259. benostreamdb-0.10.0/src/core/query.rs +1228 -0
  260. benostreamdb-0.10.0/src/core/reader/delete.rs +215 -0
  261. benostreamdb-0.10.0/src/core/reader/filter.rs +1063 -0
  262. benostreamdb-0.10.0/src/core/reader/mod.rs +399 -0
  263. benostreamdb-0.10.0/src/core/reader/scan.rs +1978 -0
  264. benostreamdb-0.10.0/src/core/resources.rs +479 -0
  265. benostreamdb-0.10.0/src/core/search/mod.rs +127 -0
  266. benostreamdb-0.10.0/src/core/search/rrf.rs +73 -0
  267. benostreamdb-0.10.0/src/core/segment.rs +1206 -0
  268. benostreamdb-0.10.0/src/core/sql/graph_udf/connected_components.rs +250 -0
  269. benostreamdb-0.10.0/src/core/sql/graph_udf/degree_centrality.rs +243 -0
  270. benostreamdb-0.10.0/src/core/sql/graph_udf/drift_search.rs +327 -0
  271. benostreamdb-0.10.0/src/core/sql/graph_udf/graph_neighbors.rs +289 -0
  272. benostreamdb-0.10.0/src/core/sql/graph_udf/jaccard_coefficient.rs +264 -0
  273. benostreamdb-0.10.0/src/core/sql/graph_udf/label_propagation.rs +211 -0
  274. benostreamdb-0.10.0/src/core/sql/graph_udf/louvain_communities.rs +380 -0
  275. benostreamdb-0.10.0/src/core/sql/graph_udf/mod.rs +53 -0
  276. benostreamdb-0.10.0/src/core/sql/graph_udf/modularity.rs +332 -0
  277. benostreamdb-0.10.0/src/core/sql/graph_udf/pagerank.rs +331 -0
  278. benostreamdb-0.10.0/src/core/sql/graph_udf/personalized_pagerank.rs +500 -0
  279. benostreamdb-0.10.0/src/core/sql/graph_udf/preferential_attachment.rs +274 -0
  280. benostreamdb-0.10.0/src/core/sql/graph_udf/shortest_path.rs +311 -0
  281. benostreamdb-0.10.0/src/core/sql/graph_udf/strongly_connected_components.rs +348 -0
  282. benostreamdb-0.10.0/src/core/sql/graph_udf/subgraph.rs +705 -0
  283. benostreamdb-0.10.0/src/core/sql/literal/binary.rs +175 -0
  284. benostreamdb-0.10.0/src/core/sql/literal/dense.rs +92 -0
  285. benostreamdb-0.10.0/src/core/sql/literal/mod.rs +1595 -0
  286. benostreamdb-0.10.0/src/core/sql/literal/sparse.rs +110 -0
  287. benostreamdb-0.10.0/src/core/sql/mod.rs +771 -0
  288. benostreamdb-0.10.0/src/core/sql/optimizer/config.rs +340 -0
  289. benostreamdb-0.10.0/src/core/sql/optimizer/index_join.rs +90 -0
  290. benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/mod.rs +84 -0
  291. benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/plan_detection.rs +106 -0
  292. benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/plan_rewriter.rs +118 -0
  293. benostreamdb-0.10.0/src/core/sql/optimizer/vector_search/sort_expr_parser.rs +357 -0
  294. benostreamdb-0.10.0/src/core/sql/optimizer.rs +14 -0
  295. benostreamdb-0.10.0/src/core/sql/partition_rewriter.rs +38 -0
  296. benostreamdb-0.10.0/src/core/sql/pgvector_rewriter.rs +250 -0
  297. benostreamdb-0.10.0/src/core/sql/physical_plan/index_join.rs +385 -0
  298. benostreamdb-0.10.0/src/core/sql/physical_plan/vector_merge.rs +230 -0
  299. benostreamdb-0.10.0/src/core/sql/physical_plan/vector_scan.rs +256 -0
  300. benostreamdb-0.10.0/src/core/sql/physical_plan.rs +282 -0
  301. benostreamdb-0.10.0/src/core/sql/session.rs +164 -0
  302. benostreamdb-0.10.0/src/core/sql/udf/aggregate.rs +501 -0
  303. benostreamdb-0.10.0/src/core/sql/udf/distance.rs +722 -0
  304. benostreamdb-0.10.0/src/core/sql/udf/mod.rs +75 -0
  305. benostreamdb-0.10.0/src/core/sql/udf/sparse.rs +379 -0
  306. benostreamdb-0.10.0/src/core/sql/udf/transform.rs +778 -0
  307. benostreamdb-0.10.0/src/core/sql/vector_literal.rs +5 -0
  308. benostreamdb-0.10.0/src/core/sql/vector_operators.rs +452 -0
  309. benostreamdb-0.10.0/src/core/sql/vector_udf/aggregate.rs +356 -0
  310. benostreamdb-0.10.0/src/core/sql/vector_udf/distance.rs +520 -0
  311. benostreamdb-0.10.0/src/core/sql/vector_udf/mod.rs +6 -0
  312. benostreamdb-0.10.0/src/core/sql/vector_udf/sparse.rs +242 -0
  313. benostreamdb-0.10.0/src/core/sql/vector_udf/transform.rs +515 -0
  314. benostreamdb-0.10.0/src/core/sql/vector_udf.rs +104 -0
  315. benostreamdb-0.10.0/src/core/storage.rs +302 -0
  316. benostreamdb-0.10.0/src/core/table/builder.rs +461 -0
  317. benostreamdb-0.10.0/src/core/table/catalog.rs +575 -0
  318. benostreamdb-0.10.0/src/core/table/coordinator.rs +336 -0
  319. benostreamdb-0.10.0/src/core/table/fluent.rs +96 -0
  320. benostreamdb-0.10.0/src/core/table/index_config.rs +754 -0
  321. benostreamdb-0.10.0/src/core/table/ingest.rs +791 -0
  322. benostreamdb-0.10.0/src/core/table/maintenance.rs +430 -0
  323. benostreamdb-0.10.0/src/core/table/merge.rs +129 -0
  324. benostreamdb-0.10.0/src/core/table/mod.rs +731 -0
  325. benostreamdb-0.10.0/src/core/table/primary_key.rs +867 -0
  326. benostreamdb-0.10.0/src/core/table/read.rs +1511 -0
  327. benostreamdb-0.10.0/src/core/table/schema.rs +369 -0
  328. benostreamdb-0.10.0/src/core/table/state.rs +201 -0
  329. benostreamdb-0.10.0/src/core/table/stats.rs +833 -0
  330. benostreamdb-0.10.0/src/core/table/tests.rs +257 -0
  331. benostreamdb-0.10.0/src/core/table/write.rs +1366 -0
  332. benostreamdb-0.10.0/src/core/telemetry.rs +26 -0
  333. benostreamdb-0.10.0/src/core/wal.rs +1040 -0
  334. benostreamdb-0.10.0/src/enterprise/continuous_indexing.rs +69 -0
  335. benostreamdb-0.10.0/src/enterprise/mod.rs +6 -0
  336. benostreamdb-0.10.0/src/lib.rs +346 -0
  337. benostreamdb-0.10.0/src/lib.rs.orig +311 -0
  338. benostreamdb-0.10.0/src/python/catalog/glue.rs +71 -0
  339. benostreamdb-0.10.0/src/python/catalog/hive.rs +75 -0
  340. benostreamdb-0.10.0/src/python/catalog/jdbc.rs +69 -0
  341. benostreamdb-0.10.0/src/python/catalog/mod.rs +197 -0
  342. benostreamdb-0.10.0/src/python/catalog/nessie.rs +76 -0
  343. benostreamdb-0.10.0/src/python/catalog/rest.rs +66 -0
  344. benostreamdb-0.10.0/src/python/catalog/unity.rs +59 -0
  345. benostreamdb-0.10.0/src/python/drift_bindings.rs +56 -0
  346. benostreamdb-0.10.0/src/python/graph.rs +328 -0
  347. benostreamdb-0.10.0/src/python/helpers.rs +558 -0
  348. benostreamdb-0.10.0/src/python/manifest.rs +62 -0
  349. benostreamdb-0.10.0/src/python/mod.rs +67 -0
  350. benostreamdb-0.10.0/src/python/schema.rs +220 -0
  351. benostreamdb-0.10.0/src/python/session.rs +41 -0
  352. benostreamdb-0.10.0/src/python/stats.rs +103 -0
  353. benostreamdb-0.10.0/src/python/table.rs +2382 -0
  354. benostreamdb-0.10.0/src/python_distance.rs +1576 -0
  355. benostreamdb-0.10.0/src/python_gpu_context.rs +262 -0
  356. benostreamdb-0.10.0/src/telemetry/metrics.rs +130 -0
  357. benostreamdb-0.10.0/src/telemetry/mod.rs +4 -0
  358. benostreamdb-0.10.0/src/telemetry/tracing.rs +123 -0
  359. benostreamdb-0.10.0/tests/all_types_index_test.rs +122 -0
  360. benostreamdb-0.10.0/tests/bin/generate_iceberg_manifests.rs +322 -0
  361. benostreamdb-0.10.0/tests/bin/verify_iceberg_read_check.rs +81 -0
  362. benostreamdb-0.10.0/tests/data/start_nessie.sh +7 -0
  363. benostreamdb-0.10.0/tests/datafusion_rust_test.rs +106 -0
  364. benostreamdb-0.10.0/tests/gpu_test_helpers.rs +16 -0
  365. benostreamdb-0.10.0/tests/integration_test_csr_graph.rs +101 -0
  366. benostreamdb-0.10.0/tests/integration_test_hnsw_ivf_native.rs +329 -0
  367. benostreamdb-0.10.0/tests/python/verify_docstrings.py +109 -0
  368. benostreamdb-0.10.0/tests/python/verify_fluent_api.py +167 -0
  369. benostreamdb-0.10.0/tests/python/verify_unified_ingest.py +78 -0
  370. benostreamdb-0.10.0/tests/read_manifest.rs +23 -0
  371. benostreamdb-0.10.0/tests/schema_evolution_test.rs +78 -0
  372. benostreamdb-0.10.0/tests/scratch.rs +22 -0
  373. benostreamdb-0.10.0/tests/soak.rs +101 -0
  374. benostreamdb-0.10.0/tests/stability.rs +70 -0
  375. benostreamdb-0.10.0/tests/stress/README.md +44 -0
  376. benostreamdb-0.10.0/tests/stress/conftest.py +84 -0
  377. benostreamdb-0.10.0/tests/verify_admin_cli.sh +20 -0
  378. benostreamdb-0.10.0/tests/verify_all_algos.py +83 -0
  379. benostreamdb-0.10.0/tests/verify_catalog_commit.rs +84 -0
  380. benostreamdb-0.10.0/tests/verify_compliance.rs +23 -0
  381. benostreamdb-0.10.0/tests/verify_delete_correctness.rs +159 -0
  382. benostreamdb-0.10.0/tests/verify_iceberg_python_delete.sh +90 -0
  383. benostreamdb-0.10.0/tests/verify_iceberg_rest.sh +39 -0
  384. benostreamdb-0.10.0/tests/verify_iceberg_rest_create.sh +52 -0
  385. benostreamdb-0.10.0/tests/verify_iceberg_rest_delete.sh +108 -0
  386. benostreamdb-0.10.0/tests/verify_iceberg_rest_remove_index.sh +135 -0
  387. benostreamdb-0.10.0/tests/verify_iceberg_rest_update.sh +66 -0
  388. benostreamdb-0.10.0/tests/verify_index_recovery.rs +102 -0
  389. benostreamdb-0.10.0/tests/verify_metadata_creation.rs +41 -0
  390. benostreamdb-0.10.0/tests/verify_mor_reads.rs +132 -0
  391. benostreamdb-0.10.0/tests/verify_mor_writes.rs +86 -0
  392. benostreamdb-0.10.0/tests/verify_partition_transforms.rs +81 -0
  393. benostreamdb-0.10.0/tests/verify_partitioned_writes.rs +105 -0
  394. benostreamdb-0.10.0/tests/verify_puffin_index.sh +85 -0
  395. benostreamdb-0.10.0/tests/verify_rest_updates.sh +47 -0
  396. benostreamdb-0.10.0/tests/verify_schema_compat.rs +415 -0
  397. benostreamdb-0.10.0/trino-benostreamdb/pom.xml +114 -0
  398. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBColumnHandle.java +25 -0
  399. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBConnectorFactory.java +57 -0
  400. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBJNIBridge.java +27 -0
  401. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBMetadata.java +116 -0
  402. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBPageSource.java +176 -0
  403. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBPageSourceProvider.java +25 -0
  404. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBPlugin.java +12 -0
  405. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBSplit.java +48 -0
  406. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBSplitManager.java +104 -0
  407. benostreamdb-0.10.0/trino-benostreamdb/src/main/java/com/benostreamdb/trino/BenoStreamDBTableHandle.java +41 -0
  408. benostreamdb-0.10.0/trino-benostreamdb/src/test/java/com/benostreamdb/trino/TrinoConnectorTest.java +306 -0
  409. benostreamdb-0.10.0/trino-config/.DS_Store +0 -0
  410. benostreamdb-0.10.0/trino-config/catalog/benostreamdb.properties +5 -0
  411. benostreamdb-0.10.0/trino-config/catalog/glue_catalog.properties +13 -0
  412. benostreamdb-0.10.0/trino-config/catalog/iceberg.properties +15 -0
  413. benostreamdb-0.10.0/trino-config/catalog/iceberg_hive.properties +11 -0
  414. benostreamdb-0.10.0/trino-config/catalog/memory.properties +1 -0
  415. benostreamdb-0.10.0/trino-config/catalog/postgres.properties +4 -0
  416. benostreamdb-0.10.0/trino-config/config.properties +9 -0
  417. benostreamdb-0.10.0/trino-config/entrypoint.sh +45 -0
  418. benostreamdb-0.10.0/trino-config/jvm.config +11 -0
  419. 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,16 @@
1
+ target/
2
+ .git/
3
+ .github/
4
+ .venv/
5
+ venv/
6
+ *.db
7
+ *.parquet
8
+ *.log
9
+ test_*
10
+ rag_db/
11
+ news_db/
12
+ demo/
13
+ benchmarks/
14
+ __pycache__/
15
+ *.pyc
16
+ !target/release/bsdb-search
@@ -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