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.
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/python-wheels.yml +19 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/CHANGELOG.md +33 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/Cargo.lock +1 -1
- {motedb_python-0.12.6 → motedb_python-0.12.8}/Cargo.toml +1 -1
- {motedb_python-0.12.6 → motedb_python-0.12.8}/PKG-INFO +1 -1
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/Cargo.lock +2 -2
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/Cargo.toml +1 -1
- motedb_python-0.12.8/bindings/python/tests/test_crash_recovery.py +71 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/pyproject.toml +1 -1
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/core.rs +26 -1
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.cargo/config.toml +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.devcontainer/devcontainer.json +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/ci.yml +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/fuzz.yml +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/perf-gate.yml +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.github/workflows/publish.yml +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.gitignore +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.zcode/plans/plan-sess_abb2c954-05fb-477e-9d0a-3e22261e2449.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/.zcode/plans/plan-sess_b5937a06-b7bf-4471-9756-dbf2787b263c.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/LICENSE +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/Makefile +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/README.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/RELEASE_NOTES.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/README.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/README.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/adversarial_verify.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/bench_edge.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_bench.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_fts_industry.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_scale.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_spatial_ts.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_vec_industry.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/compete_writes.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/fts_probe_once.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/perf_ab.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/perf_overall.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_ann.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_fts.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_insert.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_point.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_real.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_scale.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_scale_vec.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/prof_vec_parallel.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench_2026-09_profile.json +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench_v0.10.0.json +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/spatial_eval.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/text_eval.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/ts_eval.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/vector_recall_eval.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/build.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/e2e/e2e_workload.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/e2e/test_durability_kwarg.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/licenses/LICENSE +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/scripts/build_wheel.sh +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/src/lib.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_backup.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_e2e_cli.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_e2e_functional.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_feature_selfcheck.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fetch_arrays.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fuzz_bigtable.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fuzz_differential.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_insert_arrays.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_parallel_ab.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_smoke.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/deny.toml +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/01-quick-start.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/02-installation.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/03-sql-operations.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/04-batch-operations.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/05-transactions.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/06-indexes-overview.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/07-column-index.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/08-vector-index.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/09-text-index.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/10-spatial-index.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/11-timestamp-index.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/12-performance.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/13-data-types.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/14-api-reference.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/15-best-practices.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/16-faq.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/17-hybrid-arrow.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/README.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/benchmark_methodology.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/paper/README.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/docs/paper/motedb.tex +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_300k.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_autocommit_lock.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_disk.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_exec_only.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_insert_engine.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_layer.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_memory.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_multimodal_vs_competitors.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_point_read.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_profile_hot.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_scaling.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_stability.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/bench_vs_sqlite.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/corruption_fuzz.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/crud.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/differential_fuzz.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/hello_world.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/join_differential_fuzz.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/logging.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/perf_smoke.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_filter_decomp.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_jemalloc.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_memory_source.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/probe_tail_latency.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/text_rank_probe.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/examples/vector_recall_real.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/licenses/LICENSE +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/python/motedb/__init__.py +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/Dockerfile.e2e +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/compete.sh +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/docker_e2e.sh +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/scripts/repro_point_query_gap.sh +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/api.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/bin/motedb-cli.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/cache/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/cache/row_cache.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/catalog/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/catalog/registry.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/config.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/crud.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/doctor.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/helpers.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/index_metadata.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/column.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/dashmap_migration.md +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/ioctree.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/text.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/timestamp.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/indexes/vector.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/mem_buffer.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/persistence.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/pk_cache.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/table.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/timeseries.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/database/transaction.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/distance/cosine.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/distance/euclidean.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/distance/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/error.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/ffi.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/btree.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/btree_generic.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/builder.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/cached_index.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/column_value.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/fresh_graph.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/leaf_store.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/node.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/persistence.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/ioctree/search.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/primary_key.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_dictionary.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_encoding.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_fts.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_query.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/text_types.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/tokenizers.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/config.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/disk_graph.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/diskann_index.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/pruner.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/sq8.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/index/vamana/sq8_vectors.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/lib.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/platform_io.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/ast.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/evaluator.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/agg.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/join.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/executor/scan.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/join/hash_join.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/join/index_join.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/join/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/lexer.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/optimizer.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/parser.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/row_converter.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/token.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/sql/vector_exec.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/checksum.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/manifest.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/merge.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/segment.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/col_segment/store.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/colbatch.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/column_encoding.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/config.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/gorilla.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/segment.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/segment_manager.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/store.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/columnar/write_buffer.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/file_manager.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/blobstore.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/bloom.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/columnar.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/compaction.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/engine.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/memtable.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/merging_iterator.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/sstable.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/lsm/unified_memtable.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/manifest/manifest.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/manifest/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/manifest/version.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/storage/row_format.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/coordinator.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/lock_manager.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/mvcc.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/recovery.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/version_store.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/txn/wal.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/comp_sum.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/spatial.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/table.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/tensor.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/text.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/src/types/timestamp.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/acid_test.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_2m.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_acid.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_batch_ops.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_compare.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_comprehensive.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_concurrent.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_index_ops.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_multimodal.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_multimodal_full.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_multimodal_ops.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_perf_report.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_quick_baseline.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_release.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_report.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_resource.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_sql_queries.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_timeseries_index.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_v060_report.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_vs_sqlite_100k.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/bench_vs_sqlite_v05.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/common/mod.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/durability_probe.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/fts_probe.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/perf_test.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/repro_point_gap.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/stress_300k.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/stress_test.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_acid_audit.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_acid_comprehensive.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_advanced_hunt.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_api_correctness.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_auto_checkpoint_segments.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_backup.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_btree_integrity.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt2.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt3.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt4.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt5.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt6.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt7.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v10.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v100.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v101.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v11.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v12.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v13.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v14.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v15.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v16.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v17_cte.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v18.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v19.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v2.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v20.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v21.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v22.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v23.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v24.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v25.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v26.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v27.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v28.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v29.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v3.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v30.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v31.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v32.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v33.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v34.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v35.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v36.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v38.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v39.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v4.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v40.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v43.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v45.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v48.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v49.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v5.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v50.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v51.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v52.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v53.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v54.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v55.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v56.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v57.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v58.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v59.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v6.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v60.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v61.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v62.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v63.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v64.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v65.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v66.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v67.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v68.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v69.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v7.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v70.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v71.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v72.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v73.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v74.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v75.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v76.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v77.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v78.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v79.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v8.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v80.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v81.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v82.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v83.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v84.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v85.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v86.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v87.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v88.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v89.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v9.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v90.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v91.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v92.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v93.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v94.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v95.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v96.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v97.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v98.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_bug_hunt_v99.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_col_segment.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_col_segment_fastpaths.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_columnar.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_columnar_acid.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_compact_storage.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_compaction_integrity.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_compiled_where_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_comprehensive.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_comprehensive_audit.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_concurrent_sql_features.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_concurrent_stress.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_corruption_recovery.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_corruption_robustness.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_crash_injection.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_crash_recovery.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_data_types.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_db_path_hygiene.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_deadlock_stress.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_deep_edge.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_delete_persist.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_differential_correctness.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_disk_bloat.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_disk_usage.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_doctor.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_durability.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_e2e_crash_and_stress.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_edge_cases.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_edge_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_executemany.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_exists_subquery.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_explain.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_extreme_hunt.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_fast_paths.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_fuzz_sql_combinations.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_groupby_first_query.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_hybrid_search.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_index_maintenance.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_index_reopen.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_index_robustness.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_indexed_query_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_engine.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_explicit_fastpath.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_paths_index_maintenance.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_insert_select.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_ioctree.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_isolation_levels.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_join_count_fold.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_knn_parallel.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_large_rows.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_m5_mines.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_memory_leak.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_memory_linear.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_multimodal.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_multimodal_e2e.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_mvcc_isolation.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_mvcc_recovery.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_no_bloat.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_optimization_regression.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_order_by_expr_keys.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_parser_fuzz_regression.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_performance_guarantees.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_pk_change_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_prepared_dml.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_public_api.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_query_equivalence.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_range_count.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_release_readiness.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_repro12.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round12_optimizations.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round12b_edge.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round12c_e2e_bugs.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_round13_bug_hunt.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_row_api.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_savepoint_window.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_scalability.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_scan_integrity.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_semantic_edges.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_spatial_index.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_spatial_large_geometry.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_spatial_sql_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_advanced.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_correctness.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_correctness_part2.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_ddl_features.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_errors_edges.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_functions.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_groupby.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_joins.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_sql_scenarios.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_storage_integrity.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_stress.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_stress_hunt.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_text_ts_search_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_timeseries_index.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_timeseries_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_timestamp_recovery.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_transaction_semantics.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_txn_ddl_and_nan_ordering.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_update_perf.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_upsert.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_v050_features.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vec_m0.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vec_m4.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_column_read_paths.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_durability.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_index_recall.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_spatial_text.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_vector_visibility.rs +0 -0
- {motedb_python-0.12.6 → motedb_python-0.12.8}/tests/test_wide_tables.rs +0 -0
- {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 末尾对快照目录做
|
|
@@ -403,7 +403,7 @@ dependencies = [
|
|
|
403
403
|
|
|
404
404
|
[[package]]
|
|
405
405
|
name = "motedb"
|
|
406
|
-
version = "0.12.
|
|
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.
|
|
433
|
+
version = "0.12.8"
|
|
434
434
|
dependencies = [
|
|
435
435
|
"motedb",
|
|
436
436
|
"pyo3",
|
|
@@ -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.
|
|
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
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/bench/resource_bench_v0.10.0.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_feature_selfcheck.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{motedb_python-0.12.6 → motedb_python-0.12.8}/bindings/python/tests/test_fuzz_differential.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|