lora-python 0.11.2__tar.gz → 0.11.4__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.2 → lora_python-0.11.4}/Cargo.lock +29 -17
- {lora_python-0.11.2 → lora_python-0.11.4}/Cargo.toml +13 -11
- {lora_python-0.11.2 → lora_python-0.11.4}/PKG-INFO +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/builtin_signatures.rs +3 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/Cargo.toml +1 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/execute.rs +3 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/occ.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/profile.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/schema.rs +2 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/write_guard.rs +3 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/lib.rs +2 -2
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/transaction.rs +3 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/archive/workspace.rs +2 -1
- lora_python-0.11.4/crates/lora-database/tests/unwind_ingestion.rs +219 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/Cargo.toml +1 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/list.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/math_ns.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/temporal.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/helpers.rs +2 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/immutable.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/mutable.rs +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/profile.rs +2 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/pyproject.toml +1 -1
- {lora_python-0.11.2 → lora_python-0.11.4}/LICENSE +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/README.md +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/.gitignore +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/LICENSE +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/README.md +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/build.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/examples/async_demo.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/examples/basic.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/src/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/src/from_python.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/src/to_python.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/tests/test_async.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/tests/test_explain_profile.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/bindings/lora-python/tests/test_sync.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/clauses.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/expressions.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/patterns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/state.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/analyzer/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/resolved.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/scope.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/src/symbols.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-analyzer/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-ast/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-ast/src/ast.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-ast/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/logical.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/optimizer.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/pattern.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/physical.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/plan_tree.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-compiler/src/planner.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/README.md +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/advanced.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/concurrency_guard.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/concurrent.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/engine.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/fixtures.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/index_acceleration.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/perf_smoke.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/perf_smoke_baseline.json +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/query_implementations.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/realistic.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/scale.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/temporal_spatial.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/benches/wal.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/builder.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/compile.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/explain.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/graph_api.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/procedures.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/pull_mode.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/replay.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/row_projection.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/show_pipeline.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/database/stream.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/durable_io.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/error.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/explain.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/live_store.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/named.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/plan_cache.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/snapshot/json.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/snapshot/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/snapshot/store.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/stream.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/admin.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/archive/format.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/archive/lock.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/archive/platform.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/archive/worker.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/archive.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/src/wal/write_scope.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/advanced_queries.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/aggregation.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/backend_stub.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/binary.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/builtin_namespaces.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/constraints.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/create.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/docs_examples.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/explain_profile.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/expressions.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/fulltext_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/functions_extended.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/index_acceleration.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/invariants.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/managed_snapshots.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/match.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/merge.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/ordering.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/parameters.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/parser.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/paths.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/projection.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/scale.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/schema.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/seeds.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/snapshot.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/spatial.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/temporal.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/test_helpers.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/transactions.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/types_advanced.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/union.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/update.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/vector_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/vectors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/wal.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/where_clause.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-database/tests/with.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/binops.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/bits_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/bytes_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/cast_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/crypto.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/edge.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/geo.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/json_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/map_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/node.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/number.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/path.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/string_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/text.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/type_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/uuid_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/value.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/vector_ns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/expr.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/functions.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/point.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/regex.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/vector.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/aggregation.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/optional.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/executor/sort.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/aggregate.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/call_subquery.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/columns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/context.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/expand.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/filter.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/hydration.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/mutable.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/optional.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/path.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/projection.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/scan.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/shape.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/sort.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/source.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/traits.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/pull/union.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/value.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/cypher.pest +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/clauses.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/expressions.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/literals.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/patterns.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/query.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/schema.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/src/parser/util.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-parser/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/body.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/codec.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/columnar.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/envelope.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/format.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/options.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/transform.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/src/view.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-snapshot/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/codec.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/lock_table.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/constraint_catalog.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/constraint_enforce.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/entity_index_store.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/fulltext_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/graph.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/impls.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/index_catalog.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/point_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/property_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/secondary_index_maintenance.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/snapshot.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/sorted_property_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/stats.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/memory/text_index.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/mutation.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/snapshot.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/traits.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/binary/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/binary/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/binary/traits.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/binary/types.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/graph.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/property_value.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/spatial/distance.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/spatial/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/spatial/point.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/spatial/srid.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/spatial/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/calendar.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/date.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/datetime.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/duration.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/format.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/parsing.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/temporal/time.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/vector/build.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/vector/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/vector/similarity.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/vector/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/src/types/vector/types.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-store/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/Cargo.toml +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/codec/decode.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/codec/encode.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/codec/format.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/codec/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/codec/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/config.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/dir.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/io.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/lib.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/lock.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/lsn.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/record.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/recorder/errors.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/recorder/mirror.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/recorder/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/recorder/recorder.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/recorder/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/replay.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/segment.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/testing.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/wal/group_flusher.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/wal/mod.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/wal/tests.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/src/wal/wal.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-wal/tests/error_messages.rs +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/python/lora_python/__init__.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/python/lora_python/_async.py +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/python/lora_python/_native.pyi +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/python/lora_python/py.typed +0 -0
- {lora_python-0.11.2 → lora_python-0.11.4}/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.4"
|
|
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.4"
|
|
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.4"
|
|
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.4"
|
|
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.4"
|
|
811
811
|
dependencies = [
|
|
812
812
|
"anyhow",
|
|
813
813
|
"chacha20poly1305",
|
|
@@ -826,11 +826,12 @@ dependencies = [
|
|
|
826
826
|
"serde_json",
|
|
827
827
|
"thiserror",
|
|
828
828
|
"tracing",
|
|
829
|
+
"web-time",
|
|
829
830
|
]
|
|
830
831
|
|
|
831
832
|
[[package]]
|
|
832
833
|
name = "lora-executor"
|
|
833
|
-
version = "0.11.
|
|
834
|
+
version = "0.11.4"
|
|
834
835
|
dependencies = [
|
|
835
836
|
"blake3",
|
|
836
837
|
"crc32fast",
|
|
@@ -848,11 +849,12 @@ dependencies = [
|
|
|
848
849
|
"thiserror",
|
|
849
850
|
"tracing",
|
|
850
851
|
"unicode-normalization",
|
|
852
|
+
"web-time",
|
|
851
853
|
]
|
|
852
854
|
|
|
853
855
|
[[package]]
|
|
854
856
|
name = "lora-ffi"
|
|
855
|
-
version = "0.11.
|
|
857
|
+
version = "0.11.4"
|
|
856
858
|
dependencies = [
|
|
857
859
|
"anyhow",
|
|
858
860
|
"lora-binding-buffer",
|
|
@@ -864,7 +866,7 @@ dependencies = [
|
|
|
864
866
|
|
|
865
867
|
[[package]]
|
|
866
868
|
name = "lora-node"
|
|
867
|
-
version = "0.11.
|
|
869
|
+
version = "0.11.4"
|
|
868
870
|
dependencies = [
|
|
869
871
|
"anyhow",
|
|
870
872
|
"lora-binding-buffer",
|
|
@@ -879,7 +881,7 @@ dependencies = [
|
|
|
879
881
|
|
|
880
882
|
[[package]]
|
|
881
883
|
name = "lora-parser"
|
|
882
|
-
version = "0.11.
|
|
884
|
+
version = "0.11.4"
|
|
883
885
|
dependencies = [
|
|
884
886
|
"lora-ast",
|
|
885
887
|
"pest",
|
|
@@ -890,7 +892,7 @@ dependencies = [
|
|
|
890
892
|
|
|
891
893
|
[[package]]
|
|
892
894
|
name = "lora-python"
|
|
893
|
-
version = "0.11.
|
|
895
|
+
version = "0.11.4"
|
|
894
896
|
dependencies = [
|
|
895
897
|
"anyhow",
|
|
896
898
|
"lora-database",
|
|
@@ -902,7 +904,7 @@ dependencies = [
|
|
|
902
904
|
|
|
903
905
|
[[package]]
|
|
904
906
|
name = "lora-query-wasm"
|
|
905
|
-
version = "0.11.
|
|
907
|
+
version = "0.11.4"
|
|
906
908
|
dependencies = [
|
|
907
909
|
"console_error_panic_hook",
|
|
908
910
|
"js-sys",
|
|
@@ -915,7 +917,7 @@ dependencies = [
|
|
|
915
917
|
|
|
916
918
|
[[package]]
|
|
917
919
|
name = "lora-server"
|
|
918
|
-
version = "0.11.
|
|
920
|
+
version = "0.11.4"
|
|
919
921
|
dependencies = [
|
|
920
922
|
"anyhow",
|
|
921
923
|
"axum",
|
|
@@ -929,7 +931,7 @@ dependencies = [
|
|
|
929
931
|
|
|
930
932
|
[[package]]
|
|
931
933
|
name = "lora-snapshot"
|
|
932
|
-
version = "0.11.
|
|
934
|
+
version = "0.11.4"
|
|
933
935
|
dependencies = [
|
|
934
936
|
"argon2",
|
|
935
937
|
"blake3",
|
|
@@ -943,7 +945,7 @@ dependencies = [
|
|
|
943
945
|
|
|
944
946
|
[[package]]
|
|
945
947
|
name = "lora-store"
|
|
946
|
-
version = "0.11.
|
|
948
|
+
version = "0.11.4"
|
|
947
949
|
dependencies = [
|
|
948
950
|
"crc32fast",
|
|
949
951
|
"js-sys",
|
|
@@ -954,7 +956,7 @@ dependencies = [
|
|
|
954
956
|
|
|
955
957
|
[[package]]
|
|
956
958
|
name = "lora-wal"
|
|
957
|
-
version = "0.11.
|
|
959
|
+
version = "0.11.4"
|
|
958
960
|
dependencies = [
|
|
959
961
|
"crc32fast",
|
|
960
962
|
"lora-store",
|
|
@@ -964,7 +966,7 @@ dependencies = [
|
|
|
964
966
|
|
|
965
967
|
[[package]]
|
|
966
968
|
name = "lora-wasm"
|
|
967
|
-
version = "0.11.
|
|
969
|
+
version = "0.11.4"
|
|
968
970
|
dependencies = [
|
|
969
971
|
"anyhow",
|
|
970
972
|
"console_error_panic_hook",
|
|
@@ -980,7 +982,7 @@ dependencies = [
|
|
|
980
982
|
|
|
981
983
|
[[package]]
|
|
982
984
|
name = "lora_ruby"
|
|
983
|
-
version = "0.11.
|
|
985
|
+
version = "0.11.4"
|
|
984
986
|
dependencies = [
|
|
985
987
|
"anyhow",
|
|
986
988
|
"lora-database",
|
|
@@ -1932,6 +1934,16 @@ dependencies = [
|
|
|
1932
1934
|
"wasm-bindgen",
|
|
1933
1935
|
]
|
|
1934
1936
|
|
|
1937
|
+
[[package]]
|
|
1938
|
+
name = "web-time"
|
|
1939
|
+
version = "1.1.0"
|
|
1940
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1941
|
+
checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
|
|
1942
|
+
dependencies = [
|
|
1943
|
+
"js-sys",
|
|
1944
|
+
"wasm-bindgen",
|
|
1945
|
+
]
|
|
1946
|
+
|
|
1935
1947
|
[[package]]
|
|
1936
1948
|
name = "winapi"
|
|
1937
1949
|
version = "0.3.9"
|
|
@@ -4,7 +4,7 @@ resolver = "2"
|
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
6
|
edition = "2021"
|
|
7
|
-
version = "0.11.
|
|
7
|
+
version = "0.11.4"
|
|
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.4" }
|
|
19
|
+
lora-parser = { path = "crates/lora-parser", version = "=0.11.4" }
|
|
20
|
+
lora-analyzer = { path = "crates/lora-analyzer", version = "=0.11.4" }
|
|
21
|
+
lora-compiler = { path = "crates/lora-compiler", version = "=0.11.4" }
|
|
22
|
+
lora-store = { path = "crates/lora-store", version = "=0.11.4" }
|
|
23
|
+
lora-snapshot = { path = "crates/lora-snapshot", version = "=0.11.4", default-features = false }
|
|
24
|
+
lora-wal = { path = "crates/lora-wal", version = "=0.11.4" }
|
|
25
|
+
lora-executor = { path = "crates/lora-executor", version = "=0.11.4", default-features = false }
|
|
26
|
+
lora-database = { path = "crates/lora-database", version = "=0.11.4" }
|
|
27
|
+
lora-binding-buffer = { path = "crates/bindings/lora-binding-buffer", version = "=0.11.4" }
|
|
28
28
|
|
|
29
29
|
# External crates.
|
|
30
30
|
anyhow = "1"
|
|
@@ -48,3 +48,5 @@ getrandom = "0.2"
|
|
|
48
48
|
argon2 = "0.5"
|
|
49
49
|
flate2 = "1"
|
|
50
50
|
rayon = "1"
|
|
51
|
+
|
|
52
|
+
web-time = "1"
|
{lora_python-0.11.2 → lora_python-0.11.4}/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"),
|
|
@@ -35,7 +35,9 @@
|
|
|
35
35
|
use std::any::{Any, TypeId};
|
|
36
36
|
use std::ops::{Deref, DerefMut};
|
|
37
37
|
use std::sync::{Arc, MutexGuard, TryLockError};
|
|
38
|
-
use std::time::
|
|
38
|
+
use std::time::Duration;
|
|
39
|
+
|
|
40
|
+
use web_time::Instant;
|
|
39
41
|
|
|
40
42
|
use anyhow::{anyhow, Result};
|
|
41
43
|
use lora_executor::ExecutorError;
|
|
@@ -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,
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
use std::collections::BTreeMap;
|
|
2
2
|
use std::sync::atomic::{AtomicBool, Ordering};
|
|
3
3
|
use std::sync::{Arc, Mutex, MutexGuard};
|
|
4
|
-
use std::time::
|
|
4
|
+
use std::time::Duration;
|
|
5
|
+
|
|
6
|
+
use web_time::Instant;
|
|
5
7
|
|
|
6
8
|
use anyhow::Result;
|
|
7
9
|
use thiserror::Error;
|
|
@@ -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
|
+
}
|
|
@@ -947,7 +947,7 @@ struct SimpleRng {
|
|
|
947
947
|
|
|
948
948
|
impl SimpleRng {
|
|
949
949
|
fn new() -> Self {
|
|
950
|
-
use
|
|
950
|
+
use web_time::{SystemTime, UNIX_EPOCH};
|
|
951
951
|
let seed = SystemTime::now()
|
|
952
952
|
.duration_since(UNIX_EPOCH)
|
|
953
953
|
.map(|d| d.as_nanos() as u64)
|
|
@@ -146,7 +146,7 @@ fn sign(args: &[LoraValue]) -> LoraValue {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
fn random() -> LoraValue {
|
|
149
|
-
use
|
|
149
|
+
use web_time::{SystemTime, UNIX_EPOCH};
|
|
150
150
|
let nanos = SystemTime::now()
|
|
151
151
|
.duration_since(UNIX_EPOCH)
|
|
152
152
|
.map(|d| d.subsec_nanos())
|
{lora_python-0.11.2 → lora_python-0.11.4}/crates/lora-executor/src/eval/builtins/temporal.rs
RENAMED
|
@@ -52,7 +52,7 @@ fn now(args: &[LoraValue]) -> LoraValue {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
fn timestamp() -> LoraValue {
|
|
55
|
-
use
|
|
55
|
+
use web_time::{SystemTime, UNIX_EPOCH};
|
|
56
56
|
let millis = SystemTime::now()
|
|
57
57
|
.duration_since(UNIX_EPOCH)
|
|
58
58
|
.map(|d| d.as_millis() as i64)
|
|
@@ -34,7 +34,8 @@
|
|
|
34
34
|
|
|
35
35
|
use std::cmp::Ordering;
|
|
36
36
|
use std::collections::{BTreeMap, BTreeSet};
|
|
37
|
-
|
|
37
|
+
|
|
38
|
+
use web_time::Instant;
|
|
38
39
|
|
|
39
40
|
use lora_analyzer::symbols::VarId;
|
|
40
41
|
use lora_analyzer::{AggregateFunction, FunctionId, ResolvedExpr, ResolvedMapSelector};
|
|
@@ -25,8 +25,8 @@ use lora_compiler::CompiledQuery;
|
|
|
25
25
|
use lora_store::{GraphStorageMut, NodeId, Properties};
|
|
26
26
|
|
|
27
27
|
use std::collections::BTreeMap;
|
|
28
|
-
use std::time::Instant;
|
|
29
28
|
use tracing::{debug, error, trace};
|
|
29
|
+
use web_time::Instant;
|
|
30
30
|
|
|
31
31
|
use super::aggregate_rows;
|
|
32
32
|
use super::helpers::{
|
|
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.2 → lora_python-0.11.4}/crates/bindings/lora-python/examples/async_demo.py
RENAMED
|
File without changes
|
|
File without changes
|