hyperstreamdb 0.4.0__tar.gz → 0.5.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 (377) hide show
  1. hyperstreamdb-0.5.0/.env.example +51 -0
  2. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.gitignore +2 -0
  3. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.instructions.md +1 -1
  4. hyperstreamdb-0.5.0/.qwen/settings.json +9 -0
  5. hyperstreamdb-0.5.0/.qwen/settings.json.orig +5 -0
  6. hyperstreamdb-0.5.0/CHANGELOG.md +315 -0
  7. hyperstreamdb-0.5.0/CONTRIBUTING.md +254 -0
  8. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/Cargo.lock +72 -1
  9. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/Cargo.toml +23 -6
  10. hyperstreamdb-0.5.0/Dockerfile +62 -0
  11. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/PKG-INFO +2 -1
  12. hyperstreamdb-0.5.0/SECURITY.md +99 -0
  13. hyperstreamdb-0.5.0/build.rs +53 -0
  14. hyperstreamdb-0.5.0/clippy.toml +17 -0
  15. hyperstreamdb-0.5.0/deny.toml +52 -0
  16. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docker-compose-minio-nessie.yml +7 -7
  17. hyperstreamdb-0.5.0/docker-compose.production.yml +75 -0
  18. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docker-compose.yml +7 -7
  19. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/CONFIGURATION.md +40 -0
  20. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/GPU_SETUP_GUIDE.md +21 -12
  21. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/INSTALLATION.md +5 -2
  22. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/pyproject.toml +1 -0
  23. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/python/hyperstreamdb/__init__.py +34 -3
  24. hyperstreamdb-0.5.0/rust-toolchain.toml +3 -0
  25. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/pom.xml +24 -1
  26. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartitionReader.java +1 -0
  27. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamTable.java +0 -1
  28. hyperstreamdb-0.5.0/spark-hyperstream/src/test/java/com/hyperstreamdb/spark/SparkConnectorTest.java +209 -0
  29. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/bin/gateway.rs +85 -7
  30. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/bin/iceberg_rest.rs +94 -7
  31. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/cache.rs +10 -10
  32. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/unity.rs +1 -1
  33. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/clustering.rs +19 -95
  34. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/compaction.rs +9 -3
  35. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/embeddings.rs +51 -13
  36. hyperstreamdb-0.5.0/src/core/error.rs +493 -0
  37. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/ffi.rs +61 -7
  38. hyperstreamdb-0.5.0/src/core/iceberg/delete.rs +538 -0
  39. hyperstreamdb-0.5.0/src/core/iceberg/manifest.rs +356 -0
  40. hyperstreamdb-0.5.0/src/core/iceberg/mod.rs +73 -0
  41. hyperstreamdb-0.5.0/src/core/iceberg/schema.rs +140 -0
  42. hyperstreamdb-0.5.0/src/core/iceberg/transform.rs +203 -0
  43. hyperstreamdb-0.5.0/src/core/iceberg/types.rs +96 -0
  44. hyperstreamdb-0.5.0/src/core/iceberg/value.rs +151 -0
  45. hyperstreamdb-0.5.0/src/core/iceberg/writer.rs +521 -0
  46. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/build_inverted.rs +1 -1
  47. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/distance.rs +273 -9
  48. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/gpu.rs +164 -44
  49. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_ivf.rs +42 -16
  50. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/hnsw.rs +5 -11
  51. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/hnswio.rs +4 -3
  52. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/ivf.rs +3 -4
  53. hyperstreamdb-0.5.0/src/core/index/pq.rs +302 -0
  54. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/tokenizer.rs +1 -1
  55. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/license.rs +19 -8
  56. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/lock.rs +19 -3
  57. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/maintenance.rs +14 -11
  58. hyperstreamdb-0.5.0/src/core/manifest/manager/commit.rs +494 -0
  59. hyperstreamdb-0.5.0/src/core/manifest/manager/load.rs +327 -0
  60. hyperstreamdb-0.5.0/src/core/manifest/manager/partition.rs +144 -0
  61. hyperstreamdb-0.5.0/src/core/manifest/manager/schema.rs +195 -0
  62. hyperstreamdb-0.5.0/src/core/manifest/manager.rs +106 -0
  63. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/manifest/mod.rs +1 -0
  64. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/manifest/types.rs +45 -0
  65. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/merge.rs +169 -53
  66. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/metadata.rs +1 -1
  67. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/mod.rs +2 -0
  68. hyperstreamdb-0.5.0/src/core/planner/filter.rs +554 -0
  69. hyperstreamdb-0.5.0/src/core/planner/pruning.rs +590 -0
  70. hyperstreamdb-0.5.0/src/core/planner/vector_search.rs +48 -0
  71. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/planner.rs +71 -11
  72. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/puffin.rs +31 -10
  73. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/query.rs +157 -138
  74. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/reader/mod.rs +1 -1
  75. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/reader/scan.rs +39 -3
  76. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/search/rrf.rs +6 -4
  77. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/segment.rs +10 -87
  78. hyperstreamdb-0.5.0/src/core/sql/literal/binary.rs +170 -0
  79. hyperstreamdb-0.5.0/src/core/sql/literal/dense.rs +91 -0
  80. hyperstreamdb-0.5.0/src/core/sql/literal/mod.rs +1546 -0
  81. hyperstreamdb-0.5.0/src/core/sql/literal/sparse.rs +106 -0
  82. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/mod.rs +5 -1
  83. hyperstreamdb-0.5.0/src/core/sql/optimizer/config.rs +221 -0
  84. hyperstreamdb-0.5.0/src/core/sql/optimizer/index_join.rs +101 -0
  85. hyperstreamdb-0.5.0/src/core/sql/optimizer/vector_search/mod.rs +75 -0
  86. hyperstreamdb-0.5.0/src/core/sql/optimizer/vector_search/plan_detection.rs +101 -0
  87. hyperstreamdb-0.5.0/src/core/sql/optimizer/vector_search/plan_rewriter.rs +106 -0
  88. hyperstreamdb-0.5.0/src/core/sql/optimizer/vector_search/sort_expr_parser.rs +148 -0
  89. hyperstreamdb-0.5.0/src/core/sql/optimizer.rs +14 -0
  90. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/pgvector_rewriter.rs +9 -5
  91. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/physical_plan/vector_merge.rs +11 -9
  92. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/physical_plan/vector_scan.rs +12 -3
  93. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/session.rs +12 -4
  94. hyperstreamdb-0.5.0/src/core/sql/udf/aggregate.rs +338 -0
  95. hyperstreamdb-0.5.0/src/core/sql/udf/distance.rs +517 -0
  96. hyperstreamdb-0.5.0/src/core/sql/udf/mod.rs +104 -0
  97. hyperstreamdb-0.5.0/src/core/sql/udf/sparse.rs +240 -0
  98. hyperstreamdb-0.5.0/src/core/sql/udf/transform.rs +483 -0
  99. hyperstreamdb-0.5.0/src/core/sql/vector_literal.rs +5 -0
  100. hyperstreamdb-0.5.0/src/core/sql/vector_udf/aggregate.rs +340 -0
  101. hyperstreamdb-0.5.0/src/core/sql/vector_udf/distance.rs +520 -0
  102. hyperstreamdb-0.5.0/src/core/sql/vector_udf/mod.rs +6 -0
  103. hyperstreamdb-0.5.0/src/core/sql/vector_udf/sparse.rs +242 -0
  104. hyperstreamdb-0.5.0/src/core/sql/vector_udf/transform.rs +485 -0
  105. hyperstreamdb-0.5.0/src/core/sql/vector_udf.rs +104 -0
  106. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/storage.rs +51 -0
  107. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/table/builder.rs +2 -2
  108. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/table/fluent.rs +2 -2
  109. hyperstreamdb-0.5.0/src/core/table/index_config.rs +374 -0
  110. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/table/mod.rs +65 -33
  111. hyperstreamdb-0.5.0/src/core/table/primary_key.rs +360 -0
  112. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/table/read.rs +14 -16
  113. hyperstreamdb-0.5.0/src/core/table/state.rs +128 -0
  114. hyperstreamdb-0.5.0/src/core/table/stats.rs +668 -0
  115. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/table/write.rs +50 -62
  116. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/wal.rs +122 -20
  117. hyperstreamdb-0.5.0/src/enterprise/continuous_indexing.rs +64 -0
  118. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/enterprise/mod.rs +2 -2
  119. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/lib.rs +1 -1
  120. hyperstreamdb-0.5.0/src/python/catalog/glue.rs +54 -0
  121. hyperstreamdb-0.5.0/src/python/catalog/hive.rs +57 -0
  122. hyperstreamdb-0.5.0/src/python/catalog/jdbc.rs +54 -0
  123. hyperstreamdb-0.5.0/src/python/catalog/mod.rs +173 -0
  124. hyperstreamdb-0.5.0/src/python/catalog/nessie.rs +61 -0
  125. hyperstreamdb-0.5.0/src/python/catalog/rest.rs +49 -0
  126. hyperstreamdb-0.5.0/src/python/catalog/unity.rs +48 -0
  127. hyperstreamdb-0.5.0/src/python/helpers.rs +368 -0
  128. hyperstreamdb-0.5.0/src/python/manifest.rs +55 -0
  129. hyperstreamdb-0.5.0/src/python/mod.rs +62 -0
  130. hyperstreamdb-0.5.0/src/python/schema.rs +137 -0
  131. hyperstreamdb-0.5.0/src/python/session.rs +37 -0
  132. hyperstreamdb-0.5.0/src/python/stats.rs +103 -0
  133. hyperstreamdb-0.4.0/src/python_binding.rs → hyperstreamdb-0.5.0/src/python/table.rs +118 -1161
  134. hyperstreamdb-0.5.0/src/python_binding.rs +9 -0
  135. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/python_gpu_context.rs +6 -6
  136. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/telemetry/metrics.rs +24 -0
  137. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/all_types_index_test.rs +4 -2
  138. hyperstreamdb-0.5.0/tests/gpu_test_helpers.rs +16 -0
  139. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_mor_writes.rs +0 -3
  140. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/catalog/glue_catalog.properties +2 -2
  141. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/catalog/hyperstreamdb.properties +2 -2
  142. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/catalog/iceberg.properties +2 -2
  143. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/catalog/postgres.properties +1 -1
  144. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/pom.xml +19 -2
  145. hyperstreamdb-0.5.0/trino-hyperstream/src/test/java/com/hyperstreamdb/trino/TrinoConnectorTest.java +306 -0
  146. hyperstreamdb-0.4.0/build.rs +0 -106
  147. hyperstreamdb-0.4.0/critical_code_review.md +0 -132
  148. hyperstreamdb-0.4.0/scratch/check_os_error.rs +0 -29
  149. hyperstreamdb-0.4.0/src/core/iceberg.rs +0 -1730
  150. hyperstreamdb-0.4.0/src/core/index/pq.rs +0 -151
  151. hyperstreamdb-0.4.0/src/core/manifest/manager.rs +0 -1366
  152. hyperstreamdb-0.4.0/src/core/sql/optimizer.rs +0 -2751
  153. hyperstreamdb-0.4.0/src/core/sql/vector_literal.rs +0 -2274
  154. hyperstreamdb-0.4.0/src/core/sql/vector_udf.rs +0 -2807
  155. hyperstreamdb-0.4.0/src/enterprise/continuous_indexing.rs +0 -34
  156. hyperstreamdb-0.4.0/src/enterprise/license.rs +0 -32
  157. hyperstreamdb-0.4.0/tests/gpu_test_helpers.rs +0 -5
  158. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.gitattributes +0 -0
  159. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.hypothesis/constants/32b327793848e7d8 +0 -0
  160. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.hypothesis/constants/67b0a8ccf18bf5d2 +0 -0
  161. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.hypothesis/constants/84828557b4ee7be4 +0 -0
  162. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -0
  163. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/CNAME +0 -0
  164. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/HyperStreamDB.png +0 -0
  165. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/LICENSE-APACHE +0 -0
  166. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/LICENSE-MIT +0 -0
  167. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/README.md +0 -0
  168. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/RUN_COMPLIANCE_TESTS.sh +0 -0
  169. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/STEERING.md +0 -0
  170. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/THIRDPARTY_NOTICES.md +0 -0
  171. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/Untitled.ipynb +0 -0
  172. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benches/bench_table.rs +0 -0
  173. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benches/performance.rs +0 -0
  174. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/BENCHMARK_REPORT.md +0 -0
  175. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/benchmark_charts.png +0 -0
  176. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/benchmark_results.csv +0 -0
  177. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/concurrent_queries_20260409_214245.json +0 -0
  178. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/concurrent_queries_20260409_214245.md +0 -0
  179. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_search_comparison_20260409_222607.json +0 -0
  180. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_search_comparison_20260409_222607.md +0 -0
  181. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_214355.json +0 -0
  182. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_214355.md +0 -0
  183. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_220418.json +0 -0
  184. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_220418.md +0 -0
  185. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_222053.json +0 -0
  186. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_222053.md +0 -0
  187. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_225907.json +0 -0
  188. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/filtered_vector_search_20260409_225907.md +0 -0
  189. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/full_scan_baseline_20260409_222303.json +0 -0
  190. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/full_scan_baseline_20260409_222303.md +0 -0
  191. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/high_selectivity_filter_20260409_222302.json +0 -0
  192. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/high_selectivity_filter_20260409_222302.md +0 -0
  193. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/ingestion_comparison_20260409_222516.json +0 -0
  194. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/ingestion_comparison_20260409_222516.md +0 -0
  195. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_214428.json +0 -0
  196. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_214428.md +0 -0
  197. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_220450.json +0 -0
  198. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_220450.md +0 -0
  199. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_222131.json +0 -0
  200. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_222131.md +0 -0
  201. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_225938.json +0 -0
  202. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_225938.md +0 -0
  203. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_231713.json +0 -0
  204. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/multi_filter_vector_20260409_231713.md +0 -0
  205. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_214501.json +0 -0
  206. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_214501.md +0 -0
  207. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_220524.json +0 -0
  208. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_220524.md +0 -0
  209. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_222204.json +0 -0
  210. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_222204.md +0 -0
  211. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_230010.json +0 -0
  212. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/post_vs_pre_filter_20260409_230010.md +0 -0
  213. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/query_comparison_20260409_222541.json +0 -0
  214. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/query_comparison_20260409_222541.md +0 -0
  215. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/range_query_20260409_222302.json +0 -0
  216. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/range_query_20260409_222302.md +0 -0
  217. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/search_filtered_high_selectivity_20260409_214144.json +0 -0
  218. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/search_filtered_high_selectivity_20260409_214144.md +0 -0
  219. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/search_unfiltered_20260409_214028.json +0 -0
  220. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/benchmark_results/search_unfiltered_20260409_214028.md +0 -0
  221. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/book.toml +0 -0
  222. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/build-connectors.sh +0 -0
  223. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/check_iceberg_compliance.py +0 -0
  224. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/.nojekyll +0 -0
  225. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/BENCHMARKING.md +0 -0
  226. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/COMPREHENSIVE_GUIDE.md +0 -0
  227. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/CONCURRENCY.md +0 -0
  228. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0/docs}/DORIS_OPTIMIZATION_PATTERNS.md +0 -0
  229. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/ICEBERG_V2_V3_API.md +0 -0
  230. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/PGVECTOR_SQL_GUIDE.md +0 -0
  231. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/PYTHON_VECTOR_API.md +0 -0
  232. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/VECTOR_CONFIGURATION.md +0 -0
  233. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/api_reference.md +0 -0
  234. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/architecture.md +0 -0
  235. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/catalog_usage.md +0 -0
  236. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/index.md +0 -0
  237. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/integrations/README.md +0 -0
  238. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/integrations/java_jni.md +0 -0
  239. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/integrations/python.md +0 -0
  240. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/integrations/spark.md +0 -0
  241. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/integrations/trino.md +0 -0
  242. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/monitoring.md +0 -0
  243. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/requirements.txt +0 -0
  244. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/source/_static/HyperStreamDB.png +0 -0
  245. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/source/api/python.rst +0 -0
  246. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/source/api/rust.rst +0 -0
  247. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/source/conf.py +0 -0
  248. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/source/index.rst +0 -0
  249. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/docs/source/roadmap.md +0 -0
  250. /hyperstreamdb-0.4.0/task.md → /hyperstreamdb-0.5.0/docs/task_status.md +0 -0
  251. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/proptest-regressions/core/index/gpu.txt +0 -0
  252. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/proptest-regressions/core/sql/vector_literal.txt +0 -0
  253. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/proptest-regressions/core/sql/vector_udf.txt +0 -0
  254. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/python/hyperstreamdb/embeddings.py +0 -0
  255. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/recovered_plan.txt +0 -0
  256. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/scripts/fix_nb.py +0 -0
  257. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/scripts/split_table.py +0 -0
  258. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/scripts/update_cache.py +0 -0
  259. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/scripts/update_reader.py +0 -0
  260. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/scripts/update_schema_patch.py +0 -0
  261. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/scripts/update_schema_patch2.py +0 -0
  262. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/.bloop/bloop.settings.json +0 -0
  263. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/.bloop/spark-hyperstream-test.json +0 -0
  264. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/.bloop/spark-hyperstream.json +0 -0
  265. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/DefaultSource.java +0 -0
  266. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartition.java +0 -0
  267. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartitionReaderFactory.java +0 -0
  268. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamScanBuilder.java +0 -0
  269. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/bin/hdb.rs +0 -0
  270. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/bin/probe_datafusion.rs +0 -0
  271. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/bin/setup_test_data.rs +0 -0
  272. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/bin/verify_layered_indexing.rs +0 -0
  273. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/config.rs +0 -0
  274. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/glue.rs +0 -0
  275. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/hive.rs +0 -0
  276. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/jdbc.rs +0 -0
  277. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/mod.rs +0 -0
  278. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/nessie.rs +0 -0
  279. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/catalog/rest.rs +0 -0
  280. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/iceberg/iceberg_delete.rs +0 -0
  281. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/build_vector.rs +0 -0
  282. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/cosine_distance.cu +0 -0
  283. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/hamming_distance.cu +0 -0
  284. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/inner_product.cu +0 -0
  285. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/jaccard_distance.cu +0 -0
  286. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/kmeans_assignment.cu +0 -0
  287. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/l1_distance.cu +0 -0
  288. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/cuda/l2_distance.cu +0 -0
  289. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/annhdf5.rs +0 -0
  290. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/api.rs +0 -0
  291. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/dist.rs +0 -0
  292. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/flatten.rs +0 -0
  293. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/libext.rs +0 -0
  294. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/mod.rs +0 -0
  295. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/prelude.rs +0 -0
  296. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/hnsw_rs/test.rs +0 -0
  297. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/memory.rs +0 -0
  298. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mod.rs +0 -0
  299. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/cosine_distance.metal +0 -0
  300. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/hamming_distance.metal +0 -0
  301. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/inner_product.metal +0 -0
  302. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/jaccard_distance.metal +0 -0
  303. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/kmeans_assignment.metal +0 -0
  304. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/l1_distance.metal +0 -0
  305. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/mps/l2_distance.metal +0 -0
  306. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/cosine_distance.cl +0 -0
  307. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/hamming_distance.cl +0 -0
  308. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/inner_product.cl +0 -0
  309. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/jaccard_distance.cl +0 -0
  310. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/kmeans_assignment.cl +0 -0
  311. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/l1_distance.cl +0 -0
  312. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/opencl/l2_distance.cl +0 -0
  313. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/turboquant.rs +0 -0
  314. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/index/wgpu_kernel.wgsl +0 -0
  315. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/nessie.rs +0 -0
  316. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/reader/delete.rs +0 -0
  317. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/reader/filter.rs +0 -0
  318. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/search/mod.rs +0 -0
  319. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/physical_plan/index_join.rs +0 -0
  320. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/physical_plan.rs +0 -0
  321. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/sql/vector_operators.rs +0 -0
  322. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/core/table/schema.rs +0 -0
  323. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/index.rs.old +0 -0
  324. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/python_distance.rs +0 -0
  325. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/telemetry/mod.rs +0 -0
  326. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/src/telemetry/tracing.rs +0 -0
  327. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/bin/generate_iceberg_manifests.rs +0 -0
  328. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/bin/verify_iceberg_read_check.rs +0 -0
  329. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/check_mmh3.py +0 -0
  330. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/data/download_nyc_taxi.sh +0 -0
  331. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/data/generate_embeddings.py +0 -0
  332. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/data/generate_wikipedia.py +0 -0
  333. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/data/start_nessie.sh +0 -0
  334. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/datafusion_rust_test.rs +0 -0
  335. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/debug_murmur3.rs +0 -0
  336. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/fuzz_murmur3.rs +0 -0
  337. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/integration_test_hnsw_ivf_native.rs +0 -0
  338. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/performance/README.md +0 -0
  339. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/prototype_merge.py +0 -0
  340. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/python/verify_docstrings.py +0 -0
  341. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/python/verify_fluent_api.py +0 -0
  342. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/python/verify_unified_ingest.py +0 -0
  343. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/schema_evolution_test.rs +0 -0
  344. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/stability.rs +0 -0
  345. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_all_algos.py +0 -0
  346. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_catalog_commit.rs +0 -0
  347. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_compliance.rs +0 -0
  348. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_delete_correctness.rs +0 -0
  349. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_iceberg_python_delete.sh +0 -0
  350. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_iceberg_rest.sh +0 -0
  351. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_iceberg_rest_create.sh +0 -0
  352. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_iceberg_rest_delete.sh +0 -0
  353. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_iceberg_rest_remove_index.sh +0 -0
  354. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_iceberg_rest_update.sh +0 -0
  355. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_metadata_creation.rs +0 -0
  356. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_mor_reads.rs +0 -0
  357. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_partition_transforms.rs +0 -0
  358. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_partitioned_writes.rs +0 -0
  359. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_puffin_index.sh +0 -0
  360. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_rest_updates.sh +0 -0
  361. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/tests/verify_schema_compat.rs +0 -0
  362. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/.DS_Store +0 -0
  363. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/catalog/memory.properties +0 -0
  364. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/config.properties +0 -0
  365. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/entrypoint.sh +0 -0
  366. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/jvm.config +0 -0
  367. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config/node.properties +0 -0
  368. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-config.zip +0 -0
  369. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBColumnHandle.java +0 -0
  370. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBConnectorFactory.java +0 -0
  371. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBMetadata.java +0 -0
  372. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPageSource.java +0 -0
  373. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPageSourceProvider.java +0 -0
  374. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPlugin.java +0 -0
  375. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBSplit.java +0 -0
  376. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBSplitManager.java +0 -0
  377. {hyperstreamdb-0.4.0 → hyperstreamdb-0.5.0}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBTableHandle.java +0 -0
