motedb-python 0.12.6__tar.gz → 0.12.8__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 (486) hide show
  1. {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/python-wheels.yml +19 -0
  2. {motedb_python-0.12.6 → motedb_python-0.12.8}/CHANGELOG.md +33 -0
  3. {motedb_python-0.12.6 → motedb_python-0.12.8}/Cargo.lock +1 -1
  4. {motedb_python-0.12.6 → motedb_python-0.12.8}/Cargo.toml +1 -1
  5. {motedb_python-0.12.6 → motedb_python-0.12.8}/PKG-INFO +1 -1
  6. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/Cargo.lock +2 -2
  7. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/Cargo.toml +1 -1
  8. motedb_python-0.12.8/bindings/python/tests/test_crash_recovery.py +71 -0
  9. {motedb_python-0.12.6 → motedb_python-0.12.8}/pyproject.toml +1 -1
  10. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/core.rs +26 -1
  11. {motedb_python-0.12.6 → motedb_python-0.12.8}/.cargo/config.toml +0 -0
  12. {motedb_python-0.12.6 → motedb_python-0.12.8}/.devcontainer/devcontainer.json +0 -0
  13. {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/ci.yml +0 -0
  14. {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/fuzz.yml +0 -0
  15. {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/perf-gate.yml +0 -0
  16. {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/publish.yml +0 -0
  17. {motedb_python-0.12.6 → motedb_python-0.12.8}/.gitignore +0 -0
  18. {motedb_python-0.12.6 → motedb_python-0.12.8}/.zcode/plans/plan-sess_abb2c954-05fb-477e-9d0a-3e22261e2449.md +0 -0
  19. {motedb_python-0.12.6 → motedb_python-0.12.8}/.zcode/plans/plan-sess_b5937a06-b7bf-4471-9756-dbf2787b263c.md +0 -0
  20. {motedb_python-0.12.6 → motedb_python-0.12.8}/LICENSE +0 -0
  21. {motedb_python-0.12.6 → motedb_python-0.12.8}/Makefile +0 -0
  22. {motedb_python-0.12.6 → motedb_python-0.12.8}/README.md +0 -0
  23. {motedb_python-0.12.6 → motedb_python-0.12.8}/RELEASE_NOTES.md +0 -0
  24. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/README.md +0 -0
  25. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/README.md +0 -0
  26. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/adversarial_verify.py +0 -0
  27. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/bench_edge.py +0 -0
  28. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_bench.py +0 -0
  29. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_fts_industry.py +0 -0
  30. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_scale.py +0 -0
  31. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_spatial_ts.py +0 -0
  32. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_vec_industry.py +0 -0
  33. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_writes.py +0 -0
  34. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/fts_probe_once.py +0 -0
  35. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/perf_ab.py +0 -0
  36. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/perf_overall.py +0 -0
  37. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_ann.py +0 -0
  38. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_fts.py +0 -0
  39. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_insert.py +0 -0
  40. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_point.py +0 -0
  41. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_real.py +0 -0
  42. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_scale.py +0 -0
  43. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_scale_vec.py +0 -0
  44. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_vec_parallel.py +0 -0
  45. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench.py +0 -0
  46. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench_2026-09_profile.json +0 -0
  47. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench_v0.10.0.json +0 -0
  48. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/spatial_eval.py +0 -0
  49. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/text_eval.py +0 -0
  50. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/ts_eval.py +0 -0
  51. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/vector_recall_eval.py +0 -0
  52. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/build.rs +0 -0
  53. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/e2e/e2e_workload.py +0 -0
  54. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/e2e/test_durability_kwarg.py +0 -0
  55. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/licenses/LICENSE +0 -0
  56. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/scripts/build_wheel.sh +0 -0
  57. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/src/lib.rs +0 -0
  58. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_backup.py +0 -0
  59. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_e2e_cli.py +0 -0
  60. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_e2e_functional.py +0 -0
  61. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_feature_selfcheck.py +0 -0
  62. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fetch_arrays.py +0 -0
  63. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fuzz_bigtable.py +0 -0
  64. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fuzz_differential.py +0 -0
  65. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_insert_arrays.py +0 -0
  66. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_parallel_ab.py +0 -0
  67. {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_smoke.py +0 -0
  68. {motedb_python-0.12.6 → motedb_python-0.12.8}/deny.toml +0 -0
  69. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/01-quick-start.md +0 -0
  70. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/02-installation.md +0 -0
  71. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/03-sql-operations.md +0 -0
  72. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/04-batch-operations.md +0 -0
  73. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/05-transactions.md +0 -0
  74. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/06-indexes-overview.md +0 -0
  75. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/07-column-index.md +0 -0
  76. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/08-vector-index.md +0 -0
  77. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/09-text-index.md +0 -0
  78. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/10-spatial-index.md +0 -0
  79. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/11-timestamp-index.md +0 -0
  80. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/12-performance.md +0 -0
  81. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/13-data-types.md +0 -0
  82. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/14-api-reference.md +0 -0
  83. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/15-best-practices.md +0 -0
  84. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/16-faq.md +0 -0
  85. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/17-hybrid-arrow.md +0 -0
  86. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/README.md +0 -0
  87. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/benchmark_methodology.md +0 -0
  88. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/paper/README.md +0 -0
  89. {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/paper/motedb.tex +0 -0
  90. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_300k.rs +0 -0
  91. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_autocommit_lock.rs +0 -0
  92. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_disk.rs +0 -0
  93. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_exec_only.rs +0 -0
  94. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_insert_engine.rs +0 -0
  95. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_layer.rs +0 -0
  96. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_memory.rs +0 -0
  97. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_multimodal_vs_competitors.rs +0 -0
  98. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_point_read.rs +0 -0
  99. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_profile_hot.rs +0 -0
  100. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_scaling.rs +0 -0
  101. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_stability.rs +0 -0
  102. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_vs_sqlite.rs +0 -0
  103. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/corruption_fuzz.rs +0 -0
  104. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/crud.rs +0 -0
  105. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/differential_fuzz.rs +0 -0
  106. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/hello_world.rs +0 -0
  107. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/join_differential_fuzz.rs +0 -0
  108. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/logging.rs +0 -0
  109. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/perf_smoke.rs +0 -0
  110. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_filter_decomp.rs +0 -0
  111. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_jemalloc.rs +0 -0
  112. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_memory_source.rs +0 -0
  113. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_tail_latency.rs +0 -0
  114. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/text_rank_probe.rs +0 -0
  115. {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/vector_recall_real.rs +0 -0
  116. {motedb_python-0.12.6 → motedb_python-0.12.8}/licenses/LICENSE +0 -0
  117. {motedb_python-0.12.6 → motedb_python-0.12.8}/python/motedb/__init__.py +0 -0
  118. {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/Dockerfile.e2e +0 -0
  119. {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/compete.sh +0 -0
  120. {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/docker_e2e.sh +0 -0
  121. {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/repro_point_query_gap.sh +0 -0
  122. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/api.rs +0 -0
  123. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/bin/motedb-cli.rs +0 -0
  124. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/cache/mod.rs +0 -0
  125. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/cache/row_cache.rs +0 -0
  126. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/catalog/mod.rs +0 -0
  127. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/catalog/registry.rs +0 -0
  128. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/config.rs +0 -0
  129. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/crud.rs +0 -0
  130. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/doctor.rs +0 -0
  131. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/helpers.rs +0 -0
  132. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/index_metadata.rs +0 -0
  133. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/column.rs +0 -0
  134. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/dashmap_migration.md +0 -0
  135. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/ioctree.rs +0 -0
  136. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/mod.rs +0 -0
  137. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/text.rs +0 -0
  138. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/timestamp.rs +0 -0
  139. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/vector.rs +0 -0
  140. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/mem_buffer.rs +0 -0
  141. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/mod.rs +0 -0
  142. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/persistence.rs +0 -0
  143. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/pk_cache.rs +0 -0
  144. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/table.rs +0 -0
  145. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/timeseries.rs +0 -0
  146. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/transaction.rs +0 -0
  147. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/distance/cosine.rs +0 -0
  148. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/distance/euclidean.rs +0 -0
  149. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/distance/mod.rs +0 -0
  150. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/error.rs +0 -0
  151. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/ffi.rs +0 -0
  152. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/btree.rs +0 -0
  153. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/btree_generic.rs +0 -0
  154. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/builder.rs +0 -0
  155. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/cached_index.rs +0 -0
  156. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/column_value.rs +0 -0
  157. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/fresh_graph.rs +0 -0
  158. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/leaf_store.rs +0 -0
  159. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/mod.rs +0 -0
  160. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/node.rs +0 -0
  161. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/persistence.rs +0 -0
  162. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/search.rs +0 -0
  163. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/mod.rs +0 -0
  164. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/primary_key.rs +0 -0
  165. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_dictionary.rs +0 -0
  166. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_encoding.rs +0 -0
  167. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_fts.rs +0 -0
  168. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_query.rs +0 -0
  169. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_types.rs +0 -0
  170. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/tokenizers.rs +0 -0
  171. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/config.rs +0 -0
  172. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/disk_graph.rs +0 -0
  173. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/diskann_index.rs +0 -0
  174. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/mod.rs +0 -0
  175. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/pruner.rs +0 -0
  176. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/sq8.rs +0 -0
  177. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/sq8_vectors.rs +0 -0
  178. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/lib.rs +0 -0
  179. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/platform_io.rs +0 -0
  180. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/ast.rs +0 -0
  181. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/evaluator.rs +0 -0
  182. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/agg.rs +0 -0
  183. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/join.rs +0 -0
  184. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/mod.rs +0 -0
  185. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/scan.rs +0 -0
  186. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/join/hash_join.rs +0 -0
  187. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/join/index_join.rs +0 -0
  188. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/join/mod.rs +0 -0
  189. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/lexer.rs +0 -0
  190. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/mod.rs +0 -0
  191. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/optimizer.rs +0 -0
  192. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/parser.rs +0 -0
  193. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/row_converter.rs +0 -0
  194. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/token.rs +0 -0
  195. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/vector_exec.rs +0 -0
  196. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/checksum.rs +0 -0
  197. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/manifest.rs +0 -0
  198. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/merge.rs +0 -0
  199. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/mod.rs +0 -0
  200. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/segment.rs +0 -0
  201. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/store.rs +0 -0
  202. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/colbatch.rs +0 -0
  203. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/column_encoding.rs +0 -0
  204. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/config.rs +0 -0
  205. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/gorilla.rs +0 -0
  206. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/mod.rs +0 -0
  207. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/segment.rs +0 -0
  208. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/segment_manager.rs +0 -0
  209. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/store.rs +0 -0
  210. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/write_buffer.rs +0 -0
  211. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/file_manager.rs +0 -0
  212. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/blobstore.rs +0 -0
  213. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/bloom.rs +0 -0
  214. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/columnar.rs +0 -0
  215. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/compaction.rs +0 -0
  216. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/engine.rs +0 -0
  217. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/memtable.rs +0 -0
  218. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/merging_iterator.rs +0 -0
  219. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/mod.rs +0 -0
  220. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/sstable.rs +0 -0
  221. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/unified_memtable.rs +0 -0
  222. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/manifest/manifest.rs +0 -0
  223. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/manifest/mod.rs +0 -0
  224. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/manifest/version.rs +0 -0
  225. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/mod.rs +0 -0
  226. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/row_format.rs +0 -0
  227. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/coordinator.rs +0 -0
  228. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/lock_manager.rs +0 -0
  229. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/mod.rs +0 -0
  230. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/mvcc.rs +0 -0
  231. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/recovery.rs +0 -0
  232. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/version_store.rs +0 -0
  233. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/wal.rs +0 -0
  234. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/comp_sum.rs +0 -0
  235. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/mod.rs +0 -0
  236. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/spatial.rs +0 -0
  237. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/table.rs +0 -0
  238. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/tensor.rs +0 -0
  239. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/text.rs +0 -0
  240. {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/timestamp.rs +0 -0
  241. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/acid_test.rs +0 -0
  242. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_2m.rs +0 -0
  243. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_acid.rs +0 -0
  244. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_batch_ops.rs +0 -0
  245. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_compare.rs +0 -0
  246. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_comprehensive.rs +0 -0
  247. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_concurrent.rs +0 -0
  248. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_index_ops.rs +0 -0
  249. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_multimodal.rs +0 -0
  250. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_multimodal_full.rs +0 -0
  251. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_multimodal_ops.rs +0 -0
  252. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_perf_report.rs +0 -0
  253. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_quick_baseline.rs +0 -0
  254. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_release.rs +0 -0
  255. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_report.rs +0 -0
  256. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_resource.rs +0 -0
  257. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_sql_queries.rs +0 -0
  258. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_timeseries_index.rs +0 -0
  259. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_v060_report.rs +0 -0
  260. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_vs_sqlite_100k.rs +0 -0
  261. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_vs_sqlite_v05.rs +0 -0
  262. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/common/mod.rs +0 -0
  263. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/durability_probe.rs +0 -0
  264. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/fts_probe.rs +0 -0
  265. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/perf_test.rs +0 -0
  266. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/repro_point_gap.rs +0 -0
  267. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/stress_300k.rs +0 -0
  268. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/stress_test.rs +0 -0
  269. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_acid_audit.rs +0 -0
  270. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_acid_comprehensive.rs +0 -0
  271. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_advanced_hunt.rs +0 -0
  272. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_api_correctness.rs +0 -0
  273. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_auto_checkpoint_segments.rs +0 -0
  274. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_backup.rs +0 -0
  275. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_btree_integrity.rs +0 -0
  276. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt.rs +0 -0
  277. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt2.rs +0 -0
  278. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt3.rs +0 -0
  279. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt4.rs +0 -0
  280. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt5.rs +0 -0
  281. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt6.rs +0 -0
  282. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt7.rs +0 -0
  283. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v10.rs +0 -0
  284. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v100.rs +0 -0
  285. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v101.rs +0 -0
  286. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v11.rs +0 -0
  287. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v12.rs +0 -0
  288. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v13.rs +0 -0
  289. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v14.rs +0 -0
  290. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v15.rs +0 -0
  291. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v16.rs +0 -0
  292. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v17_cte.rs +0 -0
  293. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v18.rs +0 -0
  294. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v19.rs +0 -0
  295. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v2.rs +0 -0
  296. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v20.rs +0 -0
  297. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v21.rs +0 -0
  298. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v22.rs +0 -0
  299. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v23.rs +0 -0
  300. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v24.rs +0 -0
  301. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v25.rs +0 -0
  302. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v26.rs +0 -0
  303. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v27.rs +0 -0
  304. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v28.rs +0 -0
  305. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v29.rs +0 -0
  306. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v3.rs +0 -0
  307. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v30.rs +0 -0
  308. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v31.rs +0 -0
  309. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v32.rs +0 -0
  310. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v33.rs +0 -0
  311. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v34.rs +0 -0
  312. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v35.rs +0 -0
  313. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v36.rs +0 -0
  314. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v38.rs +0 -0
  315. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v39.rs +0 -0
  316. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v4.rs +0 -0
  317. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v40.rs +0 -0
  318. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v43.rs +0 -0
  319. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v45.rs +0 -0
  320. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v48.rs +0 -0
  321. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v49.rs +0 -0
  322. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v5.rs +0 -0
  323. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v50.rs +0 -0
  324. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v51.rs +0 -0
  325. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v52.rs +0 -0
  326. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v53.rs +0 -0
  327. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v54.rs +0 -0
  328. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v55.rs +0 -0
  329. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v56.rs +0 -0
  330. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v57.rs +0 -0
  331. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v58.rs +0 -0
  332. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v59.rs +0 -0
  333. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v6.rs +0 -0
  334. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v60.rs +0 -0
  335. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v61.rs +0 -0
  336. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v62.rs +0 -0
  337. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v63.rs +0 -0
  338. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v64.rs +0 -0
  339. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v65.rs +0 -0
  340. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v66.rs +0 -0
  341. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v67.rs +0 -0
  342. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v68.rs +0 -0
  343. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v69.rs +0 -0
  344. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v7.rs +0 -0
  345. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v70.rs +0 -0
  346. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v71.rs +0 -0
  347. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v72.rs +0 -0
  348. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v73.rs +0 -0
  349. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v74.rs +0 -0
  350. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v75.rs +0 -0
  351. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v76.rs +0 -0
  352. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v77.rs +0 -0
  353. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v78.rs +0 -0
  354. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v79.rs +0 -0
  355. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v8.rs +0 -0
  356. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v80.rs +0 -0
  357. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v81.rs +0 -0
  358. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v82.rs +0 -0
  359. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v83.rs +0 -0
  360. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v84.rs +0 -0
  361. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v85.rs +0 -0
  362. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v86.rs +0 -0
  363. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v87.rs +0 -0
  364. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v88.rs +0 -0
  365. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v89.rs +0 -0
  366. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v9.rs +0 -0
  367. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v90.rs +0 -0
  368. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v91.rs +0 -0
  369. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v92.rs +0 -0
  370. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v93.rs +0 -0
  371. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v94.rs +0 -0
  372. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v95.rs +0 -0
  373. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v96.rs +0 -0
  374. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v97.rs +0 -0
  375. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v98.rs +0 -0
  376. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v99.rs +0 -0
  377. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_col_segment.rs +0 -0
  378. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_col_segment_fastpaths.rs +0 -0
  379. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_columnar.rs +0 -0
  380. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_columnar_acid.rs +0 -0
  381. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_compact_storage.rs +0 -0
  382. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_compaction_integrity.rs +0 -0
  383. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_compiled_where_semantics.rs +0 -0
  384. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_comprehensive.rs +0 -0
  385. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_comprehensive_audit.rs +0 -0
  386. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_concurrent_sql_features.rs +0 -0
  387. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_concurrent_stress.rs +0 -0
  388. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_corruption_recovery.rs +0 -0
  389. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_corruption_robustness.rs +0 -0
  390. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_crash_injection.rs +0 -0
  391. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_crash_recovery.rs +0 -0
  392. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_data_types.rs +0 -0
  393. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_db_path_hygiene.rs +0 -0
  394. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_deadlock_stress.rs +0 -0
  395. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_deep_edge.rs +0 -0
  396. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_delete_persist.rs +0 -0
  397. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_differential_correctness.rs +0 -0
  398. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_disk_bloat.rs +0 -0
  399. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_disk_usage.rs +0 -0
  400. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_doctor.rs +0 -0
  401. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_durability.rs +0 -0
  402. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_e2e_crash_and_stress.rs +0 -0
  403. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_edge_cases.rs +0 -0
  404. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_edge_semantics.rs +0 -0
  405. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_executemany.rs +0 -0
  406. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_exists_subquery.rs +0 -0
  407. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_explain.rs +0 -0
  408. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_extreme_hunt.rs +0 -0
  409. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_fast_paths.rs +0 -0
  410. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_fuzz_sql_combinations.rs +0 -0
  411. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_groupby_first_query.rs +0 -0
  412. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_hybrid_search.rs +0 -0
  413. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_index_maintenance.rs +0 -0
  414. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_index_reopen.rs +0 -0
  415. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_index_robustness.rs +0 -0
  416. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_indexed_query_semantics.rs +0 -0
  417. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_engine.rs +0 -0
  418. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_explicit_fastpath.rs +0 -0
  419. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_paths_index_maintenance.rs +0 -0
  420. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_select.rs +0 -0
  421. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_ioctree.rs +0 -0
  422. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_isolation_levels.rs +0 -0
  423. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_join_count_fold.rs +0 -0
  424. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_knn_parallel.rs +0 -0
  425. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_large_rows.rs +0 -0
  426. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_m5_mines.rs +0 -0
  427. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_memory_leak.rs +0 -0
  428. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_memory_linear.rs +0 -0
  429. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_multimodal.rs +0 -0
  430. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_multimodal_e2e.rs +0 -0
  431. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_mvcc_isolation.rs +0 -0
  432. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_mvcc_recovery.rs +0 -0
  433. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_no_bloat.rs +0 -0
  434. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_optimization_regression.rs +0 -0
  435. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_order_by_expr_keys.rs +0 -0
  436. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_parser_fuzz_regression.rs +0 -0
  437. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_performance_guarantees.rs +0 -0
  438. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_pk_change_semantics.rs +0 -0
  439. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_prepared_dml.rs +0 -0
  440. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_public_api.rs +0 -0
  441. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_query_equivalence.rs +0 -0
  442. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_range_count.rs +0 -0
  443. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_release_readiness.rs +0 -0
  444. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_repro12.rs +0 -0
  445. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round12_optimizations.rs +0 -0
  446. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round12b_edge.rs +0 -0
  447. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round12c_e2e_bugs.rs +0 -0
  448. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round13_bug_hunt.rs +0 -0
  449. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_row_api.rs +0 -0
  450. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_savepoint_window.rs +0 -0
  451. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_scalability.rs +0 -0
  452. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_scan_integrity.rs +0 -0
  453. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_semantic_edges.rs +0 -0
  454. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_spatial_index.rs +0 -0
  455. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_spatial_large_geometry.rs +0 -0
  456. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_spatial_sql_semantics.rs +0 -0
  457. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_advanced.rs +0 -0
  458. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_correctness.rs +0 -0
  459. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_correctness_part2.rs +0 -0
  460. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_ddl_features.rs +0 -0
  461. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_errors_edges.rs +0 -0
  462. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_functions.rs +0 -0
  463. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_groupby.rs +0 -0
  464. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_joins.rs +0 -0
  465. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_scenarios.rs +0 -0
  466. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_storage_integrity.rs +0 -0
  467. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_stress.rs +0 -0
  468. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_stress_hunt.rs +0 -0
  469. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_text_ts_search_semantics.rs +0 -0
  470. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_timeseries_index.rs +0 -0
  471. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_timeseries_semantics.rs +0 -0
  472. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_timestamp_recovery.rs +0 -0
  473. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_transaction_semantics.rs +0 -0
  474. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_txn_ddl_and_nan_ordering.rs +0 -0
  475. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_update_perf.rs +0 -0
  476. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_upsert.rs +0 -0
  477. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_v050_features.rs +0 -0
  478. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vec_m0.rs +0 -0
  479. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vec_m4.rs +0 -0
  480. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_column_read_paths.rs +0 -0
  481. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_durability.rs +0 -0
  482. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_index_recall.rs +0 -0
  483. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_spatial_text.rs +0 -0
  484. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_visibility.rs +0 -0
  485. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_wide_tables.rs +0 -0
  486. {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_write_concurrency.rs +0 -0
@@ -10,6 +10,7 @@ permissions:
10
10
 
11
11
  jobs:
12
12
  build:
13
+ needs: version-guard
13
14
  strategy:
14
15
  fail-fast: false
15
16
  matrix:
@@ -52,6 +53,24 @@ jobs:
52
53
  # 🔑 External review: PyPI shipped wheels only — no sdist, so
53
54
  # `pip install motedb-python --no-binary` (source builds, downstream
54
55
  # packaging, distro maintainers) had nothing to fetch.
56
+ # 🔒 v0.12.6 验收实抓: wheel 文件名(pyproject)与 CARGO_PKG_VERSION
57
+ # (bindings/python/Cargo.toml)双源不同步 —— 用户装 0.12.6 却报
58
+ # __version__=0.12.2。三处版本必须一致才允许构建。
59
+ version-guard:
60
+ runs-on: ubuntu-latest
61
+ steps:
62
+ - uses: actions/checkout@v4
63
+ - name: Verify version sync (root Cargo.toml / binding Cargo.toml / pyproject.toml)
64
+ run: |
65
+ V1=$(grep -m1 '^version' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
66
+ V2=$(grep -m1 '^version' bindings/python/Cargo.toml | sed 's/version = "\(.*\)"/\1/')
67
+ V3=$(grep -m1 '^version' bindings/python/pyproject.toml | sed 's/version = "\(.*\)"/\1/')
68
+ echo "root=$V1 binding=$V2 pyproject=$V3"
69
+ if [ "$V1" != "$V2" ] || [ "$V2" != "$V3" ]; then
70
+ echo "::error::version mismatch — bump ALL THREE files together"
71
+ exit 1
72
+ fi
73
+
55
74
  sdist:
56
75
  runs-on: ubuntu-latest
57
76
  steps:
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.12.8] — 2026-10-09
4
+
5
+ - **🔑 kill -9 崩溃后全文索引静默滞后修复(PyPI 包压测实抓)**: 崩溃发生在
6
+ 表数据已 checkpoint、文本索引 pending posting(纯内存)未落盘之间时,
7
+ 表行恢复完整但索引落后 —— 已 checkpoint 的表无 WAL 回放, 既有重建
8
+ 触发条件(replayed/corrupt)不覆盖 → MATCH 静默缺行(实测 198/300,
9
+ doctor 仍 PASS), 6 次崩溃 3 次命中。修复: open 时对每个文本索引
10
+ 检测 `segment 行数 > index total_docs` 的滞后并走既有重建通道
11
+ (检测在 row_count 初始化之前, 直接读 segment store 权威计数)。
12
+ 修复后 kill -9 ×8 全部恢复一致; 新增 bindings/python/tests/
13
+ test_crash_recovery.py(子进程 kill + 恢复断言)入库
14
+ - **0.12.7(PyPI 实装)多轮压测其余结论**: 官方套件 3 轮零偶发;
15
+ 6 线程混合负载(递归 CTE/窗口/FTS/点查 × 写 churn)零错误、重开一致、
16
+ doctor PASS; 60 轮 open/seed/query/close RSS 增量 +8MB(无泄漏);
17
+ 跨进程同库正确拒绝、释放后可开; 4 种 preset 全通; query_arrow 聚合
18
+ 正确; 15 轮重开耐久循环 FTS 全量同步; SQLite 差分对拍 800q/种子
19
+ ×4 通过
20
+
21
+ ## [0.12.7] — 2026-10-09
22
+
23
+ - **`motedb.__version__` 双源不同步修复(0.12.6 PyPI 验收实抓)**: 用户
24
+ `pip install motedb-python==0.12.6` 后 `__version__` 报 **0.12.2** ——
25
+ wheel 文件名来自 pyproject.toml, 而 `CARGO_PKG_VERSION`(→
26
+ `_native.__version__` → `motedb.__version__`)来自
27
+ bindings/python/Cargo.toml, 后者自 0.12.2 起未随发版 bump。三处版本
28
+ 统一为单一发版动作, 并在 wheels 流水线新增 **version-guard** 硬门禁
29
+ (三处不一致即构建失败)
30
+ - 其余验收结论(官方 PyPI 0.12.6 全新环境实测): 元数据(主页/许可/
31
+ dist-info 内 LICENSE)✓、测评 P0/P1 场景 ✓、新特性(递归 CTE/窗口聚合/
32
+ backup_to/doctor)✓、官方套件(E2E 51/51、SQLite 差分 4 种子、
33
+ fetch_arrays/backup/feature_selfcheck/insert_arrays)✓、sdist 源码
34
+ 构建安装可用 ✓
35
+
3
36
  ## [0.12.6] — 2026-10-09
4
37
 
5
38
  - **backup_to 在 Windows 上失败修复**: copy_dir_durable 末尾对快照目录做
@@ -800,7 +800,7 @@ dependencies = [
800
800
 
801
801
  [[package]]
802
802
  name = "motedb"
803
- version = "0.12.6"
803
+ version = "0.12.8"
804
804
  dependencies = [
805
805
  "arc-swap",
806
806
  "bincode",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "motedb"
3
- version = "0.12.6"
3
+ version = "0.12.8"
4
4
  edition = "2021"
5
5
  rust-version = "1.87"
6
6
  description = "AI-native embedded multimodal database for embodied intelligence (robots, AR glasses, industrial arms)."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: motedb-python
3
- Version: 0.12.6
3
+ Version: 0.12.8
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Intended Audience :: Science/Research
@@ -403,7 +403,7 @@ dependencies = [
403
403
 
404
404
  [[package]]
405
405
  name = "motedb"
406
- version = "0.12.6"
406
+ version = "0.12.8"
407
407
  dependencies = [
408
408
  "arc-swap",
409
409
  "bincode",
@@ -430,7 +430,7 @@ dependencies = [
430
430
 
431
431
  [[package]]
432
432
  name = "motedb-python"
433
- version = "0.12.2"
433
+ version = "0.12.8"
434
434
  dependencies = [
435
435
  "motedb",
436
436
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "motedb-python"
3
- version = "0.12.2"
3
+ version = "0.12.8"
4
4
  edition = "2021"
5
5
  description = "Python bindings for MoteDB — AI-native embedded multimodal database."
6
6
  license = "MIT"
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env python3
2
+ """kill -9 崩溃恢复回归: 表数据连续无缺口 + FTS 完整。
3
+ v0.12.8 修复前: 已 checkpoint 的表崩溃后无 WAL 回放 → 文本索引的内存
4
+ pending 丢失且无人重建 → MATCH 静默缺行(实测 198/300, doctor 仍 PASS)。
5
+ 修复: open 时检测 index total_docs < 表行数 → 走既有重建通道。"""
6
+ import os
7
+ import shutil
8
+ import subprocess
9
+ import sys
10
+ import tempfile
11
+ import textwrap
12
+
13
+ sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), ".."))
14
+ import motedb
15
+
16
+ WRITER = textwrap.dedent("""
17
+ import motedb, sys
18
+ db = motedb.Database(sys.argv[1])
19
+ db.execute("CREATE TABLE IF NOT EXISTS c(id INT PRIMARY KEY, v TEXT)")
20
+ db.execute("CREATE TEXT INDEX IF NOT EXISTS ci ON c(v)")
21
+ for i in range(300):
22
+ db.execute("INSERT INTO c VALUES (?, ?)", params=[i, f"row {i} common"])
23
+ db.checkpoint(); print("FLUSHED", flush=True)
24
+ for i in range(300, 500):
25
+ db.execute("INSERT INTO c VALUES (?, ?)", params=[i, f"post {i}"])
26
+ if i % 50 == 0:
27
+ db.checkpoint(); print(f"CKPT{i}", flush=True)
28
+ """)
29
+
30
+
31
+ def main():
32
+ tmp = tempfile.mkdtemp()
33
+ path = os.path.join(tmp, "crash.mote")
34
+ fails = 0
35
+ trials = int(sys.argv[1]) if len(sys.argv) > 1 else 5
36
+ try:
37
+ for t in range(trials):
38
+ if os.path.isdir(path):
39
+ shutil.rmtree(path, ignore_errors=True)
40
+ elif os.path.exists(path):
41
+ os.remove(path)
42
+ proc = subprocess.Popen(
43
+ [sys.executable, "-c", WRITER, path],
44
+ stdout=subprocess.PIPE, text=True)
45
+ killed = None
46
+ for line in proc.stdout:
47
+ if line.strip().startswith("CKPT"):
48
+ proc.kill()
49
+ killed = line.strip()
50
+ break
51
+ proc.wait()
52
+ db = motedb.Database(path)
53
+ n = db.execute("SELECT COUNT(*) AS n FROM c")[0]["n"]
54
+ mx = db.execute("SELECT MAX(id) AS m FROM c")[0]["m"]
55
+ cnt = db.execute("SELECT COUNT(DISTINCT id) AS d FROM c")[0]["d"]
56
+ fts = db.execute(
57
+ "SELECT COUNT(*) AS n FROM c WHERE MATCH(v, 'common')")[0]["n"]
58
+ db.close()
59
+ ok = cnt == mx + 1 and fts == 300
60
+ print(f"{'ok ' if ok else 'FAIL'} trial{t} kill@{killed} "
61
+ f"rows={n} contiguous={cnt == mx + 1} fts={fts}/300")
62
+ if not ok:
63
+ fails += 1
64
+ finally:
65
+ shutil.rmtree(tmp, ignore_errors=True)
66
+ print("ALL OK" if not fails else f"{fails} FAILED")
67
+ sys.exit(1 if fails else 0)
68
+
69
+
70
+ if __name__ == "__main__":
71
+ main()
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "motedb-python"
7
- version = "0.12.6"
7
+ version = "0.12.8"
8
8
  description = "AI-native embedded multimodal database — SQL, vectors, full-text, spatial and time-series in one ACID engine, with edge presets for robots and edge devices."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1862,7 +1862,32 @@ impl MoteDB {
1862
1862
  for name in txt_idx {
1863
1863
  if let Some((table, column)) = db.index_registry.resolve_index_name(&name) {
1864
1864
  let corrupt = corrupt_loaded.iter().any(|n| n == &name);
1865
- if !replayed_tables.contains(&table) && !corrupt {
1865
+ // 🔒 Stale-index detection (kill -9 recovery audit, v0.12.8):
1866
+ // a crash between table-data durability and text-index
1867
+ // flush leaves the index VALID but BEHIND (pending posting
1868
+ // lists are memory-only). No WAL replay happens for
1869
+ // already-checkpointed tables, so the v1 rebuild trigger
1870
+ // (replayed/corrupt only) skipped them — MATCH silently
1871
+ // missed rows (measured 198/300 after kill, doctor PASS).
1872
+ // Rebuild whenever the index's doc count trails the table.
1873
+ let stale = {
1874
+ // NOTE: this runs BEFORE table_row_count is
1875
+ // initialized in open() — count live rows straight
1876
+ // from the segment store (the authoritative source
1877
+ // for ColSegmentStore tables).
1878
+ let table_rows = db
1879
+ .col_segment_stores
1880
+ .get(&table)
1881
+ .map(|s| s.count_live_rows() as u64)
1882
+ .unwrap_or(0);
1883
+ let indexed = db
1884
+ .text_indexes
1885
+ .get(&name)
1886
+ .map(|i| i.read().stats().total_docs)
1887
+ .unwrap_or(0);
1888
+ table_rows > 0 && indexed < table_rows
1889
+ };
1890
+ if !replayed_tables.contains(&table) && !corrupt && !stale {
1866
1891
  continue;
1867
1892
  }
1868
1893
  if let Ok(schema) = db.table_registry.get_table(&table) {
File without changes
File without changes
File without changes
File without changes