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