lora-python 0.11.1__tar.gz → 0.11.3__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.
- {lora_python-0.11.1 → lora_python-0.11.3}/Cargo.lock +17 -17
- {lora_python-0.11.1 → lora_python-0.11.3}/Cargo.toml +11 -11
- {lora_python-0.11.1 → lora_python-0.11.3}/PKG-INFO +1 -1
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/builtin_signatures.rs +3 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/lib.rs +2 -2
- lora_python-0.11.3/crates/lora-database/tests/unwind_ingestion.rs +219 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/pyproject.toml +1 -1
- {lora_python-0.11.1 → lora_python-0.11.3}/LICENSE +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/README.md +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/.gitignore +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/LICENSE +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/README.md +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/build.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/examples/async_demo.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/examples/basic.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/src/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/src/from_python.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/src/to_python.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/tests/test_async.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/tests/test_explain_profile.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/tests/test_sync.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/clauses.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/expressions.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/patterns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/state.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/resolved.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/scope.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/symbols.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-ast/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-ast/src/ast.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-ast/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/logical.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/optimizer.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/pattern.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/physical.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/plan_tree.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-compiler/src/planner.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/README.md +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/advanced.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/concurrency_guard.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/concurrent.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/engine.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/fixtures.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/index_acceleration.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/perf_smoke.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/perf_smoke_baseline.json +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/query_implementations.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/realistic.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/scale.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/temporal_spatial.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/wal.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/builder.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/compile.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/execute.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/explain.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/graph_api.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/occ.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/procedures.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/profile.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/pull_mode.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/replay.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/row_projection.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/schema.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/show_pipeline.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/stream.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/write_guard.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/durable_io.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/error.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/explain.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/live_store.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/named.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/plan_cache.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/snapshot/json.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/snapshot/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/snapshot/store.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/stream.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/transaction.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/admin.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/archive/format.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/archive/lock.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/archive/platform.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/archive/worker.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/archive/workspace.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/archive.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/wal/write_scope.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/advanced_queries.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/aggregation.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/backend_stub.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/binary.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/builtin_namespaces.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/constraints.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/create.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/docs_examples.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/explain_profile.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/expressions.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/fulltext_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/functions_extended.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/index_acceleration.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/invariants.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/managed_snapshots.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/match.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/merge.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/ordering.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/parameters.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/parser.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/paths.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/projection.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/scale.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/schema.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/seeds.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/snapshot.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/spatial.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/temporal.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/test_helpers.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/transactions.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/types_advanced.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/union.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/update.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/vector_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/vectors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/wal.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/where_clause.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/tests/with.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/binops.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/bits_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/bytes_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/cast_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/crypto.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/edge.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/geo.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/json_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/list.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/map_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/math_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/node.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/number.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/path.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/string_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/temporal.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/text.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/type_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/uuid_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/value.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/builtins/vector_ns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/expr.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/functions.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/point.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/regex.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/eval/vector.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/aggregation.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/helpers.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/immutable.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/mutable.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/optional.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/executor/sort.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/profile.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/aggregate.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/call_subquery.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/columns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/context.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/expand.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/filter.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/hydration.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/mutable.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/optional.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/path.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/projection.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/scan.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/shape.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/sort.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/source.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/traits.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/pull/union.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/src/value.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-executor/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/cypher.pest +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/clauses.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/expressions.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/literals.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/patterns.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/query.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/schema.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/src/parser/util.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-parser/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/body.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/codec.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/columnar.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/envelope.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/format.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/options.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/transform.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/src/view.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-snapshot/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/codec.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/lock_table.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/constraint_catalog.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/constraint_enforce.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/entity_index_store.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/fulltext_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/graph.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/impls.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/index_catalog.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/point_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/property_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/secondary_index_maintenance.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/snapshot.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/sorted_property_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/stats.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/memory/text_index.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/mutation.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/snapshot.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/traits.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/binary/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/binary/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/binary/traits.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/binary/types.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/graph.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/property_value.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/spatial/distance.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/spatial/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/spatial/point.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/spatial/srid.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/spatial/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/calendar.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/date.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/datetime.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/duration.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/format.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/parsing.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/temporal/time.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/vector/build.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/vector/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/vector/similarity.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/vector/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/src/types/vector/types.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-store/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/Cargo.toml +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/codec/decode.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/codec/encode.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/codec/format.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/codec/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/codec/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/config.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/dir.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/io.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/lib.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/lock.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/lsn.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/record.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/recorder/errors.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/recorder/mirror.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/recorder/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/recorder/recorder.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/recorder/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/replay.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/segment.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/testing.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/wal/group_flusher.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/wal/mod.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/wal/tests.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/src/wal/wal.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-wal/tests/error_messages.rs +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/python/lora_python/__init__.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/python/lora_python/_async.py +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/python/lora_python/_native.pyi +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/python/lora_python/py.typed +0 -0
- {lora_python-0.11.1 → lora_python-0.11.3}/python/lora_python/types.py +0 -0
|
@@ -773,7 +773,7 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
|
|
|
773
773
|
|
|
774
774
|
[[package]]
|
|
775
775
|
name = "lora-analyzer"
|
|
776
|
-
version = "0.11.
|
|
776
|
+
version = "0.11.3"
|
|
777
777
|
dependencies = [
|
|
778
778
|
"lora-ast",
|
|
779
779
|
"lora-parser",
|
|
@@ -783,14 +783,14 @@ dependencies = [
|
|
|
783
783
|
|
|
784
784
|
[[package]]
|
|
785
785
|
name = "lora-ast"
|
|
786
|
-
version = "0.11.
|
|
786
|
+
version = "0.11.3"
|
|
787
787
|
dependencies = [
|
|
788
788
|
"smallvec 2.0.0-alpha.12",
|
|
789
789
|
]
|
|
790
790
|
|
|
791
791
|
[[package]]
|
|
792
792
|
name = "lora-binding-buffer"
|
|
793
|
-
version = "0.11.
|
|
793
|
+
version = "0.11.3"
|
|
794
794
|
dependencies = [
|
|
795
795
|
"lora-database",
|
|
796
796
|
"lora-store",
|
|
@@ -798,7 +798,7 @@ dependencies = [
|
|
|
798
798
|
|
|
799
799
|
[[package]]
|
|
800
800
|
name = "lora-compiler"
|
|
801
|
-
version = "0.11.
|
|
801
|
+
version = "0.11.3"
|
|
802
802
|
dependencies = [
|
|
803
803
|
"lora-analyzer",
|
|
804
804
|
"lora-ast",
|
|
@@ -807,7 +807,7 @@ dependencies = [
|
|
|
807
807
|
|
|
808
808
|
[[package]]
|
|
809
809
|
name = "lora-database"
|
|
810
|
-
version = "0.11.
|
|
810
|
+
version = "0.11.3"
|
|
811
811
|
dependencies = [
|
|
812
812
|
"anyhow",
|
|
813
813
|
"chacha20poly1305",
|
|
@@ -830,7 +830,7 @@ dependencies = [
|
|
|
830
830
|
|
|
831
831
|
[[package]]
|
|
832
832
|
name = "lora-executor"
|
|
833
|
-
version = "0.11.
|
|
833
|
+
version = "0.11.3"
|
|
834
834
|
dependencies = [
|
|
835
835
|
"blake3",
|
|
836
836
|
"crc32fast",
|
|
@@ -852,7 +852,7 @@ dependencies = [
|
|
|
852
852
|
|
|
853
853
|
[[package]]
|
|
854
854
|
name = "lora-ffi"
|
|
855
|
-
version = "0.11.
|
|
855
|
+
version = "0.11.3"
|
|
856
856
|
dependencies = [
|
|
857
857
|
"anyhow",
|
|
858
858
|
"lora-binding-buffer",
|
|
@@ -864,7 +864,7 @@ dependencies = [
|
|
|
864
864
|
|
|
865
865
|
[[package]]
|
|
866
866
|
name = "lora-node"
|
|
867
|
-
version = "0.11.
|
|
867
|
+
version = "0.11.3"
|
|
868
868
|
dependencies = [
|
|
869
869
|
"anyhow",
|
|
870
870
|
"lora-binding-buffer",
|
|
@@ -879,7 +879,7 @@ dependencies = [
|
|
|
879
879
|
|
|
880
880
|
[[package]]
|
|
881
881
|
name = "lora-parser"
|
|
882
|
-
version = "0.11.
|
|
882
|
+
version = "0.11.3"
|
|
883
883
|
dependencies = [
|
|
884
884
|
"lora-ast",
|
|
885
885
|
"pest",
|
|
@@ -890,7 +890,7 @@ dependencies = [
|
|
|
890
890
|
|
|
891
891
|
[[package]]
|
|
892
892
|
name = "lora-python"
|
|
893
|
-
version = "0.11.
|
|
893
|
+
version = "0.11.3"
|
|
894
894
|
dependencies = [
|
|
895
895
|
"anyhow",
|
|
896
896
|
"lora-database",
|
|
@@ -902,7 +902,7 @@ dependencies = [
|
|
|
902
902
|
|
|
903
903
|
[[package]]
|
|
904
904
|
name = "lora-query-wasm"
|
|
905
|
-
version = "0.11.
|
|
905
|
+
version = "0.11.3"
|
|
906
906
|
dependencies = [
|
|
907
907
|
"console_error_panic_hook",
|
|
908
908
|
"js-sys",
|
|
@@ -915,7 +915,7 @@ dependencies = [
|
|
|
915
915
|
|
|
916
916
|
[[package]]
|
|
917
917
|
name = "lora-server"
|
|
918
|
-
version = "0.11.
|
|
918
|
+
version = "0.11.3"
|
|
919
919
|
dependencies = [
|
|
920
920
|
"anyhow",
|
|
921
921
|
"axum",
|
|
@@ -929,7 +929,7 @@ dependencies = [
|
|
|
929
929
|
|
|
930
930
|
[[package]]
|
|
931
931
|
name = "lora-snapshot"
|
|
932
|
-
version = "0.11.
|
|
932
|
+
version = "0.11.3"
|
|
933
933
|
dependencies = [
|
|
934
934
|
"argon2",
|
|
935
935
|
"blake3",
|
|
@@ -943,7 +943,7 @@ dependencies = [
|
|
|
943
943
|
|
|
944
944
|
[[package]]
|
|
945
945
|
name = "lora-store"
|
|
946
|
-
version = "0.11.
|
|
946
|
+
version = "0.11.3"
|
|
947
947
|
dependencies = [
|
|
948
948
|
"crc32fast",
|
|
949
949
|
"js-sys",
|
|
@@ -954,7 +954,7 @@ dependencies = [
|
|
|
954
954
|
|
|
955
955
|
[[package]]
|
|
956
956
|
name = "lora-wal"
|
|
957
|
-
version = "0.11.
|
|
957
|
+
version = "0.11.3"
|
|
958
958
|
dependencies = [
|
|
959
959
|
"crc32fast",
|
|
960
960
|
"lora-store",
|
|
@@ -964,7 +964,7 @@ dependencies = [
|
|
|
964
964
|
|
|
965
965
|
[[package]]
|
|
966
966
|
name = "lora-wasm"
|
|
967
|
-
version = "0.11.
|
|
967
|
+
version = "0.11.3"
|
|
968
968
|
dependencies = [
|
|
969
969
|
"anyhow",
|
|
970
970
|
"console_error_panic_hook",
|
|
@@ -980,7 +980,7 @@ dependencies = [
|
|
|
980
980
|
|
|
981
981
|
[[package]]
|
|
982
982
|
name = "lora_ruby"
|
|
983
|
-
version = "0.11.
|
|
983
|
+
version = "0.11.3"
|
|
984
984
|
dependencies = [
|
|
985
985
|
"anyhow",
|
|
986
986
|
"lora-database",
|
|
@@ -4,7 +4,7 @@ resolver = "2"
|
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
6
|
edition = "2021"
|
|
7
|
-
version = "0.11.
|
|
7
|
+
version = "0.11.3"
|
|
8
8
|
license = "BUSL-1.1"
|
|
9
9
|
authors = ["LoraDB, Inc."]
|
|
10
10
|
repository = "https://github.com/lora-db/lora"
|
|
@@ -15,16 +15,16 @@ rust-version = "1.87"
|
|
|
15
15
|
# Internal crates — versions are kept in lockstep with [workspace.package].version
|
|
16
16
|
# by `scripts/sync-versions.mjs`. Both `path` and `version` are set so that
|
|
17
17
|
# `cargo publish` works (crates.io cannot resolve path-only deps).
|
|
18
|
-
lora-ast = { path = "crates/lora-ast", version = "=0.11.
|
|
19
|
-
lora-parser = { path = "crates/lora-parser", version = "=0.11.
|
|
20
|
-
lora-analyzer = { path = "crates/lora-analyzer", version = "=0.11.
|
|
21
|
-
lora-compiler = { path = "crates/lora-compiler", version = "=0.11.
|
|
22
|
-
lora-store = { path = "crates/lora-store", version = "=0.11.
|
|
23
|
-
lora-snapshot = { path = "crates/lora-snapshot", version = "=0.11.
|
|
24
|
-
lora-wal = { path = "crates/lora-wal", version = "=0.11.
|
|
25
|
-
lora-executor = { path = "crates/lora-executor", version = "=0.11.
|
|
26
|
-
lora-database = { path = "crates/lora-database", version = "=0.11.
|
|
27
|
-
lora-binding-buffer = { path = "crates/bindings/lora-binding-buffer", version = "=0.11.
|
|
18
|
+
lora-ast = { path = "crates/lora-ast", version = "=0.11.3" }
|
|
19
|
+
lora-parser = { path = "crates/lora-parser", version = "=0.11.3" }
|
|
20
|
+
lora-analyzer = { path = "crates/lora-analyzer", version = "=0.11.3" }
|
|
21
|
+
lora-compiler = { path = "crates/lora-compiler", version = "=0.11.3" }
|
|
22
|
+
lora-store = { path = "crates/lora-store", version = "=0.11.3" }
|
|
23
|
+
lora-snapshot = { path = "crates/lora-snapshot", version = "=0.11.3", default-features = false }
|
|
24
|
+
lora-wal = { path = "crates/lora-wal", version = "=0.11.3" }
|
|
25
|
+
lora-executor = { path = "crates/lora-executor", version = "=0.11.3", default-features = false }
|
|
26
|
+
lora-database = { path = "crates/lora-database", version = "=0.11.3" }
|
|
27
|
+
lora-binding-buffer = { path = "crates/bindings/lora-binding-buffer", version = "=0.11.3" }
|
|
28
28
|
|
|
29
29
|
# External crates.
|
|
30
30
|
anyhow = "1"
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-analyzer/src/analyzer/builtin_signatures.rs
RENAMED
|
@@ -476,10 +476,13 @@ pub const BUILTIN_ALIASES: &[BuiltinAlias] = &[
|
|
|
476
476
|
alias("type.try_cast", "cast.try"),
|
|
477
477
|
alias("type.can_cast", "cast.can"),
|
|
478
478
|
alias("now", "temporal.now"),
|
|
479
|
+
alias("datetime", "temporal.now"),
|
|
479
480
|
alias("timestamp", "temporal.timestamp"),
|
|
480
481
|
alias("timezone", "temporal.timezone"),
|
|
481
482
|
alias("new", "uuid.new"),
|
|
482
483
|
alias("random", "math.random"),
|
|
484
|
+
alias("rand", "math.random"),
|
|
485
|
+
alias("range", "list.range"),
|
|
483
486
|
// Cypher / historical compatibility aliases.
|
|
484
487
|
alias("head", "list.first"),
|
|
485
488
|
alias("last", "list.last"),
|
|
@@ -58,8 +58,8 @@ pub use lora_store::InMemoryGraph;
|
|
|
58
58
|
// Snapshot surface — re-exported so bindings/servers don't need a direct
|
|
59
59
|
// `lora-store` dependency just to name the meta / error types.
|
|
60
60
|
pub use lora_snapshot::{
|
|
61
|
-
Compression, EncryptionKey, PasswordKdfParams, SnapshotCredentials,
|
|
62
|
-
SnapshotInfo, SnapshotOptions, SnapshotPassword, DATABASE_SNAPSHOT_MAGIC,
|
|
61
|
+
snapshot_info, Compression, EncryptionKey, PasswordKdfParams, SnapshotCredentials,
|
|
62
|
+
SnapshotEncryption, SnapshotInfo, SnapshotOptions, SnapshotPassword, DATABASE_SNAPSHOT_MAGIC,
|
|
63
63
|
};
|
|
64
64
|
pub use lora_store::{
|
|
65
65
|
NodeId, NodeRecord, RelationshipId, RelationshipRecord, SnapshotError, SnapshotMeta,
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
//! UNWIND-driven bulk-ingestion tests.
|
|
2
|
+
//!
|
|
3
|
+
//! Covers the playground's canonical "fill the graph from a range" pattern:
|
|
4
|
+
//! `UNWIND range(...) AS id CREATE (n {id, computed properties...})`. The
|
|
5
|
+
//! shapes here are exactly what a user pastes into the playground when
|
|
6
|
+
//! seeding a graph for exploration — Cypher-style function names, a CASE
|
|
7
|
+
//! expression in the property map, and a non-trivial per-row workload.
|
|
8
|
+
|
|
9
|
+
mod test_helpers;
|
|
10
|
+
|
|
11
|
+
use serde_json::Value as JsonValue;
|
|
12
|
+
use test_helpers::TestDb;
|
|
13
|
+
|
|
14
|
+
// ============================================================
|
|
15
|
+
// Cypher-compat aliases — these are the names a Neo4j user reaches for first
|
|
16
|
+
// and must resolve to the canonical namespaced builtin without the analyzer
|
|
17
|
+
// raising UnknownFunction.
|
|
18
|
+
// ============================================================
|
|
19
|
+
|
|
20
|
+
#[test]
|
|
21
|
+
fn range_alias_resolves_to_list_range() {
|
|
22
|
+
let db = TestDb::new();
|
|
23
|
+
let rows = db.run("UNWIND range(1, 5) AS k RETURN k");
|
|
24
|
+
assert_eq!(rows.len(), 5);
|
|
25
|
+
assert_eq!(
|
|
26
|
+
rows.iter()
|
|
27
|
+
.map(|r| r["k"].as_i64().unwrap())
|
|
28
|
+
.collect::<Vec<_>>(),
|
|
29
|
+
vec![1, 2, 3, 4, 5],
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#[test]
|
|
34
|
+
fn range_alias_supports_step_argument() {
|
|
35
|
+
let db = TestDb::new();
|
|
36
|
+
let rows = db.run("UNWIND range(0, 10, 2) AS k RETURN k");
|
|
37
|
+
let values: Vec<i64> = rows.iter().map(|r| r["k"].as_i64().unwrap()).collect();
|
|
38
|
+
assert_eq!(values, vec![0, 2, 4, 6, 8, 10]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
#[test]
|
|
42
|
+
fn rand_alias_resolves_to_math_random() {
|
|
43
|
+
let db = TestDb::new();
|
|
44
|
+
let rows = db.run("RETURN rand() AS r");
|
|
45
|
+
let r = rows[0]["r"].as_f64().unwrap();
|
|
46
|
+
assert!((0.0..1.0).contains(&r), "rand() outside [0,1): {r}");
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#[test]
|
|
50
|
+
fn datetime_alias_resolves_to_temporal_now() {
|
|
51
|
+
let db = TestDb::new();
|
|
52
|
+
let rows = db.run("RETURN datetime() AS t");
|
|
53
|
+
// temporal.now() is rendered as a typed datetime object; the shape
|
|
54
|
+
// and exact representation belong to temporal.rs — here we just assert
|
|
55
|
+
// the alias resolved (no error) and produced a non-null value.
|
|
56
|
+
assert!(!rows[0]["t"].is_null(), "datetime() returned null");
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// ============================================================
|
|
60
|
+
// The playground's canonical UNWIND-CREATE pattern.
|
|
61
|
+
// ============================================================
|
|
62
|
+
|
|
63
|
+
#[test]
|
|
64
|
+
fn unwind_range_creates_nodes_with_properties() {
|
|
65
|
+
let db = TestDb::new();
|
|
66
|
+
db.run(
|
|
67
|
+
"WITH range(1, 100) AS ids \
|
|
68
|
+
UNWIND ids AS id \
|
|
69
|
+
CREATE (n:TestRecord { \
|
|
70
|
+
id: id, \
|
|
71
|
+
name: 'Record ' + toString(id), \
|
|
72
|
+
createdAt: datetime(), \
|
|
73
|
+
randomValue: rand(), \
|
|
74
|
+
status: CASE \
|
|
75
|
+
WHEN id % 3 = 0 THEN 'ACTIVE' \
|
|
76
|
+
WHEN id % 3 = 1 THEN 'PENDING' \
|
|
77
|
+
ELSE 'ARCHIVED' \
|
|
78
|
+
END \
|
|
79
|
+
})",
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
db.assert_count("MATCH (n:TestRecord) RETURN n", 100);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
#[test]
|
|
86
|
+
fn unwind_range_case_expression_distributes_across_buckets() {
|
|
87
|
+
let db = TestDb::new();
|
|
88
|
+
db.run(
|
|
89
|
+
"UNWIND range(1, 30) AS id \
|
|
90
|
+
CREATE (:Bucketed { \
|
|
91
|
+
id: id, \
|
|
92
|
+
status: CASE \
|
|
93
|
+
WHEN id % 3 = 0 THEN 'ACTIVE' \
|
|
94
|
+
WHEN id % 3 = 1 THEN 'PENDING' \
|
|
95
|
+
ELSE 'ARCHIVED' \
|
|
96
|
+
END \
|
|
97
|
+
})",
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
// 30 ids, divisible by 3 → 10 in each bucket.
|
|
101
|
+
let active = db
|
|
102
|
+
.exec_count("MATCH (n:Bucketed {status:'ACTIVE'}) RETURN n")
|
|
103
|
+
.unwrap();
|
|
104
|
+
let pending = db
|
|
105
|
+
.exec_count("MATCH (n:Bucketed {status:'PENDING'}) RETURN n")
|
|
106
|
+
.unwrap();
|
|
107
|
+
let archived = db
|
|
108
|
+
.exec_count("MATCH (n:Bucketed {status:'ARCHIVED'}) RETURN n")
|
|
109
|
+
.unwrap();
|
|
110
|
+
assert_eq!((active, pending, archived), (10, 10, 10));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
#[test]
|
|
114
|
+
fn unwind_range_tostring_concatenation_produces_unique_names() {
|
|
115
|
+
let db = TestDb::new();
|
|
116
|
+
db.run(
|
|
117
|
+
"UNWIND range(1, 50) AS id \
|
|
118
|
+
CREATE (:Named { id: id, name: 'Record ' + toString(id) })",
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
// Properties are unique per id, so name distinct count == row count.
|
|
122
|
+
let names: Vec<JsonValue> = db.column("MATCH (n:Named) RETURN n.name AS name", "name");
|
|
123
|
+
let mut set = std::collections::BTreeSet::new();
|
|
124
|
+
for n in &names {
|
|
125
|
+
set.insert(n.as_str().unwrap().to_string());
|
|
126
|
+
}
|
|
127
|
+
assert_eq!(set.len(), 50);
|
|
128
|
+
assert!(set.contains("Record 1"));
|
|
129
|
+
assert!(set.contains("Record 50"));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
#[test]
|
|
133
|
+
fn unwind_range_returning_created_nodes_yields_one_row_per_id() {
|
|
134
|
+
let db = TestDb::new();
|
|
135
|
+
let rows = db.run(
|
|
136
|
+
"UNWIND range(1, 25) AS id \
|
|
137
|
+
CREATE (n:Returned { id: id }) \
|
|
138
|
+
RETURN n.id AS id ORDER BY id",
|
|
139
|
+
);
|
|
140
|
+
assert_eq!(rows.len(), 25);
|
|
141
|
+
for (i, row) in rows.iter().enumerate() {
|
|
142
|
+
assert_eq!(row["id"].as_i64().unwrap() as usize, i + 1);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// ============================================================
|
|
147
|
+
// Larger scale: the upper end of what the playground will plausibly accept
|
|
148
|
+
// in a single statement. Kept modest (10k) because the parser/analyzer
|
|
149
|
+
// recompile the entire UNWIND body per query — for true bulk loads the
|
|
150
|
+
// playground should batch in ~2k chunks, see scale.rs.
|
|
151
|
+
// ============================================================
|
|
152
|
+
|
|
153
|
+
#[test]
|
|
154
|
+
fn unwind_range_ten_thousand_nodes_single_statement() {
|
|
155
|
+
let db = TestDb::new();
|
|
156
|
+
db.run(
|
|
157
|
+
"UNWIND range(1, 10000) AS id \
|
|
158
|
+
CREATE (:BulkNode { id: id, kind: id % 7 })",
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
assert_eq!(db.service.node_count(), 10_000);
|
|
162
|
+
|
|
163
|
+
// Spot-check a value in the middle and at the boundaries.
|
|
164
|
+
let middle = db.scalar("MATCH (n:BulkNode {id: 5000}) RETURN n.kind");
|
|
165
|
+
assert_eq!(middle.as_i64().unwrap(), 5000 % 7);
|
|
166
|
+
let last = db.scalar("MATCH (n:BulkNode {id: 10000}) RETURN n.kind");
|
|
167
|
+
assert_eq!(last.as_i64().unwrap(), 10_000 % 7);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
#[test]
|
|
171
|
+
#[ignore = "100k-in-one-statement is slow; run with --ignored. Real bulk loads should batch."]
|
|
172
|
+
fn unwind_range_one_hundred_thousand_nodes_single_statement() {
|
|
173
|
+
let db = TestDb::new();
|
|
174
|
+
db.run(
|
|
175
|
+
"WITH range(1, 100000) AS ids \
|
|
176
|
+
UNWIND ids AS id \
|
|
177
|
+
CREATE (n:TestRecord { \
|
|
178
|
+
id: id, \
|
|
179
|
+
name: 'Record ' + toString(id), \
|
|
180
|
+
randomValue: rand(), \
|
|
181
|
+
status: CASE \
|
|
182
|
+
WHEN id % 3 = 0 THEN 'ACTIVE' \
|
|
183
|
+
WHEN id % 3 = 1 THEN 'PENDING' \
|
|
184
|
+
ELSE 'ARCHIVED' \
|
|
185
|
+
END \
|
|
186
|
+
})",
|
|
187
|
+
);
|
|
188
|
+
assert_eq!(db.service.node_count(), 100_000);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
#[test]
|
|
192
|
+
fn batched_unwind_range_one_hundred_thousand_nodes() {
|
|
193
|
+
// The pattern the playground should actually use for large ingest:
|
|
194
|
+
// many small UNWIND statements rather than one huge one. Mirrors
|
|
195
|
+
// scale.rs's approach but at a size that's reasonable for the
|
|
196
|
+
// default `cargo test` run.
|
|
197
|
+
let db = TestDb::new();
|
|
198
|
+
const TOTAL: usize = 100_000;
|
|
199
|
+
const BATCH: usize = 2_000;
|
|
200
|
+
|
|
201
|
+
let mut i = 0;
|
|
202
|
+
while i < TOTAL {
|
|
203
|
+
let end = (i + BATCH).min(TOTAL);
|
|
204
|
+
db.run(&format!(
|
|
205
|
+
"UNWIND range({i}, {}) AS id \
|
|
206
|
+
CREATE (:Bulk {{ id: id, kind: id % 5 }})",
|
|
207
|
+
end - 1,
|
|
208
|
+
));
|
|
209
|
+
i = end;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
assert_eq!(db.service.node_count(), TOTAL);
|
|
213
|
+
|
|
214
|
+
let buckets = db.run("MATCH (n:Bulk) RETURN n.kind AS k, count(n) AS c ORDER BY k");
|
|
215
|
+
assert_eq!(buckets.len(), 5);
|
|
216
|
+
for row in &buckets {
|
|
217
|
+
assert_eq!(row["c"].as_i64().unwrap() as usize, TOTAL / 5);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/examples/async_demo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/bindings/lora-python/tests/test_explain_profile.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
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/index_acceleration.rs
RENAMED
|
File without changes
|
|
File without changes
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/perf_smoke_baseline.json
RENAMED
|
File without changes
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/benches/query_implementations.rs
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
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/row_projection.rs
RENAMED
|
File without changes
|
|
File without changes
|
{lora_python-0.11.1 → lora_python-0.11.3}/crates/lora-database/src/database/show_pipeline.rs
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
|