Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17,519 changes: 13,162 additions & 4,357 deletions crates/squawk_fmt/src/fmt.rs

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions crates/squawk_fmt/tests/after/alter_aggregate.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_aggregate.sql
---
alter aggregate public.total_sales(numeric) rename to total_revenue;

alter aggregate public.total_sales(numeric) owner to reporting_role;

alter aggregate public.total_sales(numeric) set schema reporting;

alter aggregate extraordinarily_long_schema_name.extraordinarily_long_aggregate_name(
double precision,
numeric,
bigint
)
rename to another_extraordinarily_long_aggregate_name;

alter /* aggregate keyword */ aggregate /* aggregate signature */ public.commented_total(
/* first parameter */ numeric,
/* second parameter */ bigint
)
/* action */ rename /* to keyword */ to /* new name */ commented_revenue/* semicolon */;
20 changes: 20 additions & 0 deletions crates/squawk_fmt/tests/after/alter_collation.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_collation.sql
---
alter collation public.en_us rename to en_us_utf8;

alter collation public.en_us owner to localization_admin;

alter collation public.en_us refresh version;

alter collation public.en_us set schema localization;

alter collation extraordinarily_long_schema_name.extraordinarily_long_collation_name
rename to another_extraordinarily_long_collation_name;

alter /* collation keyword */ collation /* collation name */ public.commented_en_us
/* action */ refresh /* version keyword */ version/* semicolon */;

alter collation /* name */ public.comment_positions
/* action */ set /* schema keyword */ schema /* schema name */ commented_localization;
18 changes: 18 additions & 0 deletions crates/squawk_fmt/tests/after/alter_conversion.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_conversion.sql
---
alter conversion public.latin1_to_utf8 rename to latin_to_utf8;

alter conversion public.latin1_to_utf8 owner to encoding_admin;

alter conversion public.latin1_to_utf8 set schema encodings;

alter conversion extraordinarily_long_schema_name.extraordinarily_long_conversion_name
rename to another_extraordinarily_long_conversion_name;

alter /* conversion keyword */ conversion /* conversion name */ public.commented_conversion
/* action */ rename /* to keyword */ to /* new name */ renamed_conversion/* semicolon */;

alter conversion /* conversion name */ public.schema_comments
/* action */ set /* schema keyword */ schema /* schema name */ archived_encodings;
47 changes: 47 additions & 0 deletions crates/squawk_fmt/tests/after/alter_database.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_database.sql
---
alter database app rename to application;

alter database app owner to app_admin;

alter database app refresh collation version;

alter database app reset all;

alter database app reset statement_timeout;

alter database app set statement_timeout to '10s';

alter database app set tablespace fast_storage;

alter database app
with
connection limit = 100
encoding = 'UTF8'
lc_collate = default
owner = app_admin
tablespace = fast_storage
template = template0;

alter database extraordinarily_long_database_name
with
connection limit = 1000
encoding = 'UTF8'
owner = extraordinarily_long_database_owner
tablespace = extraordinarily_long_tablespace_name;

alter /* database keyword */ database /* database name */ commented_app
/* action */ with
/* option */ connection /* limit keyword */ limit /* equals */ = /* value */ 25
/* next option */ encoding /* equals */ = /* value */ 'UTF8'
/* owner option */ owner /* equals */ = /* owner value */ app_admin
/* tablespace option */ tablespace /* equals */ = /* tablespace value */ fast_storage
/* template option */ template /* equals */ = /* template value */ template0/* semicolon */;

alter database /* name */ commented_config
/* action */ set /* parameter */ statement_timeout /* assignment */ to /* value */ '30s';

alter database /* name */ commented_refresh
/* action */ refresh /* collation keyword */ collation /* version keyword */ version/* semicolon */;
45 changes: 45 additions & 0 deletions crates/squawk_fmt/tests/after/alter_default_privileges.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_default_privileges.sql
---
alter default privileges grant select on tables to reporting;

alter default privileges
for role
app_owner,
migrations
in schema
public,
audit
grant all privileges on sequences to app_user, reporting with grant option;

