Skip to content

V0.9.0 - #17

Draft
dsecurity49 wants to merge 23 commits into
mainfrom
v0.9.0
Draft

dsecurity49 wants to merge 23 commits into
mainfrom
v0.9.0

Conversation

@dsecurity49

Copy link
Copy Markdown
Owner

No description provided.

Preserve constraint, index, expression, and role metadata through schema changes. Add interrupted-detach coverage, reject recursive rename collisions, and compare partition bounds and predicates in the live harness.

Update documentation, repair the runtime CI target, and tighten live scripts and crate packaging.

Validation: 918 library tests, 13 API tests, doctests, Clippy, rustdoc, and installer/Action checks passed. Release remains blocked: the stronger PostgreSQL 18 gate exposes missing RANGE and DEFAULT predicates in safe_041; full predicate generation and the remaining constraint audit are unfinished.
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 122 files, which is 22 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 26cd7741-569e-4dbf-a96c-f3e38c987427

📥 Commits

Reviewing files that changed from the base of the PR and between fa509a4 and 1835930.

⛔ Files ignored due to path filters (37)
  • Cargo.lock is excluded by !**/*.lock
  • live_tests/.safe-migrate.cache is excluded by !live_tests/**
  • live_tests/README.md is excluded by !live_tests/**
  • live_tests/differential_baseline.sql is excluded by !live_tests/**
  • live_tests/differential_manifest.json is excluded by !live_tests/**
  • live_tests/rule_06_create-table-as-select/005_select_into.sql is excluded by !live_tests/**
  • live_tests/rule_06_create-table-as-select/safe_005_select_into.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/019_concurrent_detach_in_transaction.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/020_invalid_partition_strategy.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/021_concurrent_detach_default_partition.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_025_table_catalog_lifecycle.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_026_column_catalog_lifecycle.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_027_like_including_all.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_028_sequence_parameters.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_029_select_into_projection.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_030_lock_and_truncate.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_031_partition_clone_catalog.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_032_inheritance_lifecycle.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_033_typed_table_lifecycle.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_034_generated_expression_change.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_035_metadata_reset.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_036_table_security_reset.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_037_key_index_lifecycle.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_038_type_change_metadata.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_039_rule_enablement.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_040_generated_column_rename.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_041_partition_bounds.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_042_concurrent_hash_detach.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_043_check_constraint_rename.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_044_key_index_rename.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_045_drop_index_settings.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_046_generated_check_names.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_047_concurrent_range_detach_retains_check.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_048_concurrent_list_detach_retains_check.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_049_recursive_column_rename.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_050_autocommit_on_commit_drop.sql is excluded by !live_tests/**
  • live_tests/rule_26_chain-conflict/safe_051_generated_expression_visible_function.sql is excluded by !live_tests/**
📒 Files selected for processing (122)
  • .github/ISSUE_TEMPLATE/database-feedback.yml
  • .github/workflows/ci.yml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • Cargo.toml
  • README.md
  • action.yml
  • docs/BENCHMARKS.md
  • docs/CONTRACT.md
  • docs/GITHUB_ACTIONS.md
  • scripts/fuzz
  • scripts/live-auto-sync
  • scripts/live-cache-encryption
  • scripts/live-catalog-differential
  • scripts/live-catalog-sync
  • scripts/live-connected-subscription
  • scripts/live-differential
  • scripts/test-action-contract
  • src/_internal/analysis/evidence.rs
  • src/_internal/analysis/expr_ir.rs
  • src/_internal/analysis/expr_visitor.rs
  • src/_internal/analysis/facts.rs
  • src/_internal/analysis/graph.rs
  • src/_internal/analysis/mod.rs
  • src/_internal/analysis/mutations.rs
  • src/_internal/analysis/outcome.rs
  • src/_internal/analysis/resolver.rs
  • src/_internal/analysis/resolver/relation.rs
  • src/_internal/analysis/resolver/relation_aux.rs
  • src/_internal/analysis/resolver/sequence.rs
  • src/_internal/analysis/resolver/session.rs
  • src/_internal/analysis/resolver/types.rs
  • src/_internal/analysis/settings.rs
  • src/_internal/analysis/state.rs
  • src/_internal/analysis/state/apply_misc.rs
  • src/_internal/analysis/state/apply_policy_trigger.rs
  • src/_internal/analysis/state/apply_relation.rs
  • src/_internal/analysis/state/apply_role.rs
  • src/_internal/analysis/state/apply_sequence.rs
  • src/_internal/analysis/state/apply_transaction.rs
  • src/_internal/analysis/state/apply_view_index.rs
  • src/_internal/analysis/transaction.rs
  • src/_internal/ast/identifiers.rs
  • src/_internal/ast/mod.rs
  • src/_internal/ast/visitor.rs
  • src/_internal/ast/visitor_tests.rs
  • src/_internal/db/cache.rs
  • src/_internal/db/cache_file.rs
  • src/_internal/db/mod.rs
  • src/_internal/engine/config.rs
  • src/_internal/engine/engine.rs
  • src/_internal/engine/mod.rs
  • src/_internal/model/column.rs
  • src/_internal/model/constraint.rs
  • src/_internal/model/function.rs
  • src/_internal/model/mod.rs
  • src/_internal/model/relation.rs
  • src/_internal/model/replication.rs
  • src/_internal/model/role.rs
  • src/_internal/model/schema.rs
  • src/_internal/model/sequence.rs
  • src/_internal/model/trigger.rs
  • src/_internal/model/types.rs
  • src/_internal/report/interactive.rs
  • src/_internal/report/mod.rs
  • src/_internal/report/reporter.rs
  • src/_internal/report/reporter_tests.rs
  • src/_internal/report/violations.rs
  • src/_internal/rules/conflict.rs
  • src/_internal/rules/constraints.rs
  • src/_internal/rules/destructive.rs
  • src/_internal/rules/drift.rs
  • src/_internal/rules/expressions.rs
  • src/_internal/rules/functions.rs
  • src/_internal/rules/idempotency.rs
  • src/_internal/rules/indexes.rs
  • src/_internal/rules/mod.rs
  • src/_internal/rules/opaque.rs
  • src/_internal/rules/partitions.rs
  • src/_internal/rules/policies.rs
  • src/_internal/rules/registry.rs
  • src/_internal/rules/security.rs
  • src/_internal/rules/timeouts.rs
  • src/_internal/rules/transactions.rs
  • src/_internal/rules/triggers.rs
  • src/_internal/rules/views.rs
  • src/_internal/sync.rs
  • src/_internal/sync_tests.rs
  • src/_internal/test_support.rs
  • src/api.rs
  • src/api/config.rs
  • src/cli_init.rs
  • src/internal_tests.rs
  • src/lib.rs
  • src/main.rs
  • tests/alter_schema_visitor.rs
  • tests/api_facade.rs
  • tests/architectural_gaps.rs
  • tests/bug_fixes.rs
  • tests/chain_execution.rs
  • tests/cli_tests.rs
  • tests/common/invariants.rs
  • tests/common/mod.rs
  • tests/destructive_rules.rs
  • tests/evidence_outcome.rs
  • tests/exhaustive_fuzz.rs
  • tests/expression_parsing.rs
  • tests/identifier_casing.rs
  • tests/invariant_sequences.rs
  • tests/live_auto_sync.rs
  • tests/live_cache_encryption.rs
  • tests/live_catalog_sync.rs
  • tests/live_differential_harness.rs
  • tests/performance_scenarios.rs
  • tests/resolver_namespaces.rs
  • tests/reversibility.rs
  • tests/rule_evaluation.rs
  • tests/state_machine_guards.rs
  • tests/state_mutation.rs
  • tests/transaction_lifecycle.rs
  • tests/v045_state.rs
  • tests/v060_timeouts.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Reconcile the squashed v0.8.1 release history while preserving v0.9.0 changes and the published v0.8.1 release date. The resolved tree is unchanged from the branch before the merge.
Regenerate the frozen fixture cache with the current V8 serializer, update encrypted-cache assertions, and align Action paths and cache keys with V8.

Validation: 918 library tests, API tests, doctests, cache fixture inspection, and Action contract checks passed.
Use constraint conkey columns when pg_depend omits CHECK or EXCLUDE dependencies, infer partition trigger parents on older PostgreSQL versions, and wait for CI database services before live tests. Refresh the frozen cache with the canonical materialized-view baseline.

Validation: cached fixture suite passed all 521 cases; catalog differential test, catalog sync test, Clippy, and formatting passed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant