squawk-cli 1.5.5__tar.gz → 1.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/Cargo.lock +1 -1
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/PKG-INFO +5 -4
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/Cargo.toml +1 -1
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/README.md +4 -3
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/lib.rs +20 -0
- squawk_cli-1.6.0/linter/src/rules/ban_alter_domain_with_add_constraint.rs +71 -0
- squawk_cli-1.6.0/linter/src/rules/ban_create_domain_with_constraint.rs +64 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/mod.rs +4 -0
- squawk_cli-1.6.0/linter/src/rules/snapshots/squawk_linter__rules__ban_alter_domain_with_add_constraint__test_rules__ban_alter_domain_with_add_constraint_works.snap +21 -0
- squawk_cli-1.6.0/linter/src/rules/snapshots/squawk_linter__rules__ban_create_domain_with_constraint__test_rules__ban_create_domain_with_constraint_works.snap +21 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/snapshots/squawk_linter__test_rules__rule_names_debug_snap.snap +3 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/snapshots/squawk_linter__test_rules__rule_names_display_snap.snap +3 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/violations.rs +4 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/ast.rs +22 -2
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_domain_stmt.snap +29 -30
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_alter_domain_stmt.snap +8 -9
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/Cargo.toml +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/config.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/file_finding.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/main.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/reporter.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__config__test_config__load_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__config__test_config__load_cfg_full.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__config__test_config__load_excluded_paths.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__config__test_config__load_excluded_rules.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__config__test_config__load_fail_on_violations.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__config__test_config__load_pg_version.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_check_files__check_files_invalid_syntax.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_github_comment__generating_comment_multiple_files.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_github_comment__generating_comment_no_violations.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_github_comment__generating_no_violations_no_files.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_reporter__display_no_violations_tty.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_reporter__display_violations_tty.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/snapshots/squawk__reporter__test_reporter__span_offsets.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/cli/src/subcommand.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/github/Cargo.toml +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/github/README.md +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/github/src/actions.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/github/src/app.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/github/src/lib.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/Cargo.toml +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/README.md +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/errors.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/README.md +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/adding_field_with_default.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/adding_foreign_key_constraint.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/adding_not_null_field.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/adding_primary_key_constraint.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/adding_required_field.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/ban_char_field.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/ban_concurrent_index_creation_in_transaction.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/ban_drop_column.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/ban_drop_database.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/ban_drop_not_null.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/ban_drop_table.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/changing_column_type.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/constraint_missing_not_valid.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/disallow_unique_constraint.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/non_volatile_built_in_functions.txt +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_big_int.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_bigint_over_int.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_bigint_over_smallint.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_identity.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_robust_stmts.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_text_field.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/prefer_timestamptz.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/renaming_column.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/renaming_table.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/require_concurrent_index_creation.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/require_concurrent_index_deletion.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__add_numbers_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_arbitrary_func_err.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_bool_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_enum_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_integer_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_jsonb_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_now_func_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_random_with_args_err.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_str_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_uuid_err.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__default_volatile_func_err.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__docs_example_bad.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__docs_example_ok.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_field_with_default__test_rules__generated_stored.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_not_null_field__test_rules__adding_field_that_is_not_nullable.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_not_null_field__test_rules__adding_field_that_is_not_nullable_in_version_11.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_not_null_field__test_rules__adding_field_that_is_not_nullable_without_default.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_not_null_field__test_rules__set_not_null.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_primary_key_constraint__test_rules__plain_primary_key-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_primary_key_constraint__test_rules__plain_primary_key.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_primary_key_constraint__test_rules__serial_primary_key.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_required_field__test_rules__generated_stored.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_required_field__test_rules__generated_stored_not_null.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_required_field__test_rules__not_null_with_default.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_required_field__test_rules__not_null_without_default.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__adding_required_field__test_rules__nullable.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_char_field__test_rules__creating_table_with_char_errors.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_char_field__test_rules__creating_table_with_var_char_and_text_okay.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_concurrent_index_creation_in_transaction__test_rules__adding_index_concurrently_in_transaction-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_concurrent_index_creation_in_transaction__test_rules__adding_index_concurrently_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_concurrent_index_creation_in_transaction__test_rules__adding_index_concurrently_in_transaction_with_assume_in_transaction-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_concurrent_index_creation_in_transaction__test_rules__adding_index_concurrently_in_transaction_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_concurrent_index_creation_in_transaction__test_rules__adding_index_concurrently_in_transaction_with_assume_in_transaction_but_outside.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_drop_column__test_rules__drop_column.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_drop_database__test_rules__ban_drop_database.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_drop_not_null__test_rules__ban_drop_not_null.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__ban_drop_table__test_rules__ban_drop_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__changing_column_type__test_rules__changing_field_type-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__changing_column_type__test_rules__changing_field_type.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__adding_check_constraint-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__adding_check_constraint.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__adding_foreign_key-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__adding_foreign_key.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__ensure_ignored_when_new_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__ensure_ignored_when_new_table_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__not_valid_validate_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__not_valid_validate_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__not_valid_validate_with_assume_in_transaction_with_explicit_commit.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__constraint_missing_not_valid__test_rules__regression_with_indexing_2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__disallow_unique_constraint__test_rules__adding_unique_constraint-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__disallow_unique_constraint__test_rules__adding_unique_constraint-3.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__disallow_unique_constraint__test_rules__adding_unique_constraint.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__disallow_unique_constraint__test_rules__unique_constraint_inline_add_column.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__disallow_unique_constraint__test_rules__unique_constraint_inline_add_column_unique.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_big_int__test_rules__create_table_bad.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_big_int__test_rules__create_table_many_errors.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_bigint_over_int__test_rules__create_table_bad.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_bigint_over_smallint__test_rules__create_table_bad.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_identity__test_rules__prefer_identity_bad.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test_rules__create_index_concurrently_unnamed.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test_rules__disable_row_level_security.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test_rules__enable_row_level_security.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_robust_stmts__test_rules__enable_row_level_security_without_exists_check.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_text_field__test_rules__adding_column_non_text.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__prefer_timestamptz__test_rules__alter_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__renaming_column__test_rules__renaming_column.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__renaming_table__test_rules__renaming_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test_rules__adding_index_non_concurrently-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test_rules__adding_index_non_concurrently.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test_rules__ensure_ignored_when_new_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__require_concurrent_index_creation__test_rules__ensure_ignored_when_new_table_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test_rules__begin_repeated.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test_rules__begin_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test_rules__commit_repeated.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test_rules__commit_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/snapshots/squawk_linter__rules__transaction_nesting__test_rules__rollback_with_assume_in_transaction.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/test_utils.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/transaction_nesting.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/rules/utils.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/snapshots/squawk_linter__versions__test_pg_version__parse.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/linter/src/versions.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/Cargo.toml +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/README.md +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/error.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/lib.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/parse.rs +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__adding_index_non_concurrently.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_column_default_with_function.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_database_collation.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_database_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_default_privileges_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_enum_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_event_trigger_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_extension_contents_stmt-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_extension_contents_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_foreign_data_wrapper.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_foreign_server_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_function_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_object_depends_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_op_class_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_op_family_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_operator_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_policy_stmt-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_policy_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_publication.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_role_set_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_role_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_sequence_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_subscription_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_system_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_table_extension.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_table_space_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_ts_configuration_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_ts_dictionary_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__alter_user_mapping_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__checkpoint.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__close_portal_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__cluster_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__comment_on_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__composite_type_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_access_method_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_cast_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_conversion_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_database_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_enum_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_event_trigger_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_extension.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_foreign_data_wrapper.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_foreign_server_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_foriegn_table_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_function_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_index_without_index_name.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_op_class_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_plang_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_policy_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_procedure_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_publication_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_range_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_role_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_sequence_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_stats_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_subscription_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_table_as_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_transform_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_trigger_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_user_mapping_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__create_view_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__deallocate_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__declare_cursor_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__define_stmt-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__define_stmt-3.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__define_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__discard_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__do_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_database_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_extension.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_index.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_owned_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_role_set_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_subscription_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__drop_user_mapping_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__error_paths.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__execute_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__explain_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__fetch_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__import_foreign_schema_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__json_index_operator.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__listen_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__load_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__lock_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__migration.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__notify_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_alter_collation_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_alter_constraint_regression.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_alter_table_set_list.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_attach_table_partition.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_create_schema_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_create_table_partition.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_create_table_regression.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_delete_stmt-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_delete_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_delete_stmt_2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_detach_table_partition.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_func_call.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_generated_column.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_inh.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_replica_identity_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_set_operations_stmt-2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_set_operations_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_set_operations_stmt_2.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_sql_create_index.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_sql_create_index_concurrently.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_sql_create_unique_index_safe.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_sql_query_json.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parse_sql_query_json_works.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_copy_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_create_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_create_table_space_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_create_table_using_like.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_drop_table_space_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_grant_role.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_grant_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_insert_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_update_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_variable_set_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__parsing_variable_show_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__prepare_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__reassign_owned_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__refresh_material_view_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__regression_update_table.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__reindex_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__rule_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__security_label_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__select_one.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__select_string_literal.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__set_constraints.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__span_with_indent.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__span_with_new_line_and_indent.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__truncate_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__unlisten_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/parser/src/snapshots/squawk_parser__parse__tests__vacuum_stmt.snap +0 -0
- {squawk_cli-1.5.5 → squawk_cli-1.6.0}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: squawk-cli
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.6.0
|
4
4
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
5
5
|
Classifier: Operating System :: MacOS
|
6
6
|
Classifier: Operating System :: Microsoft :: Windows
|
@@ -193,13 +193,13 @@ See the ["GitHub Integration" docs](https://squawkhq.com/docs/github_app) for mo
|
|
193
193
|
Integrate Squawk into Git workflow with [pre-commit](https://pre-commit.com/). Add the following
|
194
194
|
to your project's `.pre-commit-config.yaml`:
|
195
195
|
|
196
|
-
```
|
196
|
+
```yaml
|
197
197
|
repos:
|
198
198
|
- repo: https://github.com/sbdchd/squawk
|
199
199
|
rev: v0.10.0
|
200
200
|
hooks:
|
201
|
-
|
202
|
-
|
201
|
+
- id: squawk
|
202
|
+
files: path/to/postgres/migrations/written/in/sql
|
203
203
|
```
|
204
204
|
|
205
205
|
Note the `files` parameter as it specifies the location of the files to be linted.
|
@@ -217,6 +217,7 @@ Note the `files` parameter as it specifies the location of the files to be linte
|
|
217
217
|
- <https://github.com/AdmTal/PostgreSQL-Query-Lock-Explainer>
|
218
218
|
- <https://github.com/stripe/pg-schema-diff>
|
219
219
|
- <https://github.com/kristiandupont/schemalint>
|
220
|
+
- <https://github.com/supabase-community/postgres-language-server>
|
220
221
|
|
221
222
|
## related blog posts / SE Posts / PG Docs
|
222
223
|
|
@@ -173,13 +173,13 @@ See the ["GitHub Integration" docs](https://squawkhq.com/docs/github_app) for mo
|
|
173
173
|
Integrate Squawk into Git workflow with [pre-commit](https://pre-commit.com/). Add the following
|
174
174
|
to your project's `.pre-commit-config.yaml`:
|
175
175
|
|
176
|
-
```
|
176
|
+
```yaml
|
177
177
|
repos:
|
178
178
|
- repo: https://github.com/sbdchd/squawk
|
179
179
|
rev: v0.10.0
|
180
180
|
hooks:
|
181
|
-
|
182
|
-
|
181
|
+
- id: squawk
|
182
|
+
files: path/to/postgres/migrations/written/in/sql
|
183
183
|
```
|
184
184
|
|
185
185
|
Note the `files` parameter as it specifies the location of the files to be linted.
|
@@ -197,6 +197,7 @@ Note the `files` parameter as it specifies the location of the files to be linte
|
|
197
197
|
- <https://github.com/AdmTal/PostgreSQL-Query-Lock-Explainer>
|
198
198
|
- <https://github.com/stripe/pg-schema-diff>
|
199
199
|
- <https://github.com/kristiandupont/schemalint>
|
200
|
+
- <https://github.com/supabase-community/postgres-language-server>
|
200
201
|
|
201
202
|
## related blog posts / SE Posts / PG Docs
|
202
203
|
|
@@ -9,7 +9,9 @@ extern crate lazy_static;
|
|
9
9
|
|
10
10
|
use crate::errors::CheckSqlError;
|
11
11
|
use crate::rules::adding_required_field;
|
12
|
+
use crate::rules::ban_alter_domain_with_add_constraint;
|
12
13
|
use crate::rules::ban_concurrent_index_creation_in_transaction;
|
14
|
+
use crate::rules::ban_create_domain_with_constraint;
|
13
15
|
use crate::rules::ban_drop_not_null;
|
14
16
|
use crate::rules::prefer_big_int;
|
15
17
|
use crate::rules::prefer_identity;
|
@@ -98,6 +100,15 @@ lazy_static! {
|
|
98
100
|
|
99
101
|
],
|
100
102
|
},
|
103
|
+
SquawkRule {
|
104
|
+
name: RuleViolationKind::BanAlterDomainWithAddConstraint,
|
105
|
+
func: ban_alter_domain_with_add_constraint,
|
106
|
+
messages: vec![
|
107
|
+
ViolationMessage::Note(
|
108
|
+
"Domains with constraints have poor support for online migrations".into()
|
109
|
+
),
|
110
|
+
],
|
111
|
+
},
|
101
112
|
SquawkRule {
|
102
113
|
name: RuleViolationKind::BanCharField,
|
103
114
|
func: ban_char_type,
|
@@ -119,6 +130,15 @@ lazy_static! {
|
|
119
130
|
),
|
120
131
|
],
|
121
132
|
},
|
133
|
+
SquawkRule {
|
134
|
+
name: RuleViolationKind::BanCreateDomainWithConstraint,
|
135
|
+
func: ban_create_domain_with_constraint,
|
136
|
+
messages: vec![
|
137
|
+
ViolationMessage::Note(
|
138
|
+
"Domains with constraints have poor support for online migrations".into()
|
139
|
+
),
|
140
|
+
],
|
141
|
+
},
|
122
142
|
SquawkRule {
|
123
143
|
name: RuleViolationKind::BanDropColumn,
|
124
144
|
func: ban_drop_column,
|
@@ -0,0 +1,71 @@
|
|
1
|
+
use crate::{
|
2
|
+
versions::Version,
|
3
|
+
violations::{RuleViolation, RuleViolationKind},
|
4
|
+
};
|
5
|
+
|
6
|
+
use squawk_parser::ast::{RawStmt, Stmt};
|
7
|
+
|
8
|
+
#[must_use]
|
9
|
+
pub fn ban_alter_domain_with_add_constraint(
|
10
|
+
tree: &[RawStmt],
|
11
|
+
_pg_version: Option<Version>,
|
12
|
+
_assume_in_transaction: bool,
|
13
|
+
) -> Vec<RuleViolation> {
|
14
|
+
let mut errs = vec![];
|
15
|
+
for raw_stmt in tree {
|
16
|
+
match &raw_stmt.stmt {
|
17
|
+
Stmt::AlterDomainStmt(stmt) if stmt.subtype == "C" => {
|
18
|
+
errs.push(RuleViolation::new(
|
19
|
+
RuleViolationKind::BanAlterDomainWithAddConstraint,
|
20
|
+
raw_stmt.into(),
|
21
|
+
None,
|
22
|
+
));
|
23
|
+
}
|
24
|
+
_ => continue,
|
25
|
+
}
|
26
|
+
}
|
27
|
+
errs
|
28
|
+
}
|
29
|
+
|
30
|
+
#[cfg(test)]
|
31
|
+
mod test_rules {
|
32
|
+
use crate::{
|
33
|
+
check_sql_with_rule,
|
34
|
+
violations::{RuleViolation, RuleViolationKind},
|
35
|
+
};
|
36
|
+
|
37
|
+
use insta::assert_debug_snapshot;
|
38
|
+
|
39
|
+
fn lint_sql(sql: &str) -> Vec<RuleViolation> {
|
40
|
+
check_sql_with_rule(
|
41
|
+
sql,
|
42
|
+
&RuleViolationKind::BanAlterDomainWithAddConstraint,
|
43
|
+
None,
|
44
|
+
false,
|
45
|
+
)
|
46
|
+
.unwrap()
|
47
|
+
}
|
48
|
+
|
49
|
+
#[test]
|
50
|
+
fn ban_alter_domain_without_add_constraint_is_ok() {
|
51
|
+
let sql = r"
|
52
|
+
ALTER DOMAIN domain_name_1 SET DEFAULT 1;
|
53
|
+
ALTER DOMAIN domain_name_2 SET NOT NULL;
|
54
|
+
ALTER DOMAIN domain_name_3 DROP CONSTRAINT other_domain_name;
|
55
|
+
ALTER DOMAIN domain_name_4 RENAME CONSTRAINT constraint_name TO other_constraint_name;
|
56
|
+
ALTER DOMAIN domain_name_5 RENAME TO other_domain_name;
|
57
|
+
ALTER DOMAIN domain_name_6 VALIDATE CONSTRAINT constraint_name;
|
58
|
+
ALTER DOMAIN domain_name_7 OWNER TO you;
|
59
|
+
ALTER DOMAIN domain_name_8 SET SCHEMA foo;
|
60
|
+
";
|
61
|
+
assert_eq!(lint_sql(sql), vec![]);
|
62
|
+
}
|
63
|
+
|
64
|
+
#[test]
|
65
|
+
fn ban_alter_domain_with_add_constraint_works() {
|
66
|
+
let sql = r"
|
67
|
+
ALTER DOMAIN domain_name ADD CONSTRAINT constraint_name CHECK (value > 0);
|
68
|
+
";
|
69
|
+
assert_debug_snapshot!(lint_sql(sql));
|
70
|
+
}
|
71
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
use crate::{
|
2
|
+
versions::Version,
|
3
|
+
violations::{RuleViolation, RuleViolationKind},
|
4
|
+
};
|
5
|
+
|
6
|
+
use squawk_parser::ast::{RawStmt, Stmt};
|
7
|
+
|
8
|
+
#[must_use]
|
9
|
+
pub fn ban_create_domain_with_constraint(
|
10
|
+
tree: &[RawStmt],
|
11
|
+
_pg_version: Option<Version>,
|
12
|
+
_assume_in_transaction: bool,
|
13
|
+
) -> Vec<RuleViolation> {
|
14
|
+
let mut errs = vec![];
|
15
|
+
for raw_stmt in tree {
|
16
|
+
match &raw_stmt.stmt {
|
17
|
+
Stmt::CreateDomainStmt(stmt) if !stmt.constraints.is_empty() => {
|
18
|
+
errs.push(RuleViolation::new(
|
19
|
+
RuleViolationKind::BanCreateDomainWithConstraint,
|
20
|
+
raw_stmt.into(),
|
21
|
+
None,
|
22
|
+
));
|
23
|
+
}
|
24
|
+
_ => continue,
|
25
|
+
}
|
26
|
+
}
|
27
|
+
errs
|
28
|
+
}
|
29
|
+
|
30
|
+
#[cfg(test)]
|
31
|
+
mod test_rules {
|
32
|
+
use crate::{
|
33
|
+
check_sql_with_rule,
|
34
|
+
violations::{RuleViolation, RuleViolationKind},
|
35
|
+
};
|
36
|
+
use insta::assert_debug_snapshot;
|
37
|
+
|
38
|
+
fn lint_sql(sql: &str) -> Vec<RuleViolation> {
|
39
|
+
check_sql_with_rule(
|
40
|
+
sql,
|
41
|
+
&RuleViolationKind::BanCreateDomainWithConstraint,
|
42
|
+
None,
|
43
|
+
false,
|
44
|
+
)
|
45
|
+
.unwrap()
|
46
|
+
}
|
47
|
+
|
48
|
+
#[test]
|
49
|
+
fn ban_create_domain_without_constraint_is_ok() {
|
50
|
+
let sql = r"
|
51
|
+
CREATE DOMAIN domain_name_1 AS TEXT;
|
52
|
+
CREATE DOMAIN domain_name_2 AS CHARACTER VARYING;
|
53
|
+
";
|
54
|
+
assert_eq!(lint_sql(sql), vec![]);
|
55
|
+
}
|
56
|
+
|
57
|
+
#[test]
|
58
|
+
fn ban_create_domain_with_constraint_works() {
|
59
|
+
let sql = r"
|
60
|
+
CREATE DOMAIN domain_name_3 AS NUMERIC(15,5) CHECK (value > 0);
|
61
|
+
";
|
62
|
+
assert_debug_snapshot!(lint_sql(sql));
|
63
|
+
}
|
64
|
+
}
|
@@ -52,3 +52,7 @@ pub mod adding_required_field;
|
|
52
52
|
pub use adding_required_field::*;
|
53
53
|
pub mod ban_concurrent_index_creation_in_transaction;
|
54
54
|
pub use ban_concurrent_index_creation_in_transaction::*;
|
55
|
+
pub mod ban_create_domain_with_constraint;
|
56
|
+
pub use ban_create_domain_with_constraint::*;
|
57
|
+
pub mod ban_alter_domain_with_add_constraint;
|
58
|
+
pub use ban_alter_domain_with_add_constraint::*;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
source: linter/src/rules/ban_alter_domain_with_add_constraint.rs
|
3
|
+
expression: lint_sql(sql)
|
4
|
+
|
5
|
+
---
|
6
|
+
[
|
7
|
+
RuleViolation {
|
8
|
+
kind: BanAlterDomainWithAddConstraint,
|
9
|
+
span: Span {
|
10
|
+
start: 0,
|
11
|
+
len: Some(
|
12
|
+
79,
|
13
|
+
),
|
14
|
+
},
|
15
|
+
messages: [
|
16
|
+
Note(
|
17
|
+
"Domains with constraints have poor support for online migrations",
|
18
|
+
),
|
19
|
+
],
|
20
|
+
},
|
21
|
+
]
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
source: linter/src/rules/ban_create_domain_with_constraint.rs
|
3
|
+
expression: lint_sql(sql)
|
4
|
+
|
5
|
+
---
|
6
|
+
[
|
7
|
+
RuleViolation {
|
8
|
+
kind: BanCreateDomainWithConstraint,
|
9
|
+
span: Span {
|
10
|
+
start: 0,
|
11
|
+
len: Some(
|
12
|
+
67,
|
13
|
+
),
|
14
|
+
},
|
15
|
+
messages: [
|
16
|
+
Note(
|
17
|
+
"Domains with constraints have poor support for online migrations",
|
18
|
+
),
|
19
|
+
],
|
20
|
+
},
|
21
|
+
]
|
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
source: linter/src/lib.rs
|
3
3
|
expression: rule_names
|
4
|
+
|
4
5
|
---
|
5
6
|
[
|
6
7
|
"adding-field-with-default",
|
@@ -8,8 +9,10 @@ expression: rule_names
|
|
8
9
|
"adding-not-nullable-field",
|
9
10
|
"adding-required-field",
|
10
11
|
"adding-serial-primary-key-field",
|
12
|
+
"ban-alter-domain-with-add-constraint",
|
11
13
|
"ban-char-field",
|
12
14
|
"ban-concurrent-index-creation-in-transaction",
|
15
|
+
"ban-create-domain-with-constraint",
|
13
16
|
"ban-drop-column",
|
14
17
|
"ban-drop-database",
|
15
18
|
"ban-drop-not-null",
|
@@ -1,14 +1,17 @@
|
|
1
1
|
---
|
2
2
|
source: linter/src/lib.rs
|
3
3
|
expression: "rule_names.join(\"\\n\")"
|
4
|
+
|
4
5
|
---
|
5
6
|
adding-field-with-default
|
6
7
|
adding-foreign-key-constraint
|
7
8
|
adding-not-nullable-field
|
8
9
|
adding-required-field
|
9
10
|
adding-serial-primary-key-field
|
11
|
+
ban-alter-domain-with-add-constraint
|
10
12
|
ban-char-field
|
11
13
|
ban-concurrent-index-creation-in-transaction
|
14
|
+
ban-create-domain-with-constraint
|
12
15
|
ban-drop-column
|
13
16
|
ban-drop-database
|
14
17
|
ban-drop-not-null
|
@@ -61,6 +61,10 @@ pub enum RuleViolationKind {
|
|
61
61
|
AddingRequiredField,
|
62
62
|
#[serde(rename = "ban-concurrent-index-creation-in-transaction")]
|
63
63
|
BanConcurrentIndexCreationInTransaction,
|
64
|
+
#[serde(rename = "ban-create-domain-with-constraint")]
|
65
|
+
BanCreateDomainWithConstraint,
|
66
|
+
#[serde(rename = "ban-alter-domain-with-add-constraint")]
|
67
|
+
BanAlterDomainWithAddConstraint,
|
64
68
|
// generator::new-rule-above
|
65
69
|
}
|
66
70
|
|
@@ -429,6 +429,26 @@ pub struct AlterTableStmt {
|
|
429
429
|
pub missing_ok: bool,
|
430
430
|
}
|
431
431
|
|
432
|
+
#[derive(Debug, Deserialize, Serialize)]
|
433
|
+
pub struct CreateDomainStmt {
|
434
|
+
#[serde(rename = "domainname")]
|
435
|
+
pub domain_name: Vec<QualifiedName>,
|
436
|
+
#[serde(rename = "typeName")]
|
437
|
+
pub typename: Value,
|
438
|
+
#[serde(default)]
|
439
|
+
pub constraints: Vec<Value>,
|
440
|
+
}
|
441
|
+
|
442
|
+
#[derive(Debug, Deserialize, Serialize)]
|
443
|
+
pub struct AlterDomainStmt {
|
444
|
+
pub behavior: DropBehavior,
|
445
|
+
pub name: Option<String>,
|
446
|
+
pub subtype: String,
|
447
|
+
#[serde(rename = "typeName")]
|
448
|
+
pub typename: Value,
|
449
|
+
pub def: Option<Value>,
|
450
|
+
}
|
451
|
+
|
432
452
|
/// Source: <https://github.com/pganalyze/libpg_query/blob/b2790f8140721ff7f047167ecd7d44267b0a3880/src/pg_query_enum_defs.c#L249-L257>
|
433
453
|
#[derive(Serialize, Deserialize, PartialEq, Debug)]
|
434
454
|
pub enum DropBehavior {
|
@@ -888,7 +908,7 @@ pub enum Stmt {
|
|
888
908
|
UpdateStmt(Value),
|
889
909
|
DeleteStmt(Value),
|
890
910
|
CreateSchemaStmt(Value),
|
891
|
-
AlterDomainStmt(
|
911
|
+
AlterDomainStmt(AlterDomainStmt),
|
892
912
|
GrantStmt(Value),
|
893
913
|
GrantRoleStmt(Value),
|
894
914
|
AlterDefaultPrivilegesStmt(Value),
|
@@ -928,7 +948,7 @@ pub enum Stmt {
|
|
928
948
|
CreateSeqStmt(Value),
|
929
949
|
AlterSeqStmt(Value),
|
930
950
|
DefineStmt(Value),
|
931
|
-
CreateDomainStmt(
|
951
|
+
CreateDomainStmt(CreateDomainStmt),
|
932
952
|
CreateOpClassStmt(Value),
|
933
953
|
CreateOpFamilyStmt(Value),
|
934
954
|
AlterOpFamilyStmt(Value),
|
@@ -1,13 +1,38 @@
|
|
1
1
|
---
|
2
2
|
source: parser/src/parse.rs
|
3
3
|
expression: res
|
4
|
+
|
4
5
|
---
|
5
6
|
Ok(
|
6
7
|
[
|
7
8
|
RawStmt {
|
8
9
|
stmt: CreateDomainStmt(
|
9
|
-
|
10
|
-
|
10
|
+
CreateDomainStmt {
|
11
|
+
domain_name: [
|
12
|
+
QualifiedName {
|
13
|
+
string: PGString {
|
14
|
+
sval: "us_postal_code",
|
15
|
+
},
|
16
|
+
},
|
17
|
+
],
|
18
|
+
typename: Object({
|
19
|
+
"location": Number(
|
20
|
+
33,
|
21
|
+
),
|
22
|
+
"names": Array([
|
23
|
+
Object({
|
24
|
+
"String": Object({
|
25
|
+
"sval": String(
|
26
|
+
"text",
|
27
|
+
),
|
28
|
+
}),
|
29
|
+
}),
|
30
|
+
]),
|
31
|
+
"typemod": Number(
|
32
|
+
-1,
|
33
|
+
),
|
34
|
+
}),
|
35
|
+
constraints: [
|
11
36
|
Object({
|
12
37
|
"Constraint": Object({
|
13
38
|
"contype": String(
|
@@ -127,34 +152,8 @@ Ok(
|
|
127
152
|
}),
|
128
153
|
}),
|
129
154
|
}),
|
130
|
-
]
|
131
|
-
|
132
|
-
Object({
|
133
|
-
"String": Object({
|
134
|
-
"sval": String(
|
135
|
-
"us_postal_code",
|
136
|
-
),
|
137
|
-
}),
|
138
|
-
}),
|
139
|
-
]),
|
140
|
-
"typeName": Object({
|
141
|
-
"location": Number(
|
142
|
-
33,
|
143
|
-
),
|
144
|
-
"names": Array([
|
145
|
-
Object({
|
146
|
-
"String": Object({
|
147
|
-
"sval": String(
|
148
|
-
"text",
|
149
|
-
),
|
150
|
-
}),
|
151
|
-
}),
|
152
|
-
]),
|
153
|
-
"typemod": Number(
|
154
|
-
-1,
|
155
|
-
),
|
156
|
-
}),
|
157
|
-
}),
|
155
|
+
],
|
156
|
+
},
|
158
157
|
),
|
159
158
|
stmt_location: 0,
|
160
159
|
stmt_len: Some(
|
@@ -1,19 +1,17 @@
|
|
1
1
|
---
|
2
2
|
source: parser/src/parse.rs
|
3
3
|
expression: res
|
4
|
+
|
4
5
|
---
|
5
6
|
Ok(
|
6
7
|
[
|
7
8
|
RawStmt {
|
8
9
|
stmt: AlterDomainStmt(
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
"O",
|
15
|
-
),
|
16
|
-
"typeName": Array([
|
10
|
+
AlterDomainStmt {
|
11
|
+
behavior: Restrict,
|
12
|
+
name: None,
|
13
|
+
subtype: "O",
|
14
|
+
typename: Array([
|
17
15
|
Object({
|
18
16
|
"String": Object({
|
19
17
|
"sval": String(
|
@@ -22,7 +20,8 @@ Ok(
|
|
22
20
|
}),
|
23
21
|
}),
|
24
22
|
]),
|
25
|
-
|
23
|
+
def: None,
|
24
|
+
},
|
26
25
|
),
|
27
26
|
stmt_location: 0,
|
28
27
|
stmt_len: Some(
|
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
|
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
|