alter default privileges
for user
app_owner
revoke grant option for insert, update on tables from app_user cascade;

alter default privileges grant execute on functions to public;

alter default privileges grant execute on routines to public;

alter default privileges grant usage on schemas to public;

alter default privileges grant usage on types to public;

alter default privileges grant select on large objects to public;

alter /* default keyword */ default /* privileges keyword */ privileges
/* for clause */ for /* role keyword */ role
/* first role */ exceedingly_long_application_owner,
/* second role */ exceedingly_long_migration_owner
/* schemas clause */ in /* schema keyword */ schema
/* first schema */ exceedingly_long_application_schema,
/* second schema */ exceedingly_long_audit_schema
/* action */ grant
/* privilege */ select,
/* another privilege */ update
/* on keyword */ on
/* target */ tables
/* to keyword */ to
/* grantee */ exceedingly_long_reporting_role
/* with clause */ with /* grant keyword */ grant /* option keyword */ option/* semicolon */;
35 changes: 35 additions & 0 deletions crates/squawk_fmt/tests/after/alter_domain.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_domain.sql
---
alter domain public.email_address set default 'unknown@example.com';

alter domain public.email_address drop default;

alter domain public.email_address set not null;

alter domain public.email_address drop not null;

alter domain public.email_address
add constraint email_format check (value ~ '@');

alter domain public.email_address
drop constraint if exists old_email_format cascade;

alter domain public.email_address
rename constraint email_format to valid_email_format;

alter domain public.email_address validate constraint valid_email_format;

alter domain public.email_address owner to app_owner;

alter domain public.email_address rename to contact_email_address;

alter domain public.email_address set schema application_types;

alter /* domain */ domain /* name */ exceedingly_long_schema_name.exceedingly_long_domain_name
/* action */ add
/* constraint keyword */ constraint /* constraint name */ exceedingly_long_constraint_name /* check */ check /* expression */ (
value is not null and length(value) > 10
)
/* not valid */ not /* valid */ valid/* semicolon */;
18 changes: 18 additions & 0 deletions crates/squawk_fmt/tests/after/alter_event_trigger.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_event_trigger.sql
---
alter event trigger ddl_audit enable;

alter event trigger ddl_audit disable;

alter event trigger ddl_audit enable always;

alter event trigger ddl_audit enable replica;

alter event trigger ddl_audit owner to audit_owner;

alter event trigger ddl_audit rename to renamed_ddl_audit;

alter /* event */ event /* trigger */ trigger /* name */ an_exceedingly_long_event_trigger_name_used_for_auditing
/* action */ enable /* always */ always/* semicolon */;
90 changes: 90 additions & 0 deletions crates/squawk_fmt/tests/after/alter_extension.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_extension.sql
---
alter extension hstore update;

alter extension hstore update to '1.8';

alter extension hstore set schema extensions;

alter extension hstore add access method custom_heap;

alter extension hstore add aggregate public.total(integer);

alter extension hstore add cast (integer as text);

alter extension hstore add collation public.english;

alter extension hstore add conversion public.latin_conversion;

alter extension hstore add database app_db;

alter extension hstore add domain public.email_address;

alter extension hstore add event trigger ddl_audit;

alter extension hstore add extension dependent_extension;

alter extension hstore add foreign data wrapper app_fdw;

alter extension hstore add foreign table public.remote_accounts;

alter extension hstore add function public.calculate(integer, text);

alter extension hstore add index public.accounts_email_idx;

alter extension hstore add procedural language plpgsql;

alter extension hstore add materialized view public.account_totals;

alter extension hstore add operator public.=== (integer, integer);

alter extension hstore add operator class public.custom_ops using btree;

alter extension hstore add operator family public.custom_family using btree;

alter extension hstore add procedure public.refresh_accounts(integer);

alter extension hstore add publication account_changes;

alter extension hstore add role app_owner;

alter extension hstore add routine public.normalize(text);

alter extension hstore add schema application;

alter extension hstore add sequence public.account_ids;

alter extension hstore add server remote_server;

