data-flow-control 0.1.4__tar.gz → 0.1.5__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.
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/Cargo.lock +3 -3
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/Cargo.toml +1 -1
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/PKG-INFO +2 -1
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/resolution.rs +8 -9
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/insert_shapes.rs +4 -1
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/scan.rs +4 -1
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/pyproject.toml +2 -1
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/LICENSE +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/Cargo.toml +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/benches/rewrite_perf.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/aggregate_registry.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/catalog.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/diagnostics.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/explain.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/full_push.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/identifiers.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/intern.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/ir.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/lib.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/optimizer.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/parser.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/partial_push.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/planner.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_compile.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_index.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_parser.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_pgn.pest +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/branch.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/compiled.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/delete.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/indexes.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/memory.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/query_analysis.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewrite_stats.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewrite_strategy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/aggregates.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/columns.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/constraint_preprocess.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/derived_policy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/dimensions.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/exists.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/expr.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/helpers.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/limit.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/actions.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/applicability.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/dominance.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/scope_plan.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/write_plan.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/policy_expr.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/projection.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/scope.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/select.rs +1 -1
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/types.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/write_path.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/semiring.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_set_index.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/analysis.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/annotations.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/branch.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/rewrites.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/split.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/ast_stats.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/builders.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/columns.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/dialect.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/expr.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/expr_key.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/parse.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/sql/render.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/statement_tables.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/threshold.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/common/duckdb.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/common/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/conformance.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/main.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/partial_push.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/pgn.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/pgn_unique.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/policy_storage.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/rewrite_api_parity.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/semiring.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/source_sets.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/symmetric_self_join.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/threshold.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/unique_not_unique.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/dialect.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/execution/insert.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/execution/kill.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/execution/main.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/execution/oracle.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/execution/remove.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/execution/update.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/expected/duckdb/remove_scan.sql +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/expected/postgres/remove_scan.sql +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/expected/sqlite/remove_scan.sql +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/explain_strategy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/column_propagation.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/dimensions.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/exists_join.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/having_where.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/identifiers.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/main.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/multi_source.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/operators.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/query_shapes.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/scalar_subquery.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/indexed_candidate_differential.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/insert_values_body.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/paper_examples.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/parser.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/planner.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/policy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/policy_dialect.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/policy_store_memory.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/derived_policy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/in_semijoin.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/insert.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/joins.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/main.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/output.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/recursive.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/update.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_candidate_regression.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_fast_paths.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_large_registry.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_stats_timings.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/scan_ready_expr.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/source_set_split_no_parse.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/sql_builders.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/sql_columns.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/ui_resolution.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/Cargo.toml +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/bindings/catalog.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/bindings/errors.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/bindings/mod.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/bindings/planner.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/bindings/policy.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/bindings/stats.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-py/src/lib.rs +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/__init__.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/_rust.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/__init__.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/base.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/clickhouse.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/datafusion.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/duckdb.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/kill.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/pg_catalog.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/postgres.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/registry.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/sqlite.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/umbra.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/aggregate_introspection.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/catalog.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/connection.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/dialect.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/__init__.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/agent.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/call_tool_with_dataflow.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/database.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/middleware.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/schema.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/sql_validation.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/tool_spec.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/wrapper.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/options.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/planner.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/policy.py +0 -0
- {data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/ui.py +0 -0
|
@@ -1593,7 +1593,7 @@ dependencies = [
|
|
|
1593
1593
|
|
|
1594
1594
|
[[package]]
|
|
1595
1595
|
name = "passant-cli"
|
|
1596
|
-
version = "0.1.
|
|
1596
|
+
version = "0.1.5"
|
|
1597
1597
|
dependencies = [
|
|
1598
1598
|
"anyhow",
|
|
1599
1599
|
"assert_cmd",
|
|
@@ -1605,7 +1605,7 @@ dependencies = [
|
|
|
1605
1605
|
|
|
1606
1606
|
[[package]]
|
|
1607
1607
|
name = "passant-core"
|
|
1608
|
-
version = "0.1.
|
|
1608
|
+
version = "0.1.5"
|
|
1609
1609
|
dependencies = [
|
|
1610
1610
|
"anyhow",
|
|
1611
1611
|
"criterion",
|
|
@@ -1623,7 +1623,7 @@ dependencies = [
|
|
|
1623
1623
|
|
|
1624
1624
|
[[package]]
|
|
1625
1625
|
name = "passant-py"
|
|
1626
|
-
version = "0.1.
|
|
1626
|
+
version = "0.1.5"
|
|
1627
1627
|
dependencies = [
|
|
1628
1628
|
"passant-core",
|
|
1629
1629
|
"pyo3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: data-flow-control
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Requires-Dist: boto3>=1.26.0
|
|
5
5
|
Requires-Dist: duckdb>=1.3.0
|
|
6
6
|
Requires-Dist: langchain>=1.3,<2
|
|
@@ -11,6 +11,7 @@ Requires-Dist: clickhouse-connect>=0.7.0 ; extra == 'clickhouse'
|
|
|
11
11
|
Requires-Dist: datafusion>=53.0.0 ; extra == 'datafusion'
|
|
12
12
|
Requires-Dist: pyarrow>=14.0.0 ; extra == 'datafusion'
|
|
13
13
|
Requires-Dist: maturin>=1.7.0 ; extra == 'dev'
|
|
14
|
+
Requires-Dist: pre-commit>=4.0.0 ; extra == 'dev'
|
|
14
15
|
Requires-Dist: pytest>=8.4.2 ; extra == 'dev'
|
|
15
16
|
Requires-Dist: ruff>=0.11.0 ; extra == 'dev'
|
|
16
17
|
Requires-Dist: psycopg[binary]>=3.2.0 ; extra == 'postgres'
|
|
@@ -60,17 +60,13 @@ fn is_kill_wrapped_select(select: &Select) -> bool {
|
|
|
60
60
|
if select.projection.len() != 1 {
|
|
61
61
|
return false;
|
|
62
62
|
}
|
|
63
|
-
if !matches!(
|
|
64
|
-
select.projection.first(),
|
|
65
|
-
Some(SelectItem::Wildcard(_))
|
|
66
|
-
) {
|
|
63
|
+
if !matches!(select.projection.first(), Some(SelectItem::Wildcard(_))) {
|
|
67
64
|
return false;
|
|
68
65
|
}
|
|
69
66
|
let Some(TableWithJoins {
|
|
70
|
-
relation:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
},
|
|
67
|
+
relation: TableFactor::Derived {
|
|
68
|
+
alias: Some(alias), ..
|
|
69
|
+
},
|
|
74
70
|
joins,
|
|
75
71
|
..
|
|
76
72
|
}) = select.from.first()
|
|
@@ -753,7 +749,10 @@ mod tests {
|
|
|
753
749
|
remap_query_order_by_after_kill_wrap(&mut query);
|
|
754
750
|
|
|
755
751
|
let sql = render_statement(&crate::sql::statement_from_query(query), None);
|
|
756
|
-
assert!(
|
|
752
|
+
assert!(
|
|
753
|
+
sql.contains("ORDER BY id"),
|
|
754
|
+
"expected unqualified ORDER BY: {sql}"
|
|
755
|
+
);
|
|
757
756
|
assert!(
|
|
758
757
|
!sql.contains("ORDER BY receipts."),
|
|
759
758
|
"qualified ORDER BY should be remapped: {sql}"
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/insert_shapes.rs
RENAMED
|
@@ -88,7 +88,10 @@ fn insert_select_kill_order_by_remapped() {
|
|
|
88
88
|
reports_catalog(),
|
|
89
89
|
);
|
|
90
90
|
assert!(sql.contains("passant_kill"), "expected kill wrap: {sql}");
|
|
91
|
-
assert!(
|
|
91
|
+
assert!(
|
|
92
|
+
sql.contains("ORDER BY id"),
|
|
93
|
+
"expected unqualified ORDER BY: {sql}"
|
|
94
|
+
);
|
|
92
95
|
assert!(
|
|
93
96
|
!sql.contains("ORDER BY Receipts."),
|
|
94
97
|
"qualified ORDER BY should be remapped: {sql}"
|
|
@@ -269,7 +269,10 @@ fn select_kill_order_by_remapped() {
|
|
|
269
269
|
.rewrite("SELECT id FROM foo ORDER BY foo.id")
|
|
270
270
|
.expect("query should rewrite");
|
|
271
271
|
assert!(sql.contains("passant_kill"), "expected kill wrap: {sql}");
|
|
272
|
-
assert!(
|
|
272
|
+
assert!(
|
|
273
|
+
sql.contains("ORDER BY id"),
|
|
274
|
+
"expected unqualified ORDER BY: {sql}"
|
|
275
|
+
);
|
|
273
276
|
assert!(
|
|
274
277
|
!sql.contains("ORDER BY foo."),
|
|
275
278
|
"qualified ORDER BY should be remapped: {sql}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "data-flow-control"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.5"
|
|
4
4
|
description = "Rust-backed Data Flow Control rewrite engine"
|
|
5
5
|
license = "MIT"
|
|
6
6
|
license-files = ["LICENSE"]
|
|
@@ -17,6 +17,7 @@ dependencies = [
|
|
|
17
17
|
[project.optional-dependencies]
|
|
18
18
|
dev = [
|
|
19
19
|
"maturin>=1.7.0",
|
|
20
|
+
"pre-commit>=4.0.0",
|
|
20
21
|
"pytest>=8.4.2",
|
|
21
22
|
"ruff>=0.11.0",
|
|
22
23
|
]
|
|
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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/compiled.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/policy_store/indexes.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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/derived_policy.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/actions.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/applicability.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/dominance.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/scope_plan.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/plan/write_plan.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/rewriter/policy_expr.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -20,8 +20,8 @@ use super::derived_policy::{
|
|
|
20
20
|
use super::exists::apply_in_semijoin_policy_filters;
|
|
21
21
|
use super::helpers::select_output_column_mapping;
|
|
22
22
|
use super::limit::wrap_limited_policy_query;
|
|
23
|
-
use super::resolution::remap_query_order_by_after_kill_wrap;
|
|
24
23
|
use super::plan::{apply_select_rewrite_plan, plan_select_rewrite};
|
|
24
|
+
use super::resolution::remap_query_order_by_after_kill_wrap;
|
|
25
25
|
use super::types::{PassantRewriter, RewriteContext};
|
|
26
26
|
|
|
27
27
|
impl PassantRewriter {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/analysis.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/annotations.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/src/source_sets/rewrites.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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/conformance.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/partial_push.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/pgn_unique.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/policy_storage.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/semiring.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/source_sets.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/completion/threshold.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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/column_propagation.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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/gaps/scalar_subquery.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/insert_values_body.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/policy_store_memory.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/derived_policy.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite/in_semijoin.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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_fast_paths.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_large_registry.rs
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/rewrite_stats_timings.rs
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/passant-core/tests/source_set_split_no_parse.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
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/__init__.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/base.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/clickhouse.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/datafusion.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/duckdb.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/kill.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/pg_catalog.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/postgres.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/registry.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/sqlite.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/adapters/umbra.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/__init__.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/database.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/middleware.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/tool_spec.py
RENAMED
|
File without changes
|
{data_flow_control-0.1.4 → data_flow_control-0.1.5}/python/data_flow_control/langchain/wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|