@@ -0,0 +1,51 @@
1
+ # HyperStreamDB 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/hyperstreamdb 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=
@@ -84,6 +84,8 @@ design_*.md
84
84
  docs/MONETIZATION_ARCHITECTURE.md
85
85
  docs/IN_MEMORY_COMPONENT_ANALYSIS.md
86
86
  docs/SUMMARY.md
87
+ docs/DORIS_OPTIMIZATION_PATTERNS.md
88
+ docs/task_status.md
87
89
  benchmarks/competitive/*.md
88
90
  benchmarks/competitive/benchmark_results/*.md
89
91
 
@@ -1,6 +1,6 @@
1
1
  # HyperStreamDB Development Guidelines
2
2
 
3
- **Foundation:** These guidelines are rooted in [The Pragmatic Programmer](https://pragprog.com/) principles. See `/memories/STEERING.md` for the full foundational principles that guide all projects.
3
+ **Foundation:** These guidelines are rooted in [The Pragmatic Programmer](https://pragprog.com/) principles. See `STEERING.md` for the full foundational principles that guide all projects.
4
4
 
5
5
  ## Core HyperStreamDB Principles
6
6
 
@@ -0,0 +1,9 @@
1
+ {
2
+ "context": {
3
+ "fileName": [
4
+ "QWEN.md",
5
+ "STEERING.md"
6
+ ]
7
+ },
8
+ "$version": 4
9
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "context": {
3
+ "fileName": ["QWEN.md", "STEERING.md"]
4
+ }
5
+ }
@@ -0,0 +1,315 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ---
11
+
12
+ ## [0.5.0] - 2026-06-03
13
+
14
+ ### Added
15
+ - Comprehensive unit test suites for Spark and Trino connectors
16
+ - Thread-local GPU context for concurrent query safety
17
+ - Structured error types and fallback chain for production readiness
18
+ - Query configuration API
19
+ - Metrics instrumentation for observability
20
+ - Release profiles (`release` and `release-lto`) in Cargo.toml
21
+ - `WriteAheadLog::append_fire_and_forget` — non-blocking WAL append that hands off batches to the WAL worker without blocking on `fdatasync`, eliminating ~800 ms write latency per call
22
+
23
+ ### Changed
24
+ - CUDA is now an optional feature (no longer required for CI builds)
25
+ - FFI bounds hardened with panic safety guarantees
26
+ - Public APIs documented with rustdoc
27
+ - **`Table(index_all=False)` is now the default** (previously `True`). Automatic HNSW/BM25 index building on commit is now opt-in. This eliminates a silent 15–18 s background build that previously fired on every `commit()` for any table containing a vector column. To restore the old behaviour: `Table(uri, index_all=True)` or `table.index_all = True`.
28
+ - **`Table(autocommit=False)` is now the default** (previously `True`). Writes accumulate in an in-memory buffer and must be explicitly committed with `table.commit()`. This eliminates unexpected auto-flush overhead during ingestion loops.
29
+ - `write_async` no longer auto-detects columns named `"embedding"` as implicit HNSW index targets. Only columns explicitly registered via `add_index()` or `set_index_columns()` are indexed.
30
+ - `manifest_manager.load_latest_full` replaced with `load_latest` in the `flush_async` hot path, eliminating two unnecessary full manifest scans per commit.
31
+ - Primary key uniqueness check upgraded from O(N²) to O(N) using `HashSet`.
32
+
33
+ ### Fixed
34
+ - Rustdoc warnings across the codebase
35
+ - PyO3 API compatibility issues
36
+ - Compilation errors in core modules
37
+ - Critical broken functionality items
38
+
39
+ ---
40
+
41
+ ## [0.4.0] - 2026-05-10
42
+
43
+ ### Added
44
+ - Tiered manifests with 8MB dynamic chunking for large-scale deployments
45
+ - File-based distributed locking for concurrent write safety
46
+ - OTLP (OpenTelemetry) tracing integration
47
+ - FFI panic safety boundaries
48
+ - Chaos and concurrent writers test suites
49
+ - HNSW SIMD indexing (stabilized, replaced legacy simdeez dependency)
50
+
51
+ ### Changed
52
+ - Modularized query execution engine
53
+ - Refactored monolithic `reader.rs` into modular files
54
+ - Refactored monolithic `manifest.rs` into `manager.rs` and `types.rs`
55
+ - Extracted segment indexing logic into separate builder modules
56
+ - Replaced `std::sync` primitives with `parking_lot` for better concurrency
57
+ - Feature-gated `opencl3` and `wgpu` for binary size reduction
58
+ - Upgraded `hashbrown` dependency and trimmed `sqlx` features
59
+ - Eliminated panicking `unwrap()` calls in core library code
60
+
61
+ ### Fixed
62
+ - Filter fallback to Iceberg manifests when no index exists on the column
63
+ - Hybrid search stability and correctness
64
+ - GPU test fallback when CPU-only environment detected
65
+ - Vector search schema compatibility
66
+
67
+ ---
68
+
69
+ ## [0.3.3] - 2026-04-25
70
+
71
+ ### Fixed
72
+ - Vector search schema alignment
73
+
74
+ ---
75
+
76
+ ## [0.3.2] - 2026-04-23
77
+
78
+ ### Changed
79
+ - Stabilized streaming architecture
80
+ - Switched documentation deployment to GitHub Actions
81
+
82
+ ### Fixed
83
+ - Streaming read and Python bindings
84
+
85
+ ---
86
+
87
+ ## [0.3.1] - 2026-04-15
88
+
89
+ ### Fixed
90
+ - TQ8/blob_type index load dispatch
91
+
92
+ ---
93
+
94
+ ## [0.3.0] - 2026-04-14
95
+
96
+ ### Added
97
+ - **High-Density Storage Milestone**: TQ4 (4-bit) and TQ8 (8-bit) TurboQuant quantization
98
+ - Global runtime support
99
+ - Schema evolution infrastructure
100
+ - Finalized indexing infrastructure
101
+
102
+ ### Fixed
103
+ - Multiple stability fixes across storage and query layers
104
+
105
+ ---
106
+
107
+ ## [0.2.6] - 2026-04-12
108
+
109
+ ### Changed
110
+ - Stabilized parallel execution
111
+ - Modernized logging infrastructure
112
+ - Updated GPU installation guidance
113
+
114
+ ### Fixed
115
+ - Categorical column handling
116
+ - Metal backend type mismatch on macOS
117
+
118
+ ---
119
+
120
+ ## [0.2.3] - 2026-04-11
121
+
122
+ ### Changed
123
+ - Modernized GPU acceleration
124
+ - Aligned with PyTorch standards for device detection
125
+
126
+ ---
127
+
128
+ ## [0.2.1] - 2026-04-10
129
+
130
+ ### Changed
131
+ - Auto-sync pyproject version from Cargo.toml
132
+ - Made cudarc optional for non-CUDA CI builds
133
+
134
+ ### Fixed
135
+ - CUDA and MPS device recognition
136
+ - PK validation memory and schema merge logic
137
+
138
+ ---
139
+
140
+ ## [0.2.0] - 2026-04-09
141
+
142
+ ### Added
143
+ - Core engine refactor
144
+ - WAL deduplication
145
+ - Thread-safe GPU context
146
+ - Hardware-agnostic compute dispatch with thread-local context management
147
+
148
+ ### Changed
149
+ - Extracted read, write, builder, schema, and fluent APIs from monolithic table module
150
+ - Introduced `TableBuilder` to streamline initialization
151
+ - Eliminated implicit tokio runtime creation
152
+
153
+ ---
154
+
155
+ ## [0.1.12] - 2026-04-05
156
+
157
+ ### Added
158
+ - Dynamic GPU backend detection (PyTorch-style `build.rs`)
159
+ - Single-source version management
160
+
161
+ ### Changed
162
+ - Unified version across all metadata files
163
+ - Removed non-standard extra-features mapping
164
+ - Removed native Windows target (WSL2 recommended)
165
+ - Updated PyPI classifiers for Python 3.13 and 3.14 support
166
+ - Optimized CI matrix for universal Python 3.10 abi3 wheels
167
+
168
+ ### Fixed
169
+ - Missing library `ImportError` on Linux wheels
170
+ - PyPI trailing data wheel rejection on macOS
171
+ - Manifest manager Rust compiler error
172
+
173
+ ---
174
+
175
+ ## [0.1.9] - 2026-04-04
176
+
177
+ ### Added
178
+ - Partitioned tables support
179
+ - SQL aggregation fixes
180
+
181
+ ### Changed
182
+ - Standardized Table API across Python integration tests
183
+ - Increased floating-point tolerance for GPU distance kernels
184
+
185
+ ### Fixed
186
+ - Inverted index row ID encoding
187
+ - Integration test stability
188
+
189
+ ---
190
+
191
+ ## [0.1.8] - 2026-04-04
192
+
193
+ ### Changed
194
+ - Transitioned to explicit Device API
195
+ - Broadened Intel GPU detection
196
+ - Standardized Intel GPU backend naming
197
+
198
+ ### Fixed
199
+ - PyArrow schema interoperability
200
+ - Mutability errors in `python_gpu_context.rs`
201
+
202
+ ---
203
+
204
+ ## [0.1.7] - 2026-04-03
205
+
206
+ ### Added
207
+ - **10x ingestion speedup** via Async HNSW and Iceberg v3 ZSTD optimizations
208
+
209
+ ### Changed
210
+ - Release stabilization and documentation improvements
211
+
212
+ ---
213
+
214
+ ## [0.1.6] - 2026-04-02
215
+
216
+ ### Added
217
+ - Strict primary key uniqueness enforcement with inverted index lookups
218
+
219
+ ### Fixed
220
+ - PK uniqueness for upsert operations
221
+ - macOS build compatibility
222
+
223
+ ---
224
+
225
+ ## [0.1.5] - 2026-04-02
226
+
227
+ ### Added
228
+ - HNSW-IVF stabilization
229
+ - Python extras hardware mapping (`all_gpu`, `intel_cpu`)
230
+
231
+ ### Changed
232
+ - Fully internalized `hnsw_rs` to `src/core/index/hnsw_rs` for crates.io compatibility
233
+ - Resolved `unexpected_cfgs` warnings
234
+
235
+ ---
236
+
237
+ ## [0.1.3] - 2026-04-01
238
+
239
+ ### Fixed
240
+ - HNSW crate patch compatibility
241
+
242
+ ---
243
+
244
+ ## [0.1.2] - 2026-03-31
245
+
246
+ ### Added
247
+ - Vector search parameter tuning
248
+ - Enhanced diagnostics and query optimization
249
+ - Python API improvements
250
+ - Explain plan enhancements
251
+
252
+ ### Changed
253
+ - Improved API design and explain output
254
+ - Stabilized hybrid search pipeline and RAG demo
255
+ - CI: gated FFI and connector tests behind `java` feature
256
+ - CI: removed Linux aarch64 from release matrix
257
+ - CI: switched to Zig-based cross-compilation
258
+ - CI: added Rust caching for faster builds
259
+
260
+ ### Fixed
261
+ - Restored `add_index_columns` method for Python/Rust bindings
262
+ - OpenCL linker errors and cross-compilation issues
263
+ - Manylinux compatibility for both architectures
264
+
265
+ ---
266
+
267
+ ## [0.1.1] - 2026-03-30
268
+
269
+ ### Added
270
+ - Vector UDFs and aggregates registered in SQL context
271
+ - Hybrid search stabilization
272
+ - Initial RAG demo support
273
+
274
+ ### Changed
275
+ - Aligned development guidelines with pragmatic programmer principles
276
+ - Registered vector operators with DataFusion for hybrid queries
277
+
278
+ ---
279
+
280
+ ## [0.1.0] - 2026-03-30
281
+
282
+ ### Added
283
+ - Initial release of HyperStreamDB
284
+ - Serverless index-streaming database with overlay indexing
285
+ - Apache Iceberg V2/V3 compliance
286
+ - Persistent scalar (RoaringBitmap) and vector (HNSW) indexes
287
+ - Native SQL support via DataFusion
288
+ - Python bindings via PyO3
289
+ - Multi-backend GPU acceleration (CUDA, ROCm, Metal, Intel XPU)
290
+ - Fluent query API with method chaining
291
+ - pgvector-compatible SQL operators
292
+
293
+ ---
294
+
295
+ [Unreleased]: https://github.com/rla3rd/hyperstreamdb/compare/v0.5.0...HEAD
296
+ [0.5.0]: https://github.com/rla3rd/hyperstreamdb/compare/v0.4.1...v0.5.0
297
+ [0.4.0]: https://github.com/rla3rd/hyperstreamdb/compare/v0.3.3...v0.4.0
298
+ [0.3.3]: https://github.com/rla3rd/hyperstreamdb/compare/v0.3.2...v0.3.3
299
+ [0.3.2]: https://github.com/rla3rd/hyperstreamdb/compare/v0.3.1...v0.3.2
300
+ [0.3.1]: https://github.com/rla3rd/hyperstreamdb/compare/v0.3.0...v0.3.1
301
+ [0.3.0]: https://github.com/rla3rd/hyperstreamdb/compare/v0.2.6...v0.3.0
302
+ [0.2.6]: https://github.com/rla3rd/hyperstreamdb/compare/v0.2.3...v0.2.6
303
+ [0.2.3]: https://github.com/rla3rd/hyperstreamdb/compare/v0.2.1...v0.2.3
304
+ [0.2.1]: https://github.com/rla3rd/hyperstreamdb/compare/v0.2.0...v0.2.1
305
+ [0.2.0]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.12...v0.2.0
306
+ [0.1.12]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.9...v0.1.12
307
+ [0.1.9]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.8...v0.1.9
308
+ [0.1.8]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.7...v0.1.8
309
+ [0.1.7]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.6...v0.1.7
310
+ [0.1.6]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.5...v0.1.6
311
+ [0.1.5]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.3...v0.1.5
312
+ [0.1.3]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.2...v0.1.3
313
+ [0.1.2]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.1...v0.1.2
314
+ [0.1.1]: https://github.com/rla3rd/hyperstreamdb/compare/v0.1.0...v0.1.1
315
+ [0.1.0]: https://github.com/rla3rd/hyperstreamdb/releases/tag/v0.1.0
@@ -0,0 +1,254 @@
1
+ # Contributing to HyperStreamDB
2
+
3
+ Thank you for your interest in contributing! HyperStreamDB is a serverless index-streaming database built in Rust with Python and Java bindings. This document outlines how to set up your development environment and the conventions we follow.
4
+
5
+ ## Project Principles
6
+
7
+ Before contributing, please read [STEERING.md](STEERING.md) for our development philosophy. It covers our approach to code quality, design, and release readiness based on *The Pragmatic Programmer*.
8
+
9
+ ---
10
+
11
+ ## Development Setup
12
+
13
+ ### Prerequisites
14
+
15
+ - **Rust** (stable, 1.75+) — install via [rustup](https://rustup.rs/)
16
+ - **Python** (3.10–3.14) — for binding development and testing
17
+ - **Docker** — for integration tests against MinIO and Nessie
18
+ - **Cargo** and **maturin** — for building Python wheels
19
+
20
+ ```bash
21
+ # Install Rust
22
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
23
+
24
+ # Install maturin (Python-Rust build tool)
25
+ pip install maturin
26
+
27
+ # Clone and build
28
+ git clone https://github.com/rla3rd/hyperstreamdb.git
29
+ cd hyperstreamdb
30
+ cargo build --release
31
+ ```
32
+
33
+ ### Python Bindings
34
+
35
+ ```bash
36
+ # Develop Python bindings locally
37
+ maturin develop
38
+
39
+ # Run Python tests
40
+ pytest tests/
41
+ ```
42
+
43
+ ### Docker Services
44
+
45
+ ```bash
46
+ # Start MinIO (S3-compatible storage) and Nessie (Iceberg catalog)
47
+ docker compose -f docker-compose-minio-nessie.yml up -d
48
+
49
+ # Run integration tests
50
+ pytest tests/integration/
51
+ ```
52
+
53
+ ### GPU Acceleration (Optional)
54
+
55
+ GPU features are optional and feature-gated. To build with GPU support:
56
+
57
+ ```bash
58
+ # With CUDA (NVIDIA)
59
+ cargo build --features cuda
60
+
61
+ # With WGPU (Vulkan/Metal/ROCm)
62
+ cargo build --features wgpu
63
+ ```
64
+
65
+ See the [README](README.md#gpu-acceleration-optional) for hardware-specific installation guides.
66
+
67
+ ---
68
+
69
+ ## Coding Standards
70
+
71
+ ### Rust
72
+
73
+ - **Formatting**: Run `cargo fmt` before committing. We use `rustfmt` defaults.
74
+ - **Linting**: Run `cargo clippy --all-features` and resolve all warnings. Treat clippy warnings as errors.
75
+ - **Naming**:
76
+ - Modules: `snake_case`
77
+ - Types/Structs: `PascalCase`
78
+ - Functions/methods: `snake_case`
79
+ - Constants: `SCREAMING_SNAKE_CASE`
80
+ - **Error handling**: Use `Result<T, HyperstreamError>` throughout. Never use `.unwrap()` in library code — prefer `.expect()` with a descriptive message or proper error propagation.
81
+ - **Documentation**: All `pub` items must have rustdoc comments. Run `cargo doc --no-deps` to verify.
82
+
83
+ ### Python
84
+
85
+ - Follow [PEP 8](https://peps.python.org/pep-0008/) for style
86
+ - Use type hints on all public functions and methods
87
+ - Docstrings should follow [Google style](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings)
88
+
89
+ ### Commit Messages
90
+
91
+ We follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):
92
+
93
+ ```
94
+ <type>(<scope>): <description>
95
+
96
+ [optional body]
97
+ ```
98
+
99
+ **Types:**
100
+ | Type | Description |
101
+ |------------|--------------------------------------------------|
102
+ | `feat` | New feature or functionality |
103
+ | `fix` | Bug fix |
104
+ | `perf` | Performance improvement |
105
+ | `refactor` | Code change that neither fixes a bug nor adds a feature |
106
+ | `docs` | Documentation only changes |
107
+ | `test` | Adding or correcting tests |
108
+ | `chore` | Maintenance, CI, build, dependency updates |
109
+ | `ci` | Continuous Integration configuration changes |
110
+
111
+ **Examples:**
112
+ ```
113
+ feat(indexing): stabilize HNSW SIMD indexing and remove legacy simdeez dependency
114
+ fix: resolve rustdoc warnings and pyo3 API compatibility
115
+ refactor(gpu): implement hardware-agnostic compute dispatch with thread-local context
116
+ docs: switch to GitHub Actions for Pages deployment
117
+ test: add comprehensive unit test suites for Spark and Trino connectors
118
+ chore: bump version to v0.4.0
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Branch Naming Conventions
124
+
125
+ ```
126
+ feat/<feature-name> # New features
127
+ fix/<issue-or-bug> # Bug fixes
128
+ refactor/<component> # Refactoring work
129
+ docs/<topic> # Documentation changes
130
+ test/<scope> # Test additions or changes
131
+ chore/<task> # Maintenance tasks
132
+ ```
133
+
134
+ **Examples:**
135
+ - `feat/tiered-manifests`
136
+ - `fix/hybrid-search-fallback`
137
+ - `refactor/gpu-context`
138
+ - `test/spark-connector`
139
+
140
+ ---
141
+
142
+ ## Pull Request Process
143
+
144
+ ### 1. Create a Draft PR
145
+
146
+ Start with a **Draft PR** while work is in progress. This allows early feedback without triggering full CI review.
147
+
148
+ ### 2. Self-Review Checklist
149
+
150
+ Before marking your PR as **Ready for Review**:
151
+
152
+ - [ ] Code passes `cargo fmt` and `cargo clippy` with zero warnings
153
+ - [ ] All tests pass (`cargo test` and `pytest tests/`)
154
+ - [ ] New features include corresponding unit and/or integration tests
155
+ - [ ] Public API changes have rustdoc documentation
156
+ - [ ] `CHANGELOG.md` is updated (if this is a user-facing change)
157
+ - [ ] No broken windows: compiler warnings, failing tests, or suboptimal patterns
158
+
159
+ ### 3. CI Validation
160
+
161
+ The CI pipeline runs:
162
+ - **Rust checks**: `cargo check`, `cargo clippy`, `cargo test`
163
+ - **Python tests**: `pytest`
164
+ - **Documentation build**: `cargo doc --no-deps`
165
+ - **Integration tests**: against MinIO and Nessie (when applicable)
166
+
167
+ All CI checks must pass before merge.
168
+
169
+ ### 4. Review and Merge
170
+
171
+ - PRs require at least one approval from a maintainer
172
+ - Address all review comments before merging
173
+ - Squash-merge to keep history clean
174
+
175
+ ---
176
+
177
+ ## Testing Requirements
178
+
179
+ ### Unit Tests
180
+
181
+ Every new feature or bug fix must include unit tests. Use `#[cfg(test)]` modules within the relevant source file:
182
+
183
+ ```rust
184
+ #[cfg(test)]
185
+ mod tests {
186
+ use super::*;
187
+
188
+ #[test]
189
+ fn test_feature_behavior() {
190
+ // ...
191
+ }
192
+ }
193
+ ```
194
+
195
+ ### Integration Tests
196
+
197
+ For features that span multiple modules or involve external systems (storage, catalogs), add integration tests under `tests/integration/`:
198
+
199
+ ```bash
200
+ # Run all integration tests
201
+ pytest tests/integration/
202
+
203
+ # Run specific test
204
+ pytest tests/integration/test_hybrid_search.py -v
205
+ ```
206
+
207
+ ### Benchmarks
208
+
209
+ Performance-critical changes should include benchmark updates:
210
+
211
+ ```bash
212
+ # Run Criterion benchmarks
213
+ cargo bench
214
+
215
+ # Quick benchmark suite
216
+ python benchmarks/benchmark_suite.py --quick
217
+ ```
218
+
219
+ ---
220
+
221
+ ## Building Connectors
222
+
223
+ The Spark and Trino connectors require a separate build step:
224
+
225
+ ```bash
226
+ # Build all connector variants
227
+ ./build-connectors.sh
228
+
229
+ # Build with CUDA support
230
+ ./build-connectors.sh --cuda
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Release Process
236
+
237
+ Releases are tagged and published by the maintainer. The process involves:
238
+
239
+ 1. Bump version in `Cargo.toml` (single source of truth)
240
+ 2. Update `CHANGELOG.md` with release date
241
+ 3. Create git tag: `git tag v0.X.Y`
242
+ 4. Push tag: `git push origin v0.X.Y`
243
+ 5. CI automatically publishes to crates.io and PyPI
244
+
245
+ ---
246
+
247
+ ## Questions or Issues?
248
+
249
+ - Open a [GitHub Issue](https://github.com/rla3rd/hyperstreamdb/issues) for bugs or feature requests
250
+ - For discussions, use the Discussions tab or reach out directly
251
+
252
+ ---
253
+
254
+ **Stay Pragmatic. Stay Antigravity.**