alter extension hstore add statistics public.account_stats;

alter extension hstore add subscription account_subscription;

alter extension hstore drop table public.old_accounts;

alter extension hstore add tablespace fast_storage;

alter extension hstore add text search configuration public.english_config;

alter extension hstore add text search dictionary public.english_dict;

alter extension hstore add text search parser public.english_parser;

alter extension hstore add text search template public.english_template;

alter extension hstore add transform for jsonb language plpgsql;

alter extension hstore add type public.account_state;

alter extension hstore add view public.active_accounts;

alter /* extension */ extension /* name */ an_exceedingly_long_extension_name_for_application_features
/* action */ add
/* object kind */ operator
/* operator name */ application_schema.===
/* open paren */(
/* left type */ application_schema.exceedingly_long_left_operand_type,
/* right type */ application_schema.exceedingly_long_right_operand_type
/* close paren */)/* semicolon */;
19 changes: 19 additions & 0 deletions crates/squawk_fmt/tests/after/alter_foreign_data_wrapper.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_foreign_data_wrapper.sql
---
alter /* foreign */ foreign /* data */ data /* wrapper */ wrapper /* name */ fdw
/* options */ options /* left */ (
/* add */ add /* key */ host /* value */ 'localhost',
/* set */ set /* key */ port /* value */ '5432',
/* drop */ drop /* key */ obsolete /* right */
);

alter foreign data wrapper very_long_foreign_data_wrapper_name
handler public.very_long_handler_function_name;

alter foreign data wrapper fdw no validator;

alter foreign data wrapper fdw rename /* to */ to /* name */ renamed_fdw;

alter foreign data wrapper fdw owner /* to */ to /* role */ current_user;
21 changes: 21 additions & 0 deletions crates/squawk_fmt/tests/after/alter_foreign_table.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_foreign_table.sql
---
alter /* foreign */ foreign /* table */ table /* if */ if /* not */ exists /* table name */ public.very_long_foreign_table_name
add /* column */ column /* if */ if /* not */ not /* exists */ exists /* column name */ column_with_a_very_long_descriptive_name /* type */ varchar(255)
/* options */ options (
/* key */ remote_name /* value */ 'remote_column'
),
/* drop */ drop /* column */ column /* if */ if /* exists */ exists /* name */ obsolete_column /* behavior */ cascade;

alter foreign table public.items
alter column quantity set default 100,
alter column description type text using description::text;

alter foreign table public.items
add constraint positive_quantity check (quantity > 0),
rename column old_name to new_name;

alter foreign table if exists public.items
owner to role_with_a_very_long_descriptive_name;
31 changes: 31 additions & 0 deletions crates/squawk_fmt/tests/after/alter_function.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_function.sql
---
alter /* function */ function /* signature */ public.calculate_a_very_long_and_descriptive_result(
/* type */ integer,
/* type */ text
)
/* action */ security /* definer */ definer
/* restrict */ restrict;

alter function public.f(
integer
)
/* action */ set /* parameter */ work_mem /* to */ to /* value */ '64MB';

alter function public.f(
integer
)
depends /* on */ on /* extension */ extension /* name */ extension_name;

alter function public.f(
integer
)
no /* depends */ depends /* on */ on /* extension */ extension /* name */ extension_name;

alter function public.f(integer) rename /* to */ to /* name */ renamed_function;

alter function public.f(integer) owner /* to */ to /* role */ current_role;

alter function public.f(integer) set /* schema */ schema /* name */ archive;
15 changes: 15 additions & 0 deletions crates/squawk_fmt/tests/after/alter_group.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
source: crates/squawk_fmt/tests/tests.rs
input_file: crates/squawk_fmt/tests/before/alter_group.sql
---
alter /* group */ group /* group name */ administrators
/* action */ add /* user */ user
/* first */ alice,
/* second */ bob,
/* long */ user_with_an_exceptionally_long_name;

alter group administrators
drop /* user */ user /* first */ alice, /* second */ bob;

alter group administrators
rename /* to */ to /* name */ application_administrators_with_a_very_long_name;
Loading
Loading