motedb-python 0.15.2__tar.gz → 0.17.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 (658) hide show
  1. motedb_python-0.17.0/.github/FUNDING.yml +11 -0
  2. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/ci.yml +10 -1
  3. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/node-publish.yml +61 -4
  4. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/release-smoke.yml +5 -1
  5. motedb_python-0.17.0/CAPABILITIES.md +179 -0
  6. {motedb_python-0.15.2 → motedb_python-0.17.0}/CHANGELOG.md +509 -0
  7. motedb_python-0.17.0/CODE_OF_CONDUCT.md +105 -0
  8. {motedb_python-0.15.2 → motedb_python-0.17.0}/Cargo.lock +27 -9
  9. {motedb_python-0.15.2 → motedb_python-0.17.0}/Cargo.toml +2 -2
  10. motedb_python-0.17.0/GOVERNANCE.md +153 -0
  11. {motedb_python-0.15.2 → motedb_python-0.17.0}/PKG-INFO +1 -1
  12. {motedb_python-0.15.2 → motedb_python-0.17.0}/README.md +7 -4
  13. motedb_python-0.17.0/ROADMAP.md +151 -0
  14. motedb_python-0.17.0/VERSIONING.md +49 -0
  15. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/Cargo.lock +26 -8
  16. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/Cargo.toml +1 -1
  17. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/e2e/e2e_workload.py +40 -0
  18. motedb_python-0.17.0/bindings/python/e2e/test_mcp_stdio.py +98 -0
  19. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/src/lib.rs +196 -30
  20. motedb_python-0.17.0/community/README.md +160 -0
  21. {motedb_python-0.15.2 → motedb_python-0.17.0}/deny.toml +14 -0
  22. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/01-quick-start.md +8 -1
  23. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/02-installation.md +3 -3
  24. motedb_python-0.17.0/docs/03-sql-operations.md +364 -0
  25. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/05-transactions.md +14 -0
  26. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/08-vector-index.md +49 -0
  27. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/09-text-index.md +30 -0
  28. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/10-spatial-index.md +9 -10
  29. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/13-data-types.md +28 -7
  30. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/14-api-reference.md +55 -1
  31. motedb_python-0.17.0/docs/17-hybrid-arrow.md +52 -0
  32. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/README.md +1 -1
  33. motedb_python-0.17.0/docs/api/public-api-baseline.txt +9480 -0
  34. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/design/2026-10-industry-parity-plan.md +71 -12
  35. motedb_python-0.17.0/docs/design/2026-10-order-by-internals.md +248 -0
  36. motedb_python-0.17.0/docs/design/2026-10-txn-fix-log.md +170 -0
  37. {motedb_python-0.15.2 → motedb_python-0.17.0}/pyproject.toml +1 -1
  38. {motedb_python-0.15.2 → motedb_python-0.17.0}/python/motedb/mcp.py +33 -8
  39. motedb_python-0.17.0/scripts/check_public_api.sh +49 -0
  40. motedb_python-0.17.0/scripts/gen_format_fixture.rs +57 -0
  41. motedb_python-0.17.0/scripts/gen_format_fixtures.sh +32 -0
  42. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/api.rs +52 -21
  43. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/bin/motedb-cli.rs +4 -0
  44. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/cache/row_cache.rs +76 -1
  45. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/catalog/registry.rs +42 -2
  46. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/config.rs +12 -0
  47. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/core.rs +186 -53
  48. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/crud.rs +341 -48
  49. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/timestamp.rs +7 -7
  50. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/vector.rs +53 -1
  51. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/persistence.rs +17 -0
  52. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/table.rs +33 -0
  53. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/transaction.rs +274 -125
  54. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/export/parquet.rs +17 -0
  55. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/ffi.rs +87 -0
  56. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/btree.rs +320 -59
  57. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/btree_generic.rs +124 -3
  58. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/cached_index.rs +15 -2
  59. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/text_fts.rs +223 -20
  60. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/text_types.rs +75 -26
  61. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/tokenizers.rs +46 -0
  62. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/config.rs +9 -0
  63. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/disk_graph.rs +57 -15
  64. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/diskann_index.rs +68 -34
  65. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/sq8_vectors.rs +33 -0
  66. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/ast.rs +96 -6
  67. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/evaluator.rs +254 -34
  68. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/executor/agg.rs +72 -3
  69. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/executor/join.rs +7 -3
  70. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/executor/mod.rs +1512 -337
  71. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/executor/scan.rs +87 -16
  72. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/lexer.rs +26 -0
  73. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/parser.rs +261 -17
  74. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/row_converter.rs +59 -105
  75. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/vector_exec.rs +69 -19
  76. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/col_segment/manifest.rs +6 -1
  77. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/col_segment/merge.rs +23 -1
  78. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/col_segment/segment.rs +9 -1
  79. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/col_segment/store.rs +722 -159
  80. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/colbatch.rs +16 -1
  81. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/columnar.rs +297 -17
  82. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/row_format.rs +77 -9
  83. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/coordinator.rs +38 -16
  84. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/version_store.rs +90 -54
  85. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/wal.rs +96 -12
  86. motedb_python-0.17.0/src/types/date.rs +146 -0
  87. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/mod.rs +93 -0
  88. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/table.rs +70 -0
  89. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/timestamp.rs +44 -9
  90. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/.lock +0 -0
  91. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/catalog.bin +0 -0
  92. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/columnar_ms/mig/0000000001.sst +0 -0
  93. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/columnar_ms/mig/MANIFEST +0 -0
  94. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/columnar_ms/mig_vec/0000000001.sst +0 -0
  95. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/columnar_ms/mig_vec/MANIFEST +0 -0
  96. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/fts_indexes.fresh +1 -0
  97. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/indexes/timestamp.idx +0 -0
  98. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/lsm/blobs/00000001.blob +0 -0
  99. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/lsn_counter +0 -0
  100. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/wal/partition_0.wal +0 -0
  101. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/wal/partition_1.wal +0 -0
  102. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/wal/partition_2.wal +0 -0
  103. motedb_python-0.17.0/tests/fixtures/formats/v0.12.9/db.mote/wal/partition_3.wal +0 -0
  104. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/.lock +0 -0
  105. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/catalog.bin +0 -0
  106. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/columnar_ms/mig/0000000001.sst +0 -0
  107. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/columnar_ms/mig/MANIFEST +0 -0
  108. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/columnar_ms/mig_vec/0000000001.sst +0 -0
  109. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/columnar_ms/mig_vec/MANIFEST +0 -0
  110. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/fts_indexes.fresh +1 -0
  111. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/indexes/timestamp.idx +0 -0
  112. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/lsm/blobs/00000001.blob +0 -0
  113. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/lsn_counter +0 -0
  114. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/wal/partition_0.wal +0 -0
  115. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/wal/partition_1.wal +0 -0
  116. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/wal/partition_2.wal +0 -0
  117. motedb_python-0.17.0/tests/fixtures/formats/v0.13.0/db.mote/wal/partition_3.wal +0 -0
  118. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/.lock +0 -0
  119. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/catalog.bin +0 -0
  120. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/columnar_ms/mig/0000000001.sst +0 -0
  121. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/columnar_ms/mig/MANIFEST +0 -0
  122. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/columnar_ms/mig_vec/0000000001.sst +0 -0
  123. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/columnar_ms/mig_vec/MANIFEST +0 -0
  124. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/fts_indexes.fresh +1 -0
  125. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/indexes/timestamp.idx +0 -0
  126. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/lsm/blobs/00000001.blob +0 -0
  127. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/lsn_counter +0 -0
  128. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/wal/partition_0.wal +0 -0
  129. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/wal/partition_1.wal +0 -0
  130. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/wal/partition_2.wal +0 -0
  131. motedb_python-0.17.0/tests/fixtures/formats/v0.14.0/db.mote/wal/partition_3.wal +0 -0
  132. motedb_python-0.17.0/tests/fixtures/formats/v0.15.2/db.mote/.lock +0 -0
  133. motedb_python-0.17.0/tests/fixtures/formats/v0.15.2/db.mote/columnar_ms/MANIFEST +0 -0
  134. motedb_python-0.17.0/tests/fixtures/formats/v0.15.2/db.mote/columnar_ms/mig/0000000001.sst +0 -0
  135. motedb_python-0.17.0/tests/fixtures/formats/v0.15.2/db.mote/columnar_ms/mig_vec/0000000001.sst +0 -0
  136. motedb_python-0.17.0/tests/fixtures/formats/v0.15.2/db.mote/meta.bin +0 -0
  137. motedb_python-0.17.0/tests/test_blob_where.rs +156 -0
  138. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt2.rs +8 -2
  139. motedb_python-0.17.0/tests/test_bug_hunt_v102.rs +329 -0
  140. motedb_python-0.17.0/tests/test_bug_hunt_v103.rs +245 -0
  141. motedb_python-0.17.0/tests/test_bug_hunt_v104.rs +436 -0
  142. motedb_python-0.17.0/tests/test_bug_hunt_v105.rs +310 -0
  143. motedb_python-0.17.0/tests/test_bug_hunt_v106.rs +229 -0
  144. motedb_python-0.17.0/tests/test_bug_hunt_v107.rs +260 -0
  145. motedb_python-0.17.0/tests/test_bug_hunt_v108.rs +275 -0
  146. motedb_python-0.17.0/tests/test_bug_hunt_v110.rs +506 -0
  147. motedb_python-0.17.0/tests/test_bug_hunt_v111.rs +550 -0
  148. motedb_python-0.17.0/tests/test_bug_hunt_v112.rs +430 -0
  149. motedb_python-0.17.0/tests/test_bug_hunt_v113.rs +476 -0
  150. motedb_python-0.17.0/tests/test_bug_hunt_v114.rs +347 -0
  151. motedb_python-0.17.0/tests/test_bug_hunt_v115.rs +338 -0
  152. motedb_python-0.17.0/tests/test_bug_hunt_v116.rs +347 -0
  153. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v14.rs +9 -1
  154. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v18.rs +8 -7
  155. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v24.rs +9 -1
  156. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v5.rs +8 -1
  157. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v71.rs +8 -1
  158. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_comprehensive.rs +2 -1
  159. motedb_python-0.17.0/tests/test_concurrent_agg_consistency.rs +328 -0
  160. motedb_python-0.17.0/tests/test_concurrent_transfer_drift.rs +118 -0
  161. motedb_python-0.17.0/tests/test_concurrent_txn_ww.rs +230 -0
  162. motedb_python-0.17.0/tests/test_correlated_subquery.rs +145 -0
  163. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_crash_injection.rs +215 -1
  164. motedb_python-0.17.0/tests/test_date_type.rs +212 -0
  165. motedb_python-0.17.0/tests/test_drop_table_raw_api.rs +63 -0
  166. motedb_python-0.17.0/tests/test_ffi_panic_guard.rs +80 -0
  167. motedb_python-0.17.0/tests/test_format_migration.rs +131 -0
  168. motedb_python-0.17.0/tests/test_fts_phrase_multi_flush.rs +200 -0
  169. motedb_python-0.17.0/tests/test_group_by_arith_semantics.rs +129 -0
  170. motedb_python-0.17.0/tests/test_insert_unknown_column.rs +97 -0
  171. motedb_python-0.17.0/tests/test_like_escape.rs +155 -0
  172. motedb_python-0.17.0/tests/test_merge_placeholder_width.rs +308 -0
  173. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_no_bloat.rs +15 -5
  174. motedb_python-0.17.0/tests/test_quoted_vector_literal.rs +114 -0
  175. motedb_python-0.17.0/tests/test_report_round3_regressions.rs +490 -0
  176. motedb_python-0.17.0/tests/test_report_round4_regressions.rs +316 -0
  177. motedb_python-0.17.0/tests/test_report_s1_regressions.rs +479 -0
  178. motedb_python-0.17.0/tests/test_row_cache_delete_ghost.rs +106 -0
  179. motedb_python-0.17.0/tests/test_stability_round5.rs +678 -0
  180. motedb_python-0.17.0/tests/test_timestamp_index_duplicates.rs +275 -0
  181. motedb_python-0.17.0/tests/test_ts_index_nonfirst.rs +102 -0
  182. motedb_python-0.17.0/tests/test_txn_delete_reinsert.rs +161 -0
  183. motedb_python-0.17.0/tests/test_txn_read_your_writes.rs +126 -0
  184. motedb_python-0.17.0/tests/test_vector_index_knobs.rs +86 -0
  185. motedb_python-0.17.0/tests/test_vector_knn_sql_uses_index.rs +115 -0
  186. motedb_python-0.17.0/tests/test_window_frames.rs +385 -0
  187. motedb_python-0.15.2/docs/03-sql-operations.md +0 -570
  188. motedb_python-0.15.2/docs/17-hybrid-arrow.md +0 -50
  189. {motedb_python-0.15.2 → motedb_python-0.17.0}/.cargo/config.toml +0 -0
  190. {motedb_python-0.15.2 → motedb_python-0.17.0}/.devcontainer/devcontainer.json +0 -0
  191. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  192. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  193. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  194. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/ISSUE_TEMPLATE/install_problem.yml +0 -0
  195. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/pull_request_template.md +0 -0
  196. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/fuzz.yml +0 -0
  197. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/perf-gate.yml +0 -0
  198. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/publish.yml +0 -0
  199. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/python-wheels.yml +0 -0
  200. {motedb_python-0.15.2 → motedb_python-0.17.0}/.github/workflows/site.yml +0 -0
  201. {motedb_python-0.15.2 → motedb_python-0.17.0}/.gitignore +0 -0
  202. {motedb_python-0.15.2 → motedb_python-0.17.0}/.zcode/plans/plan-sess_abb2c954-05fb-477e-9d0a-3e22261e2449.md +0 -0
  203. {motedb_python-0.15.2 → motedb_python-0.17.0}/.zcode/plans/plan-sess_b5937a06-b7bf-4471-9756-dbf2787b263c.md +0 -0
  204. {motedb_python-0.15.2 → motedb_python-0.17.0}/CONTRIBUTING.md +0 -0
  205. {motedb_python-0.15.2 → motedb_python-0.17.0}/LICENSE +0 -0
  206. {motedb_python-0.15.2 → motedb_python-0.17.0}/Makefile +0 -0
  207. {motedb_python-0.15.2 → motedb_python-0.17.0}/RELEASE_NOTES.md +0 -0
  208. {motedb_python-0.15.2 → motedb_python-0.17.0}/SECURITY.md +0 -0
  209. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/go/README.md +0 -0
  210. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/go/go.mod +0 -0
  211. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/go/motedb.go +0 -0
  212. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/go/motedb.h +0 -0
  213. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/go/motedb_test.go +0 -0
  214. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/README.md +0 -0
  215. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/README.md +0 -0
  216. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/adversarial_verify.py +0 -0
  217. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/bench_edge.py +0 -0
  218. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_bench.py +0 -0
  219. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_fts_industry.py +0 -0
  220. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_scale.py +0 -0
  221. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_spatial_ts.py +0 -0
  222. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_vec_engines.py +0 -0
  223. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_vec_industry.py +0 -0
  224. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/compete_writes.py +0 -0
  225. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/fts_probe_once.py +0 -0
  226. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/perf_ab.py +0 -0
  227. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/perf_overall.py +0 -0
  228. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_ann.py +0 -0
  229. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_fts.py +0 -0
  230. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_insert.py +0 -0
  231. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_point.py +0 -0
  232. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_real.py +0 -0
  233. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_scale.py +0 -0
  234. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_scale_vec.py +0 -0
  235. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/prof_vec_parallel.py +0 -0
  236. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/resource_bench.py +0 -0
  237. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/resource_bench_2026-09_profile.json +0 -0
  238. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/resource_bench_v0.10.0.json +0 -0
  239. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/spatial_eval.py +0 -0
  240. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/text_eval.py +0 -0
  241. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/ts_eval.py +0 -0
  242. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/bench/vector_recall_eval.py +0 -0
  243. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/build.rs +0 -0
  244. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/e2e/test_durability_kwarg.py +0 -0
  245. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/e2e/test_snapshot_export.py +0 -0
  246. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/licenses/LICENSE +0 -0
  247. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/scripts/build_wheel.sh +0 -0
  248. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/data/demo.mcap +0 -0
  249. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_backup.py +0 -0
  250. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_crash_recovery.py +0 -0
  251. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_e2e_cli.py +0 -0
  252. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_e2e_functional.py +0 -0
  253. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_feature_selfcheck.py +0 -0
  254. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_fetch_arrays.py +0 -0
  255. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_fuzz_bigtable.py +0 -0
  256. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_fuzz_differential.py +0 -0
  257. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_insert_arrays.py +0 -0
  258. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_mcap_import.py +0 -0
  259. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_parallel_ab.py +0 -0
  260. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_parquet_lerobot.py +0 -0
  261. {motedb_python-0.15.2 → motedb_python-0.17.0}/bindings/python/tests/test_smoke.py +0 -0
  262. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/04-batch-operations.md +0 -0
  263. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/06-indexes-overview.md +0 -0
  264. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/07-column-index.md +0 -0
  265. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/11-timestamp-index.md +0 -0
  266. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/12-performance.md +0 -0
  267. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/15-best-practices.md +0 -0
  268. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/16-faq.md +0 -0
  269. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/18-install-troubleshooting.md +0 -0
  270. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/19-training-dataloader.md +0 -0
  271. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/20-mcp.md +0 -0
  272. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/benchmark_methodology.md +0 -0
  273. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/design/2026-10-embodied-roadmap.md +0 -0
  274. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/design/2026-10-file-layout-plan.md +0 -0
  275. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/design/2026-10-file-layout.md +0 -0
  276. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/design/2026-10-good-first-issues.md +0 -0
  277. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/design/2026-10-traj-spike.md +0 -0
  278. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/paper/README.md +0 -0
  279. {motedb_python-0.15.2 → motedb_python-0.17.0}/docs/paper/motedb.tex +0 -0
  280. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_300k.rs +0 -0
  281. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_autocommit_lock.rs +0 -0
  282. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_disk.rs +0 -0
  283. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_exec_only.rs +0 -0
  284. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_insert_engine.rs +0 -0
  285. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_layer.rs +0 -0
  286. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_memory.rs +0 -0
  287. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_multimodal_vs_competitors.rs +0 -0
  288. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_point_read.rs +0 -0
  289. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_profile_hot.rs +0 -0
  290. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_scaling.rs +0 -0
  291. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_stability.rs +0 -0
  292. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/bench_vs_sqlite.rs +0 -0
  293. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/corruption_fuzz.rs +0 -0
  294. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/crud.rs +0 -0
  295. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/differential_fuzz.rs +0 -0
  296. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/file_layout_bench.rs +0 -0
  297. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/gen_test_bag.rs +0 -0
  298. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/hello_world.rs +0 -0
  299. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/join_differential_fuzz.rs +0 -0
  300. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/lerobot_interop.rs +0 -0
  301. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/logging.rs +0 -0
  302. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/parquet_interop.rs +0 -0
  303. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/perf_smoke.rs +0 -0
  304. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/probe_ckpt.rs +0 -0
  305. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/probe_filter_decomp.rs +0 -0
  306. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/probe_jemalloc.rs +0 -0
  307. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/probe_memory_source.rs +0 -0
  308. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/probe_tail_latency.rs +0 -0
  309. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/text_rank_probe.rs +0 -0
  310. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/torch_dataloader.py +0 -0
  311. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/traj_spike.rs +0 -0
  312. {motedb_python-0.15.2 → motedb_python-0.17.0}/examples/vector_recall_real.rs +0 -0
  313. {motedb_python-0.15.2 → motedb_python-0.17.0}/licenses/LICENSE +0 -0
  314. {motedb_python-0.15.2 → motedb_python-0.17.0}/python/motedb/__init__.py +0 -0
  315. {motedb_python-0.15.2 → motedb_python-0.17.0}/python/motedb/torch.py +0 -0
  316. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/Dockerfile.e2e +0 -0
  317. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/bench_industry.sh +0 -0
  318. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/bench_report.py +0 -0
  319. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/compete.sh +0 -0
  320. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/docker_e2e.sh +0 -0
  321. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/release_smoke.sh +0 -0
  322. {motedb_python-0.15.2 → motedb_python-0.17.0}/scripts/repro_point_query_gap.sh +0 -0
  323. {motedb_python-0.15.2 → motedb_python-0.17.0}/site/index.html +0 -0
  324. {motedb_python-0.15.2 → motedb_python-0.17.0}/site/llms-full.txt +0 -0
  325. {motedb_python-0.15.2 → motedb_python-0.17.0}/site/llms.txt +0 -0
  326. {motedb_python-0.15.2 → motedb_python-0.17.0}/site/robots.txt +0 -0
  327. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/cache/mod.rs +0 -0
  328. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/catalog/mod.rs +0 -0
  329. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/datasets.rs +0 -0
  330. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/doctor.rs +0 -0
  331. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/helpers.rs +0 -0
  332. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/index_metadata.rs +0 -0
  333. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/column.rs +0 -0
  334. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/dashmap_migration.md +0 -0
  335. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/ioctree.rs +0 -0
  336. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/mod.rs +0 -0
  337. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/indexes/text.rs +0 -0
  338. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/mem_buffer.rs +0 -0
  339. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/meta_store.rs +0 -0
  340. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/mod.rs +0 -0
  341. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/pk_cache.rs +0 -0
  342. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/snapshot.rs +0 -0
  343. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/database/timeseries.rs +0 -0
  344. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/distance/cosine.rs +0 -0
  345. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/distance/euclidean.rs +0 -0
  346. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/distance/mod.rs +0 -0
  347. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/error.rs +0 -0
  348. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/export/lerobot.rs +0 -0
  349. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/export/mod.rs +0 -0
  350. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/builder.rs +0 -0
  351. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/column_value.rs +0 -0
  352. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/fresh_graph.rs +0 -0
  353. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/ioctree/leaf_store.rs +0 -0
  354. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/ioctree/mod.rs +0 -0
  355. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/ioctree/node.rs +0 -0
  356. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/ioctree/persistence.rs +0 -0
  357. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/ioctree/search.rs +0 -0
  358. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/mod.rs +0 -0
  359. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/primary_key.rs +0 -0
  360. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/text_dictionary.rs +0 -0
  361. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/text_encoding.rs +0 -0
  362. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/text_query.rs +0 -0
  363. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/mod.rs +0 -0
  364. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/pruner.rs +0 -0
  365. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/index/vamana/sq8.rs +0 -0
  366. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/lib.rs +0 -0
  367. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/mcap_import.rs +0 -0
  368. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/platform_io.rs +0 -0
  369. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/join/hash_join.rs +0 -0
  370. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/join/index_join.rs +0 -0
  371. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/join/mod.rs +0 -0
  372. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/mod.rs +0 -0
  373. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/optimizer.rs +0 -0
  374. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/sql/token.rs +0 -0
  375. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/checksum.rs +0 -0
  376. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/col_segment/mod.rs +0 -0
  377. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/column_encoding.rs +0 -0
  378. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/config.rs +0 -0
  379. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/gorilla.rs +0 -0
  380. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/mod.rs +0 -0
  381. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/segment.rs +0 -0
  382. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/segment_manager.rs +0 -0
  383. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/store.rs +0 -0
  384. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/columnar/write_buffer.rs +0 -0
  385. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/file_manager.rs +0 -0
  386. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/blobstore.rs +0 -0
  387. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/bloom.rs +0 -0
  388. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/compaction.rs +0 -0
  389. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/engine.rs +0 -0
  390. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/memtable.rs +0 -0
  391. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/merging_iterator.rs +0 -0
  392. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/mod.rs +0 -0
  393. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/sstable.rs +0 -0
  394. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/lsm/unified_memtable.rs +0 -0
  395. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/manifest/manifest.rs +0 -0
  396. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/manifest/mod.rs +0 -0
  397. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/manifest/version.rs +0 -0
  398. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/storage/mod.rs +0 -0
  399. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/lock_manager.rs +0 -0
  400. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/mod.rs +0 -0
  401. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/mvcc.rs +0 -0
  402. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/txn/recovery.rs +0 -0
  403. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/comp_sum.rs +0 -0
  404. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/spatial.rs +0 -0
  405. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/tensor.rs +0 -0
  406. {motedb_python-0.15.2 → motedb_python-0.17.0}/src/types/text.rs +0 -0
  407. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/acid_test.rs +0 -0
  408. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_2m.rs +0 -0
  409. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_acid.rs +0 -0
  410. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_batch_ops.rs +0 -0
  411. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_compare.rs +0 -0
  412. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_comprehensive.rs +0 -0
  413. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_concurrent.rs +0 -0
  414. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_index_ops.rs +0 -0
  415. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_multimodal.rs +0 -0
  416. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_multimodal_full.rs +0 -0
  417. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_multimodal_ops.rs +0 -0
  418. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_perf_report.rs +0 -0
  419. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_quick_baseline.rs +0 -0
  420. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_release.rs +0 -0
  421. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_report.rs +0 -0
  422. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_resource.rs +0 -0
  423. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_sql_queries.rs +0 -0
  424. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_timeseries_index.rs +0 -0
  425. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_v060_report.rs +0 -0
  426. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_vs_sqlite_100k.rs +0 -0
  427. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/bench_vs_sqlite_v05.rs +0 -0
  428. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/common/mod.rs +0 -0
  429. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/durability_probe.rs +0 -0
  430. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/fts_probe.rs +0 -0
  431. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/perf_test.rs +0 -0
  432. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/repro_multirow_update_fts.rs +0 -0
  433. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/repro_point_gap.rs +0 -0
  434. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/stress_300k.rs +0 -0
  435. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/stress_test.rs +0 -0
  436. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_acid_audit.rs +0 -0
  437. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_acid_comprehensive.rs +0 -0
  438. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_advanced_hunt.rs +0 -0
  439. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_api_correctness.rs +0 -0
  440. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_asof_join.rs +0 -0
  441. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_auto_checkpoint_segments.rs +0 -0
  442. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_backup.rs +0 -0
  443. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_blob_type.rs +0 -0
  444. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_btree_integrity.rs +0 -0
  445. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt.rs +0 -0
  446. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt3.rs +0 -0
  447. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt4.rs +0 -0
  448. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt5.rs +0 -0
  449. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt6.rs +0 -0
  450. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt7.rs +0 -0
  451. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v10.rs +0 -0
  452. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v100.rs +0 -0
  453. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v101.rs +0 -0
  454. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v11.rs +0 -0
  455. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v12.rs +0 -0
  456. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v13.rs +0 -0
  457. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v15.rs +0 -0
  458. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v16.rs +0 -0
  459. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v17_cte.rs +0 -0
  460. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v19.rs +0 -0
  461. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v2.rs +0 -0
  462. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v20.rs +0 -0
  463. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v21.rs +0 -0
  464. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v22.rs +0 -0
  465. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v23.rs +0 -0
  466. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v25.rs +0 -0
  467. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v26.rs +0 -0
  468. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v27.rs +0 -0
  469. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v28.rs +0 -0
  470. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v29.rs +0 -0
  471. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v3.rs +0 -0
  472. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v30.rs +0 -0
  473. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v31.rs +0 -0
  474. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v32.rs +0 -0
  475. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v33.rs +0 -0
  476. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v34.rs +0 -0
  477. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v35.rs +0 -0
  478. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v36.rs +0 -0
  479. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v38.rs +0 -0
  480. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v39.rs +0 -0
  481. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v4.rs +0 -0
  482. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v40.rs +0 -0
  483. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v43.rs +0 -0
  484. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v45.rs +0 -0
  485. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v48.rs +0 -0
  486. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v49.rs +0 -0
  487. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v50.rs +0 -0
  488. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v51.rs +0 -0
  489. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v52.rs +0 -0
  490. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v53.rs +0 -0
  491. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v54.rs +0 -0
  492. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v55.rs +0 -0
  493. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v56.rs +0 -0
  494. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v57.rs +0 -0
  495. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v58.rs +0 -0
  496. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v59.rs +0 -0
  497. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v6.rs +0 -0
  498. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v60.rs +0 -0
  499. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v61.rs +0 -0
  500. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v62.rs +0 -0
  501. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v63.rs +0 -0
  502. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v64.rs +0 -0
  503. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v65.rs +0 -0
  504. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v66.rs +0 -0
  505. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v67.rs +0 -0
  506. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v68.rs +0 -0
  507. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v69.rs +0 -0
  508. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v7.rs +0 -0
  509. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v70.rs +0 -0
  510. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v72.rs +0 -0
  511. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v73.rs +0 -0
  512. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v74.rs +0 -0
  513. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v75.rs +0 -0
  514. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v76.rs +0 -0
  515. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v77.rs +0 -0
  516. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v78.rs +0 -0
  517. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v79.rs +0 -0
  518. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v8.rs +0 -0
  519. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v80.rs +0 -0
  520. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v81.rs +0 -0
  521. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v82.rs +0 -0
  522. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v83.rs +0 -0
  523. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v84.rs +0 -0
  524. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v85.rs +0 -0
  525. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v86.rs +0 -0
  526. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v87.rs +0 -0
  527. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v88.rs +0 -0
  528. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v89.rs +0 -0
  529. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v9.rs +0 -0
  530. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v90.rs +0 -0
  531. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v91.rs +0 -0
  532. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v92.rs +0 -0
  533. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v93.rs +0 -0
  534. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v94.rs +0 -0
  535. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v95.rs +0 -0
  536. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v96.rs +0 -0
  537. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v97.rs +0 -0
  538. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v98.rs +0 -0
  539. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_bug_hunt_v99.rs +0 -0
  540. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_col_segment.rs +0 -0
  541. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_col_segment_fastpaths.rs +0 -0
  542. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_columnar.rs +0 -0
  543. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_columnar_acid.rs +0 -0
  544. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_compact_storage.rs +0 -0
  545. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_compaction_integrity.rs +0 -0
  546. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_compiled_where_semantics.rs +0 -0
  547. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_comprehensive_audit.rs +0 -0
  548. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_concurrent_sql_features.rs +0 -0
  549. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_concurrent_stress.rs +0 -0
  550. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_corruption_recovery.rs +0 -0
  551. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_corruption_robustness.rs +0 -0
  552. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_crash_recovery.rs +0 -0
  553. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_data_types.rs +0 -0
  554. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_datasets.rs +0 -0
  555. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_db_path_hygiene.rs +0 -0
  556. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_deadlock_stress.rs +0 -0
  557. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_deep_edge.rs +0 -0
  558. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_delete_persist.rs +0 -0
  559. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_differential_correctness.rs +0 -0
  560. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_disk_bloat.rs +0 -0
  561. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_disk_usage.rs +0 -0
  562. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_doctor.rs +0 -0
  563. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_durability.rs +0 -0
  564. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_e2e_crash_and_stress.rs +0 -0
  565. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_edge_cases.rs +0 -0
  566. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_edge_semantics.rs +0 -0
  567. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_episodes.rs +0 -0
  568. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_executemany.rs +0 -0
  569. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_exists_subquery.rs +0 -0
  570. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_explain.rs +0 -0
  571. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_extreme_hunt.rs +0 -0
  572. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_fast_paths.rs +0 -0
  573. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_file_layout.rs +0 -0
  574. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_fts_recovery_staleness.rs +0 -0
  575. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_fuzz_sql_combinations.rs +0 -0
  576. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_global_manifest.rs +0 -0
  577. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_groupby_first_query.rs +0 -0
  578. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_hybrid_search.rs +0 -0
  579. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_index_maintenance.rs +0 -0
  580. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_index_reopen.rs +0 -0
  581. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_index_robustness.rs +0 -0
  582. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_indexed_query_semantics.rs +0 -0
  583. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_insert_engine.rs +0 -0
  584. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_insert_explicit_fastpath.rs +0 -0
  585. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_insert_paths_index_maintenance.rs +0 -0
  586. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_insert_select.rs +0 -0
  587. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_ioctree.rs +0 -0
  588. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_isolation_levels.rs +0 -0
  589. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_join_count_fold.rs +0 -0
  590. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_knn_parallel.rs +0 -0
  591. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_large_rows.rs +0 -0
  592. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_lerobot_export.rs +0 -0
  593. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_m5_mines.rs +0 -0
  594. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_mcap_import.rs +0 -0
  595. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_memory_leak.rs +0 -0
  596. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_memory_linear.rs +0 -0
  597. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_multimodal.rs +0 -0
  598. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_multimodal_e2e.rs +0 -0
  599. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_mvcc_isolation.rs +0 -0
  600. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_mvcc_recovery.rs +0 -0
  601. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_optimization_regression.rs +0 -0
  602. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_order_by_expr_keys.rs +0 -0
  603. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_parquet_roundtrip.rs +0 -0
  604. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_parser_fuzz_regression.rs +0 -0
  605. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_performance_guarantees.rs +0 -0
  606. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_pk_change_semantics.rs +0 -0
  607. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_prepared_dml.rs +0 -0
  608. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_public_api.rs +0 -0
  609. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_query_equivalence.rs +0 -0
  610. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_range_count.rs +0 -0
  611. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_release_readiness.rs +0 -0
  612. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_repro12.rs +0 -0
  613. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_round12_optimizations.rs +0 -0
  614. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_round12b_edge.rs +0 -0
  615. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_round12c_e2e_bugs.rs +0 -0
  616. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_round13_bug_hunt.rs +0 -0
  617. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_row_api.rs +0 -0
  618. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_rrf_hybrid.rs +0 -0
  619. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_savepoint_window.rs +0 -0
  620. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_scalability.rs +0 -0
  621. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_scan_integrity.rs +0 -0
  622. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_semantic_edges.rs +0 -0
  623. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_show_indexes_and_open_snapshot.rs +0 -0
  624. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_snapshot.rs +0 -0
  625. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_spatial_index.rs +0 -0
  626. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_spatial_large_geometry.rs +0 -0
  627. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_spatial_sql_semantics.rs +0 -0
  628. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_advanced.rs +0 -0
  629. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_correctness.rs +0 -0
  630. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_correctness_part2.rs +0 -0
  631. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_ddl_features.rs +0 -0
  632. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_errors_edges.rs +0 -0
  633. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_functions.rs +0 -0
  634. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_groupby.rs +0 -0
  635. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_joins.rs +0 -0
  636. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_sql_scenarios.rs +0 -0
  637. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_storage_integrity.rs +0 -0
  638. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_stress.rs +0 -0
  639. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_stress_hunt.rs +0 -0
  640. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_text_ts_search_semantics.rs +0 -0
  641. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_timeseries_index.rs +0 -0
  642. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_timeseries_semantics.rs +0 -0
  643. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_timestamp_recovery.rs +0 -0
  644. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_transaction_semantics.rs +0 -0
  645. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_txn_ddl_and_nan_ordering.rs +0 -0
  646. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_update_perf.rs +0 -0
  647. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_upsert.rs +0 -0
  648. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_v050_features.rs +0 -0
  649. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vec_m0.rs +0 -0
  650. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vec_m4.rs +0 -0
  651. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vector_column_read_paths.rs +0 -0
  652. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vector_durability.rs +0 -0
  653. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vector_index_recall.rs +0 -0
  654. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vector_null_scan.rs +0 -0
  655. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vector_spatial_text.rs +0 -0
  656. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_vector_visibility.rs +0 -0
  657. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_wide_tables.rs +0 -0
  658. {motedb_python-0.15.2 → motedb_python-0.17.0}/tests/test_write_concurrency.rs +0 -0
@@ -0,0 +1,11 @@
1
+ # MoteDB is maintained by one person, on evenings and weekends.
2
+ # If MoteDB saved you time, or if you depend on it to run a robot in
3
+ # production, a small GitHub Sponsors contribution is what keeps it going.
4
+ #
5
+ # See the community page for everything else:
6
+ # https://github.com/motedb/motedb/blob/main/community/README.md
7
+
8
+ github: [motedb]
9
+ # Once a second funding route exists (or if you prefer not to use GitHub
10
+ # Sponsors), replace the line above with:
11
+ # custom: ["<your-funding-url>"]
@@ -32,6 +32,15 @@ jobs:
32
32
  - name: cargo clippy (advisory — warnings do not fail the job)
33
33
  run: cargo clippy --all-targets --all-features --no-deps
34
34
  continue-on-error: true
35
+ # e3ebb24 shipped a mid-match wildcard in BOTH bindings: every concrete
36
+ # arm after it became unreachable (a warn-only lint) and Python returned
37
+ # None for every value. The root-crate clippy above never sees the
38
+ # binding crates — they are not workspace members. Deny the lint here.
39
+ - name: bindings check — unreachable_patterns denied
40
+ run: |
41
+ for m in bindings/python/Cargo.toml bindings/node/Cargo.toml; do
42
+ RUSTFLAGS="-D unreachable_patterns" cargo check --manifest-path "$m" --quiet
43
+ done
35
44
 
36
45
  # ── Supply-chain: vulnerability + license gate (cargo-deny) ──────────────
37
46
  # Fails on any NEW RustSec advisory (vulnerability/unsound). Four known
@@ -322,7 +331,7 @@ jobs:
322
331
  args: --release
323
332
  - name: Install wheel
324
333
  run: pip install bindings/python/target/wheels/*.whl
325
- - name: Run E2E workload (11 suites)
334
+ - name: Run E2E workload (12 suites)
326
335
  env:
327
336
  MOTE_CLI: ${{ github.workspace }}/target/release/motedb-cli
328
337
  run: python bindings/python/e2e/e2e_workload.py --root /tmp/e2e
@@ -2,8 +2,17 @@ name: Node SDK publish (npm)
2
2
 
3
3
  # Multi-platform prebuilt napi binaries → npmjs.org (unscoped):
4
4
  # motedb (main, pure JS loader) + one platform package per target:
5
- # motedb-darwin-arm64 / -darwin-x64 / -linux-x64-gnu / -linux-arm64-gnu /
6
- # -win32-x64-msvc
5
+ # motedb-darwin-arm64 / -darwin-x64 / -linux-x64-gnu / -linux-arm64-gnu
6
+ #
7
+ # 🔴 B-01: the win32-x64-msvc target is DISABLED — the platform package has
8
+ # never actually landed on npm (npm's anti-spam gate kept rejecting the
9
+ # brand-new package), while the root package declared it as an
10
+ # optionalDependency, so `npm i motedb` on Windows pulled a 404 and the
11
+ # install failed outright for three releases. Removed until a real
12
+ # motedb-win32-x64-msvc is on the registry: re-add the matrix entry below,
13
+ # the `x86_64-pc-windows-msvc` line in bindings/node/package.json
14
+ # (napi.targets + optionalDependencies), the npm/win32-x64-msvc dir, and
15
+ # the windows entry in release-smoke.yml's node matrix — TOGETHER.
7
16
  # Triggers on v* tags (publish) and PRs touching the binding (build-only).
8
17
  # 🔑 Publishing needs the NPM_TOKEN repository secret (an npmjs.org automation
9
18
  # token with publish rights on the motedb* packages). The publish job fails
@@ -31,6 +40,7 @@ permissions:
31
40
  contents: write
32
41
  id-token: write
33
42
  packages: write
43
+ issues: write
34
44
 
35
45
  jobs:
36
46
  build:
@@ -59,8 +69,6 @@ jobs:
59
69
  # - os: ubuntu-latest
60
70
  # target: aarch64-unknown-linux-musl
61
71
  # docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
62
- - os: windows-latest
63
- target: x86_64-pc-windows-msvc
64
72
  runs-on: ${{ matrix.os }}
65
73
  steps:
66
74
  - uses: actions/checkout@v4
@@ -302,3 +310,52 @@ jobs:
302
310
  rc=0
303
311
  for d in npm/*/; do pub "$d" || rc=1; sleep 120; done
304
312
  exit $rc
313
+
314
+ report:
315
+ # 🔴 B-04: a red publish job must never be silent again. 0.15.1/0.15.2
316
+ # failures were caught by release-smoke's install check; 0.16.0's win32
317
+ # package was missing for three releases with no issue opened. Open (or
318
+ # bump) a tracking issue as soon as any job of a TAG publish run fails.
319
+ needs: [build, package, publish]
320
+ if: ${{ always() && contains(needs.*.result, 'failure') && (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch') }}
321
+ runs-on: ubuntu-latest
322
+ steps:
323
+ - uses: actions/github-script@v7
324
+ env:
325
+ RESULTS: ${{ toJSON(needs) }}
326
+ with:
327
+ script: |
328
+ const results = JSON.parse(process.env.RESULTS);
329
+ const { owner, repo } = context.repo;
330
+ const runUrl = `${context.serverUrl}/${owner}/${repo}/actions/runs/${context.runId}`;
331
+ const version = (context.refName || '').replace(/^v/, '') || 'unknown';
332
+ const title = `Node npm publish failed for v${version}`;
333
+ const table = Object.entries(results)
334
+ .map(([name, r]) => `| ${name} | ${r.result} |`)
335
+ .join('\n');
336
+ const body = [
337
+ `The npm publish run for **v${version}** did not fully succeed.`,
338
+ 'A red platform package means users cannot install the version —',
339
+ 'the root loader declares platform packages as optionalDependencies,',
340
+ 'and a missing one is an E404 at `npm install` time.',
341
+ '',
342
+ `Run: ${runUrl}`,
343
+ '',
344
+ '| job | result |', '|---|---|', table,
345
+ '',
346
+ 'Fix forward with the version still unpublished for the affected platform:',
347
+ 're-run the workflow (workflow_dispatch) after resolving, or drop the platform',
348
+ 'from package.json + matrix so the remaining platforms ship clean.',
349
+ ].join('\n');
350
+ const open = await github.paginate(github.rest.issues.listForRepo, {
351
+ owner, repo, state: 'open', per_page: 100,
352
+ });
353
+ const existing = open.find((i) => i.title === title && !i.pull_request);
354
+ if (existing) {
355
+ await github.rest.issues.createComment({
356
+ owner, repo, issue_number: existing.number,
357
+ body: `Failed again: ${runUrl}\n\n| job | result |\n|---|---|\n${table}`,
358
+ });
359
+ } else {
360
+ await github.rest.issues.create({ owner, repo, title, body });
361
+ }
@@ -79,7 +79,11 @@ jobs:
79
79
  strategy:
80
80
  fail-fast: false
81
81
  matrix:
82
- os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
82
+ # windows: OFF until motedb-win32-x64-msvc actually ships (B-01) —
83
+ # the loader throws on Windows today, so this job would be red every
84
+ # release. Re-add windows-latest together with the package's return
85
+ # (see node-publish.yml header).
86
+ os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest]
83
87
  runs-on: ${{ matrix.os }}
84
88
  steps:
85
89
  - uses: actions/checkout@v4
@@ -0,0 +1,179 @@
1
+ # Capability Manifest
2
+
3
+ > This file is the **single source of truth** for what MoteDB can do.
4
+ > The website, the README, blog posts and any external material should cite
5
+ > this manifest rather than restating feature claims.
6
+ > The point: every line below should map to an implementation and a test.
7
+
8
+ **Version baseline:** v0.15.2 · **Last verified:** 2026-10-24
9
+
10
+ Legend: `✅ supported` · `🟡 partial (see note)` · `❌ not supported` · `🟢 differentiator`
11
+
12
+ > If you find a line here that does not match actual behaviour, please open an
13
+ > issue — **those are the ones we triage first**.
14
+
15
+ ---
16
+
17
+ ## 1. SQL engine
18
+
19
+ | Capability | Status | Notes |
20
+ |---|---|---|
21
+ | `CREATE TABLE` / `CREATE INDEX` / `DROP TABLE [IF EXISTS]` / `DROP INDEX` | ✅ | Column, vector, text, spatial, timestamp index variants |
22
+ | `ALTER TABLE` | ✅ | `ADD COLUMN`, `AUTO_INCREMENT = N` |
23
+ | `INSERT` (incl. `INSERT ... SELECT`) | ✅ | |
24
+ | `UPDATE` / `DELETE` | ✅ | |
25
+ | `SELECT` with `WHERE` | ✅ | |
26
+ | `JOIN` — INNER / LEFT / RIGHT / FULL | ✅ | |
27
+ | Subqueries in `WHERE`, derived tables (`FROM (SELECT ...)`) | ✅ | |
28
+ | `GROUP BY` | ✅ | Columns, expressions (`id % 5`), and SELECT aliases |
29
+ | `HAVING` | ✅ | Incl. aggregate aliases |
30
+ | `ORDER BY` | ✅ | Multi-key, expressions, non-projected columns, `NULLS FIRST/LAST` |
31
+ | `LIMIT` / `OFFSET` | ✅ | |
32
+ | `DISTINCT` (rows) / `COUNT(DISTINCT col)` | ✅ | |
33
+ | Aggregates: `COUNT` `SUM` `AVG` `MIN` `MAX` `STDDEV` `VARIANCE` | ✅ | |
34
+ | `UNION` / `UNION ALL` | ✅ | |
35
+ | `CASE WHEN ... THEN ... ELSE ... END` | ✅ | |
36
+ | `WITH` / CTEs, incl. `WITH RECURSIVE` | ✅ | Semi-naive fixed-point iteration, `UNION ALL` bodies, chained CTEs |
37
+ | Window functions: `ROW_NUMBER` `RANK` `DENSE_RANK` `NTILE` `LAG` `LEAD` `FIRST_VALUE` `LAST_VALUE` + aggregates | ✅ | `OVER (PARTITION BY … ORDER BY …)` |
38
+ | Explicit window frames (`ROWS` / `RANGE BETWEEN <bound> AND <bound>`) | ✅ 🟢 | ROWS = physical rows; RANGE = peer groups, or value intervals (`RANGE BETWEEN 10 PRECEDING AND 10 FOLLOWING`) on a numeric/timestamp order key. Default frame is the RANGE peer-group frame. Tested in `tests/test_window_frames.rs` |
39
+ | Scalar functions: `UPPER` `LOWER` `LENGTH` `TRIM` `SUBSTR` `REPLACE` `CONCAT` `INSTR` `COALESCE` `ROUND` `ABS` + arithmetic | ✅ | `CONCAT` skips NULL args (SQLite/Postgres semantics); `\|\|` propagates NULL; `ROUND` is binary-exact decimal rounding |
40
+ | `EXPORT TABLE t TO 'x.parquet'` / `IMPORT PARQUET 'x' INTO t` | ✅ 🟢 | Columnar dump / batch load through the insert pipeline; pyarrow / pandas / DuckDB round-trip |
41
+ | `EXPORT LEROBOT <table> TO 'dir/' [FPS n] [TASKS col]` | ✅ 🟢 | Writes a LeRobot v3 dataset on disk that the official `LeRobotDataset` (lerobot ≥ 0.6) loads directly |
42
+ | `DECIMAL` / `DATE` types | ❌ | Planned — see [ROADMAP](./ROADMAP.md) |
43
+ | Cross-statement server-side cursors | ❌ | Planned — see [ROADMAP](./ROADMAP.md) |
44
+
45
+ ---
46
+
47
+ ## 2. Multimodal types
48
+
49
+ | Type | Status | Notes |
50
+ |---|---|---|
51
+ | `VECTOR(n)` | ✅ 🟢 | Index-accelerated KNN; `ORDER BY emb <-> '[…]'` (L2) or `<~>` (cosine) |
52
+ | `BLOB` | 🟡 | Byte-exact round-trip, **16 MiB cap per value** |
53
+ | `TIMESTAMP` | ✅ 🟢 | Microsecond precision; `TIMESERIES(ts)` adds time-series semantics |
54
+ | `TEXT` | ✅ | Built-in tokenizer (jieba and others configurable) |
55
+ | Spatial coordinates | ✅ 🟢 | R-Tree index; `ST_POINT` / `ST_WITHIN` / `ST_DISTANCE` / `ST_KNN`, and `loc <-> ST_POINT(x, y)` distance ordering |
56
+ | Array types (`TEXT[]` / `ARRAY<FLOAT>`) | ❌ | Use BLOB, a separate table, or TEXT + JOIN |
57
+
58
+ ### ⚠️ Known BLOB gaps (unchanged since v0.13)
59
+
60
+ - Scalar functions over BLOB columns (e.g. `LENGTH(payload)`) are **not wired through all executor paths**
61
+ - BLOB output under `ORDER BY` is **not wired through all executor paths**
62
+ - **Verified working:** bare projection, equality (`WHERE payload = X'…'`), time-window scans, parameter binding
63
+
64
+ ---
65
+
66
+ ## 3. Indexes
67
+
68
+ | Index | Status | Notes |
69
+ |---|---|---|
70
+ | Column index | ✅ 🟢 | Equality / range |
71
+ | Vector index | ✅ 🟢 | **DiskANN** (FreshDiskANN + rerank). **Not** HNSW, not IVF |
72
+ | Full-text index | ✅ 🟢 | BM25 ranking + snippet; `MATCH(col) AGAINST('q')`; multi-word defaults to AND (SQLite FTS5-compatible), explicit `a OR b` unions |
73
+ | Spatial index | ✅ 🟢 | R-Tree |
74
+ | Time-series index | ✅ 🟢 | Range scan + compaction + `TIME_BUCKET` aggregation + TTL |
75
+
76
+ > 📌 **Correction notice.** Older material describing the vector index as
77
+ > "HNSW / IVF" is out of date. The current implementation is **DiskANN**.
78
+ > This file and `docs/08-vector-index.md` are authoritative.
79
+
80
+ ---
81
+
82
+ ## 4. Transactions & consistency
83
+
84
+ | Capability | Status | Notes |
85
+ |---|---|---|
86
+ | `BEGIN` / `COMMIT` / `ROLLBACK` | ✅ | |
87
+ | Savepoints | ✅ | |
88
+ | Read-your-writes inside a transaction | ✅ | Scans, aggregates, point lookups |
89
+ | MVCC | ✅ | |
90
+ | WAL group commit | ✅ 🟢 | |
91
+ | `LATEST BY` on tables > 1M rows | 🟡 | Performance not yet optimized (large-table merge path) |
92
+
93
+ ---
94
+
95
+ ## 5. Retrieval
96
+
97
+ | Capability | Status | Notes |
98
+ |---|---|---|
99
+ | Vector KNN | ✅ 🟢 | `ORDER BY emb <-> '[…]'`, index-accelerated |
100
+ | Full-text search | ✅ 🟢 | BM25 ranking |
101
+ | **Hybrid search (BM25 × KNN, RRF fusion)** | ✅ 🟢 | One call — you don't implement score calibration yourself |
102
+ | Time-series window aggregation | ✅ 🟢 | `TIME_BUCKET` + TTL |
103
+ | Spatial range / KNN | ✅ 🟢 | `ST_WITHIN` / `ST_DISTANCE` / `ST_KNN` |
104
+
105
+ ---
106
+
107
+ ## 6. Data shapes & deployment
108
+
109
+ | Capability | Status | Notes |
110
+ |---|---|---|
111
+ | Collection: high-performance directory | ✅ 🟢 | Atomic publish via temp + fsync + rename, plus WAL group commit |
112
+ | Transport: single-file snapshot | ✅ 🟢 | `EXPORT DB TO '…'`; per-file CRC32, optional zstd, incremental re-export |
113
+ | Deployment: read-only container | ✅ 🟢 | All write paths rejected, multiple concurrent readers |
114
+ | MCAP import | ✅ 🟢 | |
115
+ | Index self-healing | ✅ 🟢 | Rebuilds a corrupt index from source data |
116
+ | Crash recovery | ✅ 🟢 | WAL replay + segment migration + orphan segment adoption |
117
+ | `for_edge()` low-memory profile | ✅ | Tuned for small-memory devices |
118
+
119
+ ---
120
+
121
+ ## 7. Interop & SDKs
122
+
123
+ | Surface | Status | Notes |
124
+ |---|---|---|
125
+ | Rust crate | ✅ | `cargo add motedb` (Rust ≥ 1.87) |
126
+ | Python | ✅ | `pip install motedb-python` — imported as `motedb`. The `motedb` name on PyPI is **not yet claimed**; use `motedb-python` |
127
+ | Arrow | ✅ 🟢 | `query_arrow()` → canonical `pyarrow.Table`, vector columns as `FixedSizeList<float32>` |
128
+ | pandas | ✅ | `query_pandas()` |
129
+ | numpy bulk load | ✅ | `insert_arrays()` |
130
+ | Node.js | 🟡 | npm package **is published** (`motedb@0.15.2`). Prebuilt binaries cover macOS (arm64/x64) and Linux (x64/arm64, glibc); **musl and Windows prebuilds are not published yet**, so `npm install motedb` on Windows currently yields no native binary |
131
+ | Go | 🟡 | Binding lives in `bindings/go` (with `go.mod`), but is **not published as a tagged Go module** yet — the module proxy only resolves a pseudo-version off the default branch |
132
+
133
+ ---
134
+
135
+ ## 8. Engineering quality
136
+
137
+ | Practice | Status | Notes |
138
+ |---|---|---|
139
+ | Crash-injection tests | ✅ 🟢 | Resident in CI |
140
+ | Differential fuzzing (SQLite as oracle) | ✅ 🟢 | Permanent regression suite, including JOIN diffing |
141
+ | Corruption-recovery tests | ✅ 🟢 | |
142
+ | Machine-independent performance gate | ✅ 🟢 | A complexity regression turns CI red |
143
+ | `cargo fmt --check` strict gate | ✅ 🟢 | Whole tree is fmt-clean |
144
+ | cargo-deny supply-chain audit | ✅ 🟢 | Vulnerabilities + licenses |
145
+ | clippy | 🟡 advisory | CI runs clippy in advisory mode (`continue-on-error`); a backlog of style lints is being cleared. **New commits must not introduce new warnings** |
146
+ | Prebuilt binaries | 🟡 | macOS (arm64/x64) and Linux (x64/arm64) prebuilt. Windows works through `cargo add motedb` (source build); a Windows prebuild is on the way |
147
+
148
+ ---
149
+
150
+ ## 9. Explicitly not supported
151
+
152
+ > Written down so you don't have to discover it the hard way.
153
+
154
+ | Capability | Why |
155
+ |---|---|
156
+ | **Built-in inference engine / ONNX** | MoteDB is a storage and query layer, not an inference runtime. We invest in **Arrow interop** and leave inference in your own stack |
157
+ | **Distributed / multi-node replication** | The current target is single-machine edge |
158
+ | **Server mode / multi-process concurrent writes** | Contradicts the "embedded, zero-ops" positioning |
159
+ | **Multi-user permission system** | In embedded deployments the host application owns that |
160
+ | **Array types** | Use BLOB, a separate table, or TEXT + JOIN |
161
+ | **`DECIMAL` / `DATE` types** | Planned |
162
+ | **SQL table-level composite `PRIMARY KEY (a, b)`** | Not parsed — single column-level PK only; composite keys via the raw `TableSchema` API (B-08) |
163
+ | **Cross-statement server-side cursors** | Planned |
164
+
165
+ ---
166
+
167
+ ## 10. Performance methodology
168
+
169
+ Full benchmark data: [`BENCHMARK.md`](./BENCHMARK.md),
170
+ [`PERFORMANCE_REPORT.md`](./PERFORMANCE_REPORT.md), and
171
+ [`docs/benchmark_methodology.md`](./docs/benchmark_methodology.md).
172
+
173
+ > ⚠️ **Citation rule.** Every performance number published anywhere must carry
174
+ > its **machine configuration, data scale, comparison baseline, and measurement
175
+ > method**. Numbers without that context should not be released.
176
+
177
+ ---
178
+
179
+ *Found something here that does not match real behaviour? Open an issue.*