@supabase/pg-delta 1.0.0-alpha.10 → 1.0.0-alpha.12
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.
- package/dist/cli/commands/declarative-export.js +12 -17
- package/dist/cli/commands/plan.js +10 -13
- package/dist/cli/commands/sync.js +8 -12
- package/dist/cli/utils/integrations.d.ts +30 -6
- package/dist/cli/utils/integrations.js +98 -6
- package/dist/core/change-utils.d.ts +9 -0
- package/dist/core/change-utils.js +71 -0
- package/dist/core/change.types.d.ts +22 -0
- package/dist/core/change.types.js +37 -1
- package/dist/core/depend.js +25 -0
- package/dist/core/expand-replace-dependencies.js +23 -0
- package/dist/core/export/file-mapper.d.ts +2 -2
- package/dist/core/integrations/filter/dsl.d.ts +78 -74
- package/dist/core/integrations/filter/dsl.js +127 -79
- package/dist/core/integrations/filter/flatten.d.ts +51 -0
- package/dist/core/integrations/filter/flatten.js +116 -0
- package/dist/core/integrations/integration-dsl.d.ts +17 -1
- package/dist/core/integrations/merge.d.ts +20 -0
- package/dist/core/integrations/merge.js +60 -0
- package/dist/core/integrations/serialize/dsl.d.ts +8 -12
- package/dist/core/integrations/serialize/dsl.js +2 -2
- package/dist/core/integrations/serialize/serialize.types.d.ts +31 -0
- package/dist/core/integrations/supabase.js +42 -8
- package/dist/core/objects/aggregate/changes/aggregate.alter.d.ts +2 -1
- package/dist/core/objects/aggregate/changes/aggregate.alter.js +1 -1
- package/dist/core/objects/aggregate/changes/aggregate.comment.d.ts +3 -2
- package/dist/core/objects/aggregate/changes/aggregate.comment.js +2 -2
- package/dist/core/objects/aggregate/changes/aggregate.create.d.ts +2 -1
- package/dist/core/objects/aggregate/changes/aggregate.create.js +1 -1
- package/dist/core/objects/aggregate/changes/aggregate.drop.d.ts +2 -1
- package/dist/core/objects/aggregate/changes/aggregate.drop.js +1 -1
- package/dist/core/objects/aggregate/changes/aggregate.privilege.d.ts +4 -3
- package/dist/core/objects/aggregate/changes/aggregate.privilege.js +3 -3
- package/dist/core/objects/aggregate/changes/aggregate.types.d.ts +1 -0
- package/dist/core/objects/base.change.d.ts +12 -1
- package/dist/core/objects/base.change.js +10 -0
- package/dist/core/objects/base.model.d.ts +4 -1
- package/dist/core/objects/base.model.js +5 -2
- package/dist/core/objects/collation/changes/collation.alter.d.ts +3 -2
- package/dist/core/objects/collation/changes/collation.alter.js +2 -2
- package/dist/core/objects/collation/changes/collation.comment.d.ts +3 -2
- package/dist/core/objects/collation/changes/collation.comment.js +2 -2
- package/dist/core/objects/collation/changes/collation.create.d.ts +2 -1
- package/dist/core/objects/collation/changes/collation.create.js +1 -1
- package/dist/core/objects/collation/changes/collation.drop.d.ts +2 -1
- package/dist/core/objects/collation/changes/collation.drop.js +1 -1
- package/dist/core/objects/collation/changes/collation.types.d.ts +1 -0
- package/dist/core/objects/domain/changes/domain.alter.d.ts +9 -8
- package/dist/core/objects/domain/changes/domain.alter.js +8 -8
- package/dist/core/objects/domain/changes/domain.comment.d.ts +3 -2
- package/dist/core/objects/domain/changes/domain.comment.js +2 -2
- package/dist/core/objects/domain/changes/domain.create.d.ts +3 -2
- package/dist/core/objects/domain/changes/domain.create.js +8 -2
- package/dist/core/objects/domain/changes/domain.drop.d.ts +2 -1
- package/dist/core/objects/domain/changes/domain.drop.js +1 -1
- package/dist/core/objects/domain/changes/domain.privilege.d.ts +4 -3
- package/dist/core/objects/domain/changes/domain.privilege.js +3 -3
- package/dist/core/objects/domain/changes/domain.types.d.ts +1 -0
- package/dist/core/objects/event-trigger/changes/event-trigger.alter.d.ts +3 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.alter.js +2 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.comment.d.ts +3 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.comment.js +2 -2
- package/dist/core/objects/event-trigger/changes/event-trigger.create.d.ts +2 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.create.js +1 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.drop.d.ts +2 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.drop.js +1 -1
- package/dist/core/objects/event-trigger/changes/event-trigger.types.d.ts +1 -0
- package/dist/core/objects/extension/changes/extension.alter.d.ts +3 -2
- package/dist/core/objects/extension/changes/extension.alter.js +2 -2
- package/dist/core/objects/extension/changes/extension.comment.d.ts +3 -2
- package/dist/core/objects/extension/changes/extension.comment.js +2 -2
- package/dist/core/objects/extension/changes/extension.create.d.ts +2 -1
- package/dist/core/objects/extension/changes/extension.create.js +4 -2
- package/dist/core/objects/extension/changes/extension.drop.d.ts +2 -1
- package/dist/core/objects/extension/changes/extension.drop.js +1 -1
- package/dist/core/objects/extension/changes/extension.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.d.ts +10 -9
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.js +9 -9
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.alter.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.d.ts +3 -2
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.comment.js +2 -2
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.d.ts +4 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.privilege.js +3 -3
- package/dist/core/objects/foreign-data-wrapper/server/changes/server.types.d.ts +1 -0
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.d.ts +2 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.js +1 -1
- package/dist/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.d.ts +1 -0
- package/dist/core/objects/index/changes/index.alter.d.ts +4 -3
- package/dist/core/objects/index/changes/index.alter.js +3 -3
- package/dist/core/objects/index/changes/index.comment.d.ts +3 -2
- package/dist/core/objects/index/changes/index.comment.js +2 -2
- package/dist/core/objects/index/changes/index.create.d.ts +2 -1
- package/dist/core/objects/index/changes/index.create.js +1 -1
- package/dist/core/objects/index/changes/index.drop.d.ts +2 -1
- package/dist/core/objects/index/changes/index.drop.js +1 -1
- package/dist/core/objects/index/changes/index.types.d.ts +1 -0
- package/dist/core/objects/language/changes/language.alter.d.ts +2 -1
- package/dist/core/objects/language/changes/language.alter.js +1 -1
- package/dist/core/objects/language/changes/language.comment.d.ts +3 -2
- package/dist/core/objects/language/changes/language.comment.js +2 -2
- package/dist/core/objects/language/changes/language.create.d.ts +2 -1
- package/dist/core/objects/language/changes/language.create.js +1 -1
- package/dist/core/objects/language/changes/language.drop.d.ts +2 -1
- package/dist/core/objects/language/changes/language.drop.js +1 -1
- package/dist/core/objects/language/changes/language.privilege.d.ts +4 -3
- package/dist/core/objects/language/changes/language.privilege.js +3 -3
- package/dist/core/objects/language/changes/language.types.d.ts +1 -0
- package/dist/core/objects/materialized-view/changes/materialized-view.alter.d.ts +3 -2
- package/dist/core/objects/materialized-view/changes/materialized-view.alter.js +2 -2
- package/dist/core/objects/materialized-view/changes/materialized-view.comment.d.ts +5 -4
- package/dist/core/objects/materialized-view/changes/materialized-view.comment.js +4 -4
- package/dist/core/objects/materialized-view/changes/materialized-view.create.d.ts +2 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.create.js +1 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.drop.d.ts +2 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.drop.js +1 -1
- package/dist/core/objects/materialized-view/changes/materialized-view.privilege.d.ts +4 -3
- package/dist/core/objects/materialized-view/changes/materialized-view.privilege.js +3 -3
- package/dist/core/objects/materialized-view/changes/materialized-view.types.d.ts +1 -0
- package/dist/core/objects/procedure/changes/procedure.alter.d.ts +8 -7
- package/dist/core/objects/procedure/changes/procedure.alter.js +7 -7
- package/dist/core/objects/procedure/changes/procedure.comment.d.ts +3 -2
- package/dist/core/objects/procedure/changes/procedure.comment.js +2 -2
- package/dist/core/objects/procedure/changes/procedure.create.d.ts +2 -1
- package/dist/core/objects/procedure/changes/procedure.create.js +1 -1
- package/dist/core/objects/procedure/changes/procedure.drop.d.ts +2 -1
- package/dist/core/objects/procedure/changes/procedure.drop.js +1 -1
- package/dist/core/objects/procedure/changes/procedure.privilege.d.ts +4 -3
- package/dist/core/objects/procedure/changes/procedure.privilege.js +3 -3
- package/dist/core/objects/procedure/changes/procedure.types.d.ts +1 -0
- package/dist/core/objects/publication/changes/publication.alter.d.ts +9 -7
- package/dist/core/objects/publication/changes/publication.alter.js +12 -7
- package/dist/core/objects/publication/changes/publication.comment.d.ts +3 -2
- package/dist/core/objects/publication/changes/publication.comment.js +2 -2
- package/dist/core/objects/publication/changes/publication.create.d.ts +2 -1
- package/dist/core/objects/publication/changes/publication.create.js +1 -1
- package/dist/core/objects/publication/changes/publication.drop.d.ts +2 -1
- package/dist/core/objects/publication/changes/publication.drop.js +1 -1
- package/dist/core/objects/publication/changes/publication.types.d.ts +1 -0
- package/dist/core/objects/rls-policy/changes/rls-policy.alter.d.ts +4 -3
- package/dist/core/objects/rls-policy/changes/rls-policy.alter.js +3 -3
- package/dist/core/objects/rls-policy/changes/rls-policy.comment.d.ts +3 -2
- package/dist/core/objects/rls-policy/changes/rls-policy.comment.js +2 -2
- package/dist/core/objects/rls-policy/changes/rls-policy.create.d.ts +2 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.create.js +1 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.drop.d.ts +2 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.drop.js +1 -1
- package/dist/core/objects/rls-policy/changes/rls-policy.types.d.ts +1 -0
- package/dist/core/objects/role/changes/role.alter.d.ts +3 -2
- package/dist/core/objects/role/changes/role.alter.js +2 -2
- package/dist/core/objects/role/changes/role.comment.d.ts +3 -2
- package/dist/core/objects/role/changes/role.comment.js +2 -2
- package/dist/core/objects/role/changes/role.create.d.ts +2 -1
- package/dist/core/objects/role/changes/role.create.js +1 -1
- package/dist/core/objects/role/changes/role.drop.d.ts +2 -1
- package/dist/core/objects/role/changes/role.drop.js +1 -1
- package/dist/core/objects/role/changes/role.privilege.d.ts +6 -5
- package/dist/core/objects/role/changes/role.privilege.js +5 -5
- package/dist/core/objects/role/changes/role.types.d.ts +1 -0
- package/dist/core/objects/rule/changes/rule.alter.d.ts +3 -2
- package/dist/core/objects/rule/changes/rule.alter.js +2 -2
- package/dist/core/objects/rule/changes/rule.comment.d.ts +3 -2
- package/dist/core/objects/rule/changes/rule.comment.js +2 -2
- package/dist/core/objects/rule/changes/rule.create.d.ts +2 -1
- package/dist/core/objects/rule/changes/rule.create.js +1 -1
- package/dist/core/objects/rule/changes/rule.drop.d.ts +2 -1
- package/dist/core/objects/rule/changes/rule.drop.js +1 -1
- package/dist/core/objects/rule/changes/rule.types.d.ts +1 -0
- package/dist/core/objects/schema/changes/schema.alter.d.ts +2 -1
- package/dist/core/objects/schema/changes/schema.alter.js +1 -1
- package/dist/core/objects/schema/changes/schema.comment.d.ts +3 -2
- package/dist/core/objects/schema/changes/schema.comment.js +2 -2
- package/dist/core/objects/schema/changes/schema.create.d.ts +3 -5
- package/dist/core/objects/schema/changes/schema.drop.d.ts +2 -1
- package/dist/core/objects/schema/changes/schema.drop.js +1 -1
- package/dist/core/objects/schema/changes/schema.privilege.d.ts +4 -3
- package/dist/core/objects/schema/changes/schema.privilege.js +3 -3
- package/dist/core/objects/schema/changes/schema.types.d.ts +1 -0
- package/dist/core/objects/sequence/changes/sequence.alter.d.ts +3 -2
- package/dist/core/objects/sequence/changes/sequence.alter.js +2 -2
- package/dist/core/objects/sequence/changes/sequence.comment.d.ts +3 -2
- package/dist/core/objects/sequence/changes/sequence.comment.js +2 -2
- package/dist/core/objects/sequence/changes/sequence.create.d.ts +2 -1
- package/dist/core/objects/sequence/changes/sequence.create.js +1 -1
- package/dist/core/objects/sequence/changes/sequence.drop.d.ts +2 -1
- package/dist/core/objects/sequence/changes/sequence.drop.js +11 -3
- package/dist/core/objects/sequence/changes/sequence.privilege.d.ts +4 -3
- package/dist/core/objects/sequence/changes/sequence.privilege.js +3 -3
- package/dist/core/objects/sequence/changes/sequence.types.d.ts +1 -0
- package/dist/core/objects/sequence/sequence.diff.d.ts +4 -1
- package/dist/core/objects/sequence/sequence.diff.js +12 -0
- package/dist/core/objects/subscription/changes/subscription.alter.d.ts +7 -6
- package/dist/core/objects/subscription/changes/subscription.alter.js +6 -6
- package/dist/core/objects/subscription/changes/subscription.comment.d.ts +3 -2
- package/dist/core/objects/subscription/changes/subscription.comment.js +2 -2
- package/dist/core/objects/subscription/changes/subscription.create.d.ts +2 -1
- package/dist/core/objects/subscription/changes/subscription.create.js +1 -1
- package/dist/core/objects/subscription/changes/subscription.drop.d.ts +2 -1
- package/dist/core/objects/subscription/changes/subscription.drop.js +1 -1
- package/dist/core/objects/subscription/changes/subscription.types.d.ts +1 -0
- package/dist/core/objects/table/changes/table.alter.d.ts +65 -22
- package/dist/core/objects/table/changes/table.alter.js +107 -22
- package/dist/core/objects/table/changes/table.comment.d.ts +7 -6
- package/dist/core/objects/table/changes/table.comment.js +6 -6
- package/dist/core/objects/table/changes/table.create.d.ts +2 -1
- package/dist/core/objects/table/changes/table.create.js +1 -1
- package/dist/core/objects/table/changes/table.drop.d.ts +4 -3
- package/dist/core/objects/table/changes/table.drop.js +7 -1
- package/dist/core/objects/table/changes/table.privilege.d.ts +4 -3
- package/dist/core/objects/table/changes/table.privilege.js +3 -3
- package/dist/core/objects/table/changes/table.types.d.ts +1 -0
- package/dist/core/objects/table/table.diff.js +46 -1
- package/dist/core/objects/trigger/changes/trigger.alter.d.ts +2 -1
- package/dist/core/objects/trigger/changes/trigger.alter.js +1 -1
- package/dist/core/objects/trigger/changes/trigger.comment.d.ts +3 -2
- package/dist/core/objects/trigger/changes/trigger.comment.js +2 -2
- package/dist/core/objects/trigger/changes/trigger.create.d.ts +2 -1
- package/dist/core/objects/trigger/changes/trigger.create.js +1 -1
- package/dist/core/objects/trigger/changes/trigger.drop.d.ts +2 -1
- package/dist/core/objects/trigger/changes/trigger.drop.js +1 -1
- package/dist/core/objects/trigger/changes/trigger.types.d.ts +1 -0
- package/dist/core/objects/type/composite-type/changes/composite-type.alter.d.ts +5 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.alter.js +4 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.comment.d.ts +5 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.comment.js +4 -4
- package/dist/core/objects/type/composite-type/changes/composite-type.create.d.ts +2 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.create.js +1 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.drop.d.ts +2 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.drop.js +1 -1
- package/dist/core/objects/type/composite-type/changes/composite-type.privilege.d.ts +4 -3
- package/dist/core/objects/type/composite-type/changes/composite-type.privilege.js +3 -3
- package/dist/core/objects/type/composite-type/changes/composite-type.types.d.ts +1 -0
- package/dist/core/objects/type/enum/changes/enum.alter.d.ts +3 -2
- package/dist/core/objects/type/enum/changes/enum.alter.js +2 -2
- package/dist/core/objects/type/enum/changes/enum.comment.d.ts +3 -2
- package/dist/core/objects/type/enum/changes/enum.comment.js +2 -2
- package/dist/core/objects/type/enum/changes/enum.create.d.ts +2 -1
- package/dist/core/objects/type/enum/changes/enum.create.js +1 -1
- package/dist/core/objects/type/enum/changes/enum.drop.d.ts +2 -1
- package/dist/core/objects/type/enum/changes/enum.drop.js +1 -1
- package/dist/core/objects/type/enum/changes/enum.privilege.d.ts +4 -3
- package/dist/core/objects/type/enum/changes/enum.privilege.js +3 -3
- package/dist/core/objects/type/enum/changes/enum.types.d.ts +1 -0
- package/dist/core/objects/type/range/changes/range.alter.d.ts +2 -1
- package/dist/core/objects/type/range/changes/range.alter.js +1 -1
- package/dist/core/objects/type/range/changes/range.comment.d.ts +3 -2
- package/dist/core/objects/type/range/changes/range.comment.js +2 -2
- package/dist/core/objects/type/range/changes/range.create.d.ts +2 -1
- package/dist/core/objects/type/range/changes/range.create.js +1 -1
- package/dist/core/objects/type/range/changes/range.drop.d.ts +2 -1
- package/dist/core/objects/type/range/changes/range.drop.js +1 -1
- package/dist/core/objects/type/range/changes/range.privilege.d.ts +4 -3
- package/dist/core/objects/type/range/changes/range.privilege.js +3 -3
- package/dist/core/objects/type/range/changes/range.types.d.ts +1 -0
- package/dist/core/objects/type/type.types.d.ts +1 -0
- package/dist/core/objects/view/changes/view.alter.d.ts +4 -3
- package/dist/core/objects/view/changes/view.alter.js +3 -3
- package/dist/core/objects/view/changes/view.comment.d.ts +3 -2
- package/dist/core/objects/view/changes/view.comment.js +2 -2
- package/dist/core/objects/view/changes/view.create.d.ts +2 -1
- package/dist/core/objects/view/changes/view.create.js +1 -1
- package/dist/core/objects/view/changes/view.drop.d.ts +2 -1
- package/dist/core/objects/view/changes/view.drop.js +1 -1
- package/dist/core/objects/view/changes/view.privilege.d.ts +4 -3
- package/dist/core/objects/view/changes/view.privilege.js +3 -3
- package/dist/core/objects/view/changes/view.types.d.ts +1 -0
- package/dist/core/objects/view/view.diff.js +24 -13
- package/dist/core/postgres-config.d.ts +2 -2
- package/dist/core/sort/custom-constraints.js +65 -1
- package/dist/core/sort/logical-sort.js +3 -24
- package/package.json +5 -1
- package/src/cli/commands/declarative-export.ts +19 -27
- package/src/cli/commands/plan.ts +14 -20
- package/src/cli/commands/sync.ts +8 -15
- package/src/cli/utils/integrations.test.ts +210 -3
- package/src/cli/utils/integrations.ts +134 -6
- package/src/core/catalog.snapshot.test.ts +11 -2
- package/src/core/change-utils.test.ts +61 -0
- package/src/core/change-utils.ts +73 -0
- package/src/core/change.types.ts +50 -0
- package/src/core/depend.ts +25 -0
- package/src/core/expand-replace-dependencies.test.ts +126 -1
- package/src/core/expand-replace-dependencies.ts +50 -0
- package/src/core/export/file-mapper.ts +7 -2
- package/src/core/integrations/filter/dsl.test.ts +299 -60
- package/src/core/integrations/filter/dsl.ts +208 -169
- package/src/core/integrations/filter/flatten.test.ts +282 -0
- package/src/core/integrations/filter/flatten.ts +150 -0
- package/src/core/integrations/integration-dsl.ts +17 -1
- package/src/core/integrations/merge.test.ts +128 -0
- package/src/core/integrations/merge.ts +72 -0
- package/src/core/integrations/serialize/dsl.test.ts +26 -7
- package/src/core/integrations/serialize/dsl.ts +8 -14
- package/src/core/integrations/serialize/serialize.types.ts +37 -0
- package/src/core/integrations/supabase.ts +42 -8
- package/src/core/objects/aggregate/changes/aggregate.alter.ts +2 -1
- package/src/core/objects/aggregate/changes/aggregate.comment.ts +3 -2
- package/src/core/objects/aggregate/changes/aggregate.create.ts +2 -1
- package/src/core/objects/aggregate/changes/aggregate.drop.ts +2 -1
- package/src/core/objects/aggregate/changes/aggregate.privilege.ts +4 -3
- package/src/core/objects/aggregate/changes/aggregate.types.ts +1 -0
- package/src/core/objects/base.change.ts +13 -1
- package/src/core/objects/base.model.test.ts +43 -0
- package/src/core/objects/base.model.ts +5 -2
- package/src/core/objects/collation/changes/collation.alter.ts +3 -2
- package/src/core/objects/collation/changes/collation.comment.ts +3 -2
- package/src/core/objects/collation/changes/collation.create.ts +2 -1
- package/src/core/objects/collation/changes/collation.drop.ts +2 -1
- package/src/core/objects/collation/changes/collation.types.ts +1 -0
- package/src/core/objects/domain/changes/domain.alter.ts +9 -8
- package/src/core/objects/domain/changes/domain.comment.ts +3 -2
- package/src/core/objects/domain/changes/domain.create.ts +19 -2
- package/src/core/objects/domain/changes/domain.drop.ts +2 -1
- package/src/core/objects/domain/changes/domain.privilege.ts +4 -3
- package/src/core/objects/domain/changes/domain.types.ts +1 -0
- package/src/core/objects/event-trigger/changes/event-trigger.alter.ts +3 -2
- package/src/core/objects/event-trigger/changes/event-trigger.comment.ts +3 -2
- package/src/core/objects/event-trigger/changes/event-trigger.create.ts +2 -1
- package/src/core/objects/event-trigger/changes/event-trigger.drop.ts +2 -1
- package/src/core/objects/event-trigger/changes/event-trigger.types.ts +1 -0
- package/src/core/objects/extension/changes/extension.alter.ts +3 -2
- package/src/core/objects/extension/changes/extension.comment.ts +3 -2
- package/src/core/objects/extension/changes/extension.create.test.ts +22 -0
- package/src/core/objects/extension/changes/extension.create.ts +5 -2
- package/src/core/objects/extension/changes/extension.drop.ts +2 -1
- package/src/core/objects/extension/changes/extension.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.alter.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.comment.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.privilege.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper/changes/foreign-data-wrapper.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/foreign-data-wrapper.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.alter.ts +10 -9
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.comment.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/server/changes/server.alter.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/server/changes/server.comment.ts +3 -2
- package/src/core/objects/foreign-data-wrapper/server/changes/server.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/server/changes/server.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/server/changes/server.privilege.ts +4 -3
- package/src/core/objects/foreign-data-wrapper/server/changes/server.types.ts +1 -0
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.alter.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.create.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.drop.ts +2 -1
- package/src/core/objects/foreign-data-wrapper/user-mapping/changes/user-mapping.types.ts +1 -0
- package/src/core/objects/index/changes/index.alter.ts +4 -3
- package/src/core/objects/index/changes/index.comment.ts +3 -2
- package/src/core/objects/index/changes/index.create.ts +2 -1
- package/src/core/objects/index/changes/index.drop.ts +2 -1
- package/src/core/objects/index/changes/index.types.ts +1 -0
- package/src/core/objects/language/changes/language.alter.ts +2 -1
- package/src/core/objects/language/changes/language.comment.ts +3 -2
- package/src/core/objects/language/changes/language.create.ts +2 -1
- package/src/core/objects/language/changes/language.drop.ts +2 -1
- package/src/core/objects/language/changes/language.privilege.ts +4 -3
- package/src/core/objects/language/changes/language.types.ts +1 -0
- package/src/core/objects/materialized-view/changes/materialized-view.alter.ts +3 -2
- package/src/core/objects/materialized-view/changes/materialized-view.comment.ts +5 -4
- package/src/core/objects/materialized-view/changes/materialized-view.create.ts +2 -1
- package/src/core/objects/materialized-view/changes/materialized-view.drop.ts +2 -1
- package/src/core/objects/materialized-view/changes/materialized-view.privilege.ts +4 -3
- package/src/core/objects/materialized-view/changes/materialized-view.types.ts +1 -0
- package/src/core/objects/procedure/changes/procedure.alter.ts +8 -7
- package/src/core/objects/procedure/changes/procedure.comment.ts +3 -2
- package/src/core/objects/procedure/changes/procedure.create.ts +2 -1
- package/src/core/objects/procedure/changes/procedure.drop.ts +2 -1
- package/src/core/objects/procedure/changes/procedure.privilege.ts +4 -3
- package/src/core/objects/procedure/changes/procedure.types.ts +1 -0
- package/src/core/objects/publication/changes/publication.alter.test.ts +4 -0
- package/src/core/objects/publication/changes/publication.alter.ts +14 -7
- package/src/core/objects/publication/changes/publication.comment.ts +3 -2
- package/src/core/objects/publication/changes/publication.create.ts +2 -1
- package/src/core/objects/publication/changes/publication.drop.ts +2 -1
- package/src/core/objects/publication/changes/publication.types.ts +1 -0
- package/src/core/objects/rls-policy/changes/rls-policy.alter.ts +4 -3
- package/src/core/objects/rls-policy/changes/rls-policy.comment.ts +3 -2
- package/src/core/objects/rls-policy/changes/rls-policy.create.ts +2 -1
- package/src/core/objects/rls-policy/changes/rls-policy.drop.ts +2 -1
- package/src/core/objects/rls-policy/changes/rls-policy.types.ts +1 -0
- package/src/core/objects/role/changes/role.alter.ts +3 -2
- package/src/core/objects/role/changes/role.comment.ts +3 -2
- package/src/core/objects/role/changes/role.create.ts +2 -1
- package/src/core/objects/role/changes/role.drop.ts +2 -1
- package/src/core/objects/role/changes/role.privilege.ts +6 -5
- package/src/core/objects/role/changes/role.types.ts +1 -0
- package/src/core/objects/rule/changes/rule.alter.ts +3 -2
- package/src/core/objects/rule/changes/rule.comment.ts +3 -2
- package/src/core/objects/rule/changes/rule.create.ts +2 -1
- package/src/core/objects/rule/changes/rule.drop.ts +2 -1
- package/src/core/objects/rule/changes/rule.types.ts +1 -0
- package/src/core/objects/schema/changes/schema.alter.ts +2 -1
- package/src/core/objects/schema/changes/schema.comment.ts +3 -2
- package/src/core/objects/schema/changes/schema.create.ts +3 -3
- package/src/core/objects/schema/changes/schema.drop.ts +2 -1
- package/src/core/objects/schema/changes/schema.privilege.ts +4 -3
- package/src/core/objects/schema/changes/schema.types.ts +1 -0
- package/src/core/objects/sequence/changes/sequence.alter.ts +3 -2
- package/src/core/objects/sequence/changes/sequence.comment.ts +3 -2
- package/src/core/objects/sequence/changes/sequence.create.ts +2 -1
- package/src/core/objects/sequence/changes/sequence.drop.ts +16 -3
- package/src/core/objects/sequence/changes/sequence.privilege.ts +4 -3
- package/src/core/objects/sequence/changes/sequence.types.ts +1 -0
- package/src/core/objects/sequence/sequence.diff.test.ts +73 -1
- package/src/core/objects/sequence/sequence.diff.ts +24 -2
- package/src/core/objects/subscription/changes/subscription.alter.ts +7 -6
- package/src/core/objects/subscription/changes/subscription.comment.ts +3 -2
- package/src/core/objects/subscription/changes/subscription.create.ts +2 -1
- package/src/core/objects/subscription/changes/subscription.drop.ts +2 -1
- package/src/core/objects/subscription/changes/subscription.types.ts +1 -0
- package/src/core/objects/table/changes/table.alter.test.ts +38 -0
- package/src/core/objects/table/changes/table.alter.ts +123 -22
- package/src/core/objects/table/changes/table.comment.ts +7 -6
- package/src/core/objects/table/changes/table.create.ts +2 -1
- package/src/core/objects/table/changes/table.drop.ts +20 -1
- package/src/core/objects/table/changes/table.privilege.ts +4 -3
- package/src/core/objects/table/changes/table.types.ts +1 -0
- package/src/core/objects/table/table.diff.test.ts +121 -0
- package/src/core/objects/table/table.diff.ts +64 -1
- package/src/core/objects/trigger/changes/trigger.alter.ts +2 -1
- package/src/core/objects/trigger/changes/trigger.comment.ts +3 -2
- package/src/core/objects/trigger/changes/trigger.create.ts +2 -1
- package/src/core/objects/trigger/changes/trigger.drop.ts +2 -1
- package/src/core/objects/trigger/changes/trigger.types.ts +1 -0
- package/src/core/objects/type/composite-type/changes/composite-type.alter.ts +5 -4
- package/src/core/objects/type/composite-type/changes/composite-type.comment.ts +5 -4
- package/src/core/objects/type/composite-type/changes/composite-type.create.ts +2 -1
- package/src/core/objects/type/composite-type/changes/composite-type.drop.ts +2 -1
- package/src/core/objects/type/composite-type/changes/composite-type.privilege.ts +4 -3
- package/src/core/objects/type/composite-type/changes/composite-type.types.ts +1 -0
- package/src/core/objects/type/enum/changes/enum.alter.ts +3 -2
- package/src/core/objects/type/enum/changes/enum.comment.ts +3 -2
- package/src/core/objects/type/enum/changes/enum.create.ts +2 -1
- package/src/core/objects/type/enum/changes/enum.drop.ts +2 -1
- package/src/core/objects/type/enum/changes/enum.privilege.ts +4 -3
- package/src/core/objects/type/enum/changes/enum.types.ts +1 -0
- package/src/core/objects/type/range/changes/range.alter.ts +2 -1
- package/src/core/objects/type/range/changes/range.comment.ts +3 -2
- package/src/core/objects/type/range/changes/range.create.ts +2 -1
- package/src/core/objects/type/range/changes/range.drop.ts +2 -1
- package/src/core/objects/type/range/changes/range.privilege.ts +4 -3
- package/src/core/objects/type/range/changes/range.types.ts +1 -0
- package/src/core/objects/type/type.types.ts +1 -0
- package/src/core/objects/view/changes/view.alter.ts +4 -3
- package/src/core/objects/view/changes/view.comment.ts +3 -2
- package/src/core/objects/view/changes/view.create.ts +2 -1
- package/src/core/objects/view/changes/view.drop.ts +2 -1
- package/src/core/objects/view/changes/view.privilege.ts +4 -3
- package/src/core/objects/view/changes/view.types.ts +1 -0
- package/src/core/objects/view/view.diff.test.ts +96 -0
- package/src/core/objects/view/view.diff.ts +30 -15
- package/src/core/plan/sql-format/format-off.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-lower-leading.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-narrow.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-preserve.test.ts +1 -1
- package/src/core/plan/sql-format/format-pretty-upper.test.ts +1 -1
- package/src/core/postgres-config.ts +2 -2
- package/src/core/sort/custom-constraints.ts +75 -1
- package/src/core/sort/logical-sort.ts +3 -27
- package/src/typedoc.ts +253 -0
- package/dist/core/integrations/filter/extractors.d.ts +0 -12
- package/dist/core/integrations/filter/extractors.js +0 -178
- package/src/core/integrations/filter/extractors.test.ts +0 -244
- package/src/core/integrations/filter/extractors.ts +0 -187
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { AlterProcedureChange } from "./procedure.base.ts";
|
|
3
4
|
/**
|
|
@@ -37,7 +38,7 @@ export declare class AlterProcedureChangeOwner extends AlterProcedureChange {
|
|
|
37
38
|
owner: string;
|
|
38
39
|
});
|
|
39
40
|
get requires(): `procedure:${string}`[];
|
|
40
|
-
serialize(): string;
|
|
41
|
+
serialize(_options?: SerializeOptions): string;
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
43
44
|
* ALTER FUNCTION/PROCEDURE ... SECURITY { INVOKER | DEFINER }
|
|
@@ -51,7 +52,7 @@ export declare class AlterProcedureSetSecurity extends AlterProcedureChange {
|
|
|
51
52
|
securityDefiner: boolean;
|
|
52
53
|
});
|
|
53
54
|
get requires(): `procedure:${string}`[];
|
|
54
|
-
serialize(): string;
|
|
55
|
+
serialize(_options?: SerializeOptions): string;
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
58
|
* ALTER FUNCTION/PROCEDURE ... SET/RESET configuration_parameter
|
|
@@ -79,7 +80,7 @@ export declare class AlterProcedureSetConfig extends AlterProcedureChange {
|
|
|
79
80
|
action: "reset_all";
|
|
80
81
|
});
|
|
81
82
|
get requires(): `procedure:${string}`[];
|
|
82
|
-
serialize(): string;
|
|
83
|
+
serialize(_options?: SerializeOptions): string;
|
|
83
84
|
}
|
|
84
85
|
/**
|
|
85
86
|
* ALTER FUNCTION/PROCEDURE ... { IMMUTABLE | STABLE | VOLATILE }
|
|
@@ -93,7 +94,7 @@ export declare class AlterProcedureSetVolatility extends AlterProcedureChange {
|
|
|
93
94
|
volatility: string;
|
|
94
95
|
});
|
|
95
96
|
get requires(): `procedure:${string}`[];
|
|
96
|
-
serialize(): string;
|
|
97
|
+
serialize(_options?: SerializeOptions): string;
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
100
|
* ALTER FUNCTION/PROCEDURE ... { STRICT | CALLED ON NULL INPUT }
|
|
@@ -107,7 +108,7 @@ export declare class AlterProcedureSetStrictness extends AlterProcedureChange {
|
|
|
107
108
|
isStrict: boolean;
|
|
108
109
|
});
|
|
109
110
|
get requires(): `procedure:${string}`[];
|
|
110
|
-
serialize(): string;
|
|
111
|
+
serialize(_options?: SerializeOptions): string;
|
|
111
112
|
}
|
|
112
113
|
/**
|
|
113
114
|
* ALTER FUNCTION/PROCEDURE ... { LEAKPROOF | NOT LEAKPROOF }
|
|
@@ -121,7 +122,7 @@ export declare class AlterProcedureSetLeakproof extends AlterProcedureChange {
|
|
|
121
122
|
leakproof: boolean;
|
|
122
123
|
});
|
|
123
124
|
get requires(): `procedure:${string}`[];
|
|
124
|
-
serialize(): string;
|
|
125
|
+
serialize(_options?: SerializeOptions): string;
|
|
125
126
|
}
|
|
126
127
|
/**
|
|
127
128
|
* ALTER FUNCTION/PROCEDURE ... PARALLEL { UNSAFE | RESTRICTED | SAFE }
|
|
@@ -135,7 +136,7 @@ export declare class AlterProcedureSetParallel extends AlterProcedureChange {
|
|
|
135
136
|
parallelSafety: string;
|
|
136
137
|
});
|
|
137
138
|
get requires(): `procedure:${string}`[];
|
|
138
|
-
serialize(): string;
|
|
139
|
+
serialize(_options?: SerializeOptions): string;
|
|
139
140
|
}
|
|
140
141
|
/**
|
|
141
142
|
* Replace a procedure by dropping and recreating it.
|
|
@@ -20,7 +20,7 @@ export class AlterProcedureChangeOwner extends AlterProcedureChange {
|
|
|
20
20
|
get requires() {
|
|
21
21
|
return [this.procedure.stableId];
|
|
22
22
|
}
|
|
23
|
-
serialize() {
|
|
23
|
+
serialize(_options) {
|
|
24
24
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
25
25
|
return [
|
|
26
26
|
"ALTER",
|
|
@@ -46,7 +46,7 @@ export class AlterProcedureSetSecurity extends AlterProcedureChange {
|
|
|
46
46
|
get requires() {
|
|
47
47
|
return [this.procedure.stableId];
|
|
48
48
|
}
|
|
49
|
-
serialize() {
|
|
49
|
+
serialize(_options) {
|
|
50
50
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
51
51
|
const security = this.securityDefiner
|
|
52
52
|
? "SECURITY DEFINER"
|
|
@@ -79,7 +79,7 @@ export class AlterProcedureSetConfig extends AlterProcedureChange {
|
|
|
79
79
|
get requires() {
|
|
80
80
|
return [this.procedure.stableId];
|
|
81
81
|
}
|
|
82
|
-
serialize() {
|
|
82
|
+
serialize(_options) {
|
|
83
83
|
const head = [
|
|
84
84
|
"ALTER",
|
|
85
85
|
this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION",
|
|
@@ -108,7 +108,7 @@ export class AlterProcedureSetVolatility extends AlterProcedureChange {
|
|
|
108
108
|
get requires() {
|
|
109
109
|
return [this.procedure.stableId];
|
|
110
110
|
}
|
|
111
|
-
serialize() {
|
|
111
|
+
serialize(_options) {
|
|
112
112
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
113
113
|
const volMap = {
|
|
114
114
|
i: "IMMUTABLE",
|
|
@@ -138,7 +138,7 @@ export class AlterProcedureSetStrictness extends AlterProcedureChange {
|
|
|
138
138
|
get requires() {
|
|
139
139
|
return [this.procedure.stableId];
|
|
140
140
|
}
|
|
141
|
-
serialize() {
|
|
141
|
+
serialize(_options) {
|
|
142
142
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
143
143
|
const strictness = this.isStrict ? "STRICT" : "CALLED ON NULL INPUT";
|
|
144
144
|
return [
|
|
@@ -164,7 +164,7 @@ export class AlterProcedureSetLeakproof extends AlterProcedureChange {
|
|
|
164
164
|
get requires() {
|
|
165
165
|
return [this.procedure.stableId];
|
|
166
166
|
}
|
|
167
|
-
serialize() {
|
|
167
|
+
serialize(_options) {
|
|
168
168
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
169
169
|
const leak = this.leakproof ? "LEAKPROOF" : "NOT LEAKPROOF";
|
|
170
170
|
return ["ALTER", objectType, procedureSignature(this.procedure), leak].join(" ");
|
|
@@ -185,7 +185,7 @@ export class AlterProcedureSetParallel extends AlterProcedureChange {
|
|
|
185
185
|
get requires() {
|
|
186
186
|
return [this.procedure.stableId];
|
|
187
187
|
}
|
|
188
|
-
serialize() {
|
|
188
|
+
serialize(_options) {
|
|
189
189
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
190
190
|
const parallelMap = {
|
|
191
191
|
u: "PARALLEL UNSAFE",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { CreateProcedureChange, DropProcedureChange } from "./procedure.base.ts";
|
|
3
4
|
export type CommentProcedure = CreateCommentOnProcedure | DropCommentOnProcedure;
|
|
@@ -12,7 +13,7 @@ export declare class CreateCommentOnProcedure extends CreateProcedureChange {
|
|
|
12
13
|
});
|
|
13
14
|
get creates(): `comment:${string}`[];
|
|
14
15
|
get requires(): `procedure:${string}`[];
|
|
15
|
-
serialize(): string;
|
|
16
|
+
serialize(_options?: SerializeOptions): string;
|
|
16
17
|
}
|
|
17
18
|
export declare class DropCommentOnProcedure extends DropProcedureChange {
|
|
18
19
|
readonly procedure: Procedure;
|
|
@@ -22,5 +23,5 @@ export declare class DropCommentOnProcedure extends DropProcedureChange {
|
|
|
22
23
|
});
|
|
23
24
|
get drops(): `comment:${string}`[];
|
|
24
25
|
get requires(): (`comment:${string}` | `procedure:${string}`)[];
|
|
25
|
-
serialize(): string;
|
|
26
|
+
serialize(_options?: SerializeOptions): string;
|
|
26
27
|
}
|
|
@@ -17,7 +17,7 @@ export class CreateCommentOnProcedure extends CreateProcedureChange {
|
|
|
17
17
|
get requires() {
|
|
18
18
|
return [this.procedure.stableId];
|
|
19
19
|
}
|
|
20
|
-
serialize() {
|
|
20
|
+
serialize(_options) {
|
|
21
21
|
return [
|
|
22
22
|
"COMMENT ON",
|
|
23
23
|
this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION",
|
|
@@ -41,7 +41,7 @@ export class DropCommentOnProcedure extends DropProcedureChange {
|
|
|
41
41
|
get requires() {
|
|
42
42
|
return [stableId.comment(this.procedure.stableId), this.procedure.stableId];
|
|
43
43
|
}
|
|
44
|
-
serialize() {
|
|
44
|
+
serialize(_options) {
|
|
45
45
|
return [
|
|
46
46
|
"COMMENT ON",
|
|
47
47
|
this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { CreateProcedureChange } from "./procedure.base.ts";
|
|
3
4
|
/**
|
|
@@ -38,5 +39,5 @@ export declare class CreateProcedure extends CreateProcedureChange {
|
|
|
38
39
|
});
|
|
39
40
|
get creates(): `procedure:${string}`[];
|
|
40
41
|
get requires(): string[];
|
|
41
|
-
serialize(): string;
|
|
42
|
+
serialize(_options?: SerializeOptions): string;
|
|
42
43
|
}
|
|
@@ -66,7 +66,7 @@ export class CreateProcedure extends CreateProcedureChange {
|
|
|
66
66
|
}
|
|
67
67
|
return Array.from(dependencies);
|
|
68
68
|
}
|
|
69
|
-
serialize() {
|
|
69
|
+
serialize(_options) {
|
|
70
70
|
// Use the server-generated CREATE statement for functions/procedures
|
|
71
71
|
// Normalize trailing semicolon and OR REPLACE clause according to flag
|
|
72
72
|
let definition = this.procedure.definition.trim();
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { DropProcedureChange } from "./procedure.base.ts";
|
|
3
4
|
/**
|
|
@@ -19,5 +20,5 @@ export declare class DropProcedure extends DropProcedureChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `procedure:${string}`[];
|
|
21
22
|
get requires(): `procedure:${string}`[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -24,7 +24,7 @@ export class DropProcedure extends DropProcedureChange {
|
|
|
24
24
|
get requires() {
|
|
25
25
|
return [this.procedure.stableId];
|
|
26
26
|
}
|
|
27
|
-
serialize() {
|
|
27
|
+
serialize(_options) {
|
|
28
28
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
29
29
|
// Build argument list
|
|
30
30
|
const args = formatFunctionArguments(this.procedure.argument_names, this.procedure.argument_types, this.procedure.argument_modes);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { AlterProcedureChange } from "./procedure.base.ts";
|
|
3
4
|
export type ProcedurePrivilege = GrantProcedurePrivileges | RevokeProcedurePrivileges | RevokeGrantOptionProcedurePrivileges;
|
|
@@ -35,7 +36,7 @@ export declare class GrantProcedurePrivileges extends AlterProcedureChange {
|
|
|
35
36
|
});
|
|
36
37
|
get creates(): `acl:${string}::grantee:${string}`[];
|
|
37
38
|
get requires(): (`role:${string}` | `procedure:${string}`)[];
|
|
38
|
-
serialize(): string;
|
|
39
|
+
serialize(_options?: SerializeOptions): string;
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
42
|
* Revoke privileges on a procedure.
|
|
@@ -72,7 +73,7 @@ export declare class RevokeProcedurePrivileges extends AlterProcedureChange {
|
|
|
72
73
|
});
|
|
73
74
|
get drops(): `acl:${string}::grantee:${string}`[];
|
|
74
75
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `procedure:${string}`)[];
|
|
75
|
-
serialize(): string;
|
|
76
|
+
serialize(_options?: SerializeOptions): string;
|
|
76
77
|
}
|
|
77
78
|
/**
|
|
78
79
|
* Revoke grant option for privileges on a procedure.
|
|
@@ -94,5 +95,5 @@ export declare class RevokeGrantOptionProcedurePrivileges extends AlterProcedure
|
|
|
94
95
|
version?: number;
|
|
95
96
|
});
|
|
96
97
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `procedure:${string}`)[];
|
|
97
|
-
serialize(): string;
|
|
98
|
+
serialize(_options?: SerializeOptions): string;
|
|
98
99
|
}
|
|
@@ -34,7 +34,7 @@ export class GrantProcedurePrivileges extends AlterProcedureChange {
|
|
|
34
34
|
get requires() {
|
|
35
35
|
return [this.procedure.stableId, stableId.role(this.grantee)];
|
|
36
36
|
}
|
|
37
|
-
serialize() {
|
|
37
|
+
serialize(_options) {
|
|
38
38
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
39
39
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
40
40
|
if (hasGrantable && hasBase) {
|
|
@@ -92,7 +92,7 @@ export class RevokeProcedurePrivileges extends AlterProcedureChange {
|
|
|
92
92
|
stableId.role(this.grantee),
|
|
93
93
|
];
|
|
94
94
|
}
|
|
95
|
-
serialize() {
|
|
95
|
+
serialize(_options) {
|
|
96
96
|
const objectKind = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
97
97
|
const kindPrefix = getObjectKindPrefix(objectKind);
|
|
98
98
|
const list = this.privileges.map((p) => p.privilege);
|
|
@@ -131,7 +131,7 @@ export class RevokeGrantOptionProcedurePrivileges extends AlterProcedureChange {
|
|
|
131
131
|
stableId.role(this.grantee),
|
|
132
132
|
];
|
|
133
133
|
}
|
|
134
|
-
serialize() {
|
|
134
|
+
serialize(_options) {
|
|
135
135
|
const objectKind = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
136
136
|
const kindPrefix = getObjectKindPrefix(objectKind);
|
|
137
137
|
const privSql = formatObjectPrivilegeList(objectKind, this.privilegeNames, this.version);
|
|
@@ -3,4 +3,5 @@ import type { CommentProcedure } from "./procedure.comment.ts";
|
|
|
3
3
|
import type { CreateProcedure } from "./procedure.create.ts";
|
|
4
4
|
import type { DropProcedure } from "./procedure.drop.ts";
|
|
5
5
|
import type { ProcedurePrivilege } from "./procedure.privilege.ts";
|
|
6
|
+
/** Union of all procedure-related change variants (`objectType: "procedure"`). @category Change Types */
|
|
6
7
|
export type ProcedureChange = AlterProcedure | CommentProcedure | CreateProcedure | DropProcedure | ProcedurePrivilege;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Publication, PublicationTableProps } from "../publication.model.ts";
|
|
2
3
|
import { AlterPublicationChange } from "./publication.base.ts";
|
|
3
4
|
export declare class AlterPublicationSetOptions extends AlterPublicationChange {
|
|
@@ -11,7 +12,7 @@ export declare class AlterPublicationSetOptions extends AlterPublicationChange {
|
|
|
11
12
|
setPublishViaPartitionRoot: boolean;
|
|
12
13
|
});
|
|
13
14
|
get requires(): `publication:${string}`[];
|
|
14
|
-
serialize(): string;
|
|
15
|
+
serialize(_options?: SerializeOptions): string;
|
|
15
16
|
}
|
|
16
17
|
export declare class AlterPublicationSetList extends AlterPublicationChange {
|
|
17
18
|
readonly publication: Publication;
|
|
@@ -20,7 +21,7 @@ export declare class AlterPublicationSetList extends AlterPublicationChange {
|
|
|
20
21
|
publication: Publication;
|
|
21
22
|
});
|
|
22
23
|
get requires(): string[];
|
|
23
|
-
serialize(): string;
|
|
24
|
+
serialize(_options?: SerializeOptions): string;
|
|
24
25
|
}
|
|
25
26
|
export declare class AlterPublicationAddTables extends AlterPublicationChange {
|
|
26
27
|
readonly publication: Publication;
|
|
@@ -31,7 +32,7 @@ export declare class AlterPublicationAddTables extends AlterPublicationChange {
|
|
|
31
32
|
tables: PublicationTableProps[];
|
|
32
33
|
});
|
|
33
34
|
get requires(): string[];
|
|
34
|
-
serialize(): string;
|
|
35
|
+
serialize(_options?: SerializeOptions): string;
|
|
35
36
|
}
|
|
36
37
|
export declare class AlterPublicationDropTables extends AlterPublicationChange {
|
|
37
38
|
readonly publication: Publication;
|
|
@@ -42,7 +43,8 @@ export declare class AlterPublicationDropTables extends AlterPublicationChange {
|
|
|
42
43
|
tables: PublicationTableProps[];
|
|
43
44
|
});
|
|
44
45
|
get requires(): string[];
|
|
45
|
-
|
|
46
|
+
get drops(): `table:${string}.${string}`[];
|
|
47
|
+
serialize(_options?: SerializeOptions): string;
|
|
46
48
|
}
|
|
47
49
|
export declare class AlterPublicationAddSchemas extends AlterPublicationChange {
|
|
48
50
|
readonly publication: Publication;
|
|
@@ -53,7 +55,7 @@ export declare class AlterPublicationAddSchemas extends AlterPublicationChange {
|
|
|
53
55
|
schemas: string[];
|
|
54
56
|
});
|
|
55
57
|
get requires(): (`schema:${string}` | `publication:${string}`)[];
|
|
56
|
-
serialize(): string;
|
|
58
|
+
serialize(_options?: SerializeOptions): string;
|
|
57
59
|
}
|
|
58
60
|
export declare class AlterPublicationDropSchemas extends AlterPublicationChange {
|
|
59
61
|
readonly publication: Publication;
|
|
@@ -64,7 +66,7 @@ export declare class AlterPublicationDropSchemas extends AlterPublicationChange
|
|
|
64
66
|
schemas: string[];
|
|
65
67
|
});
|
|
66
68
|
get requires(): (`schema:${string}` | `publication:${string}`)[];
|
|
67
|
-
serialize(): string;
|
|
69
|
+
serialize(_options?: SerializeOptions): string;
|
|
68
70
|
}
|
|
69
71
|
export declare class AlterPublicationSetOwner extends AlterPublicationChange {
|
|
70
72
|
readonly publication: Publication;
|
|
@@ -75,5 +77,5 @@ export declare class AlterPublicationSetOwner extends AlterPublicationChange {
|
|
|
75
77
|
owner: string;
|
|
76
78
|
});
|
|
77
79
|
get requires(): (`role:${string}` | `publication:${string}`)[];
|
|
78
|
-
serialize(): string;
|
|
80
|
+
serialize(_options?: SerializeOptions): string;
|
|
79
81
|
}
|
|
@@ -15,7 +15,7 @@ export class AlterPublicationSetOptions extends AlterPublicationChange {
|
|
|
15
15
|
get requires() {
|
|
16
16
|
return [this.publication.stableId];
|
|
17
17
|
}
|
|
18
|
-
serialize() {
|
|
18
|
+
serialize(_options) {
|
|
19
19
|
const assignments = [];
|
|
20
20
|
if (this.setPublish) {
|
|
21
21
|
const operations = getPublicationOperations(this.publication);
|
|
@@ -50,7 +50,7 @@ export class AlterPublicationSetList extends AlterPublicationChange {
|
|
|
50
50
|
}
|
|
51
51
|
return Array.from(dependencies);
|
|
52
52
|
}
|
|
53
|
-
serialize() {
|
|
53
|
+
serialize(_options) {
|
|
54
54
|
const clauses = formatPublicationObjects(this.publication.tables, this.publication.schemas);
|
|
55
55
|
return `ALTER PUBLICATION ${this.publication.name} SET ${clauses.join(", ")}`;
|
|
56
56
|
}
|
|
@@ -77,7 +77,7 @@ export class AlterPublicationAddTables extends AlterPublicationChange {
|
|
|
77
77
|
}
|
|
78
78
|
return Array.from(dependencies);
|
|
79
79
|
}
|
|
80
|
-
serialize() {
|
|
80
|
+
serialize(_options) {
|
|
81
81
|
const clauses = this.tables.map((table) => formatPublicationTable(table));
|
|
82
82
|
return `ALTER PUBLICATION ${this.publication.name} ADD ${clauses.join(", ")}`;
|
|
83
83
|
}
|
|
@@ -99,7 +99,12 @@ export class AlterPublicationDropTables extends AlterPublicationChange {
|
|
|
99
99
|
}
|
|
100
100
|
return Array.from(dependencies);
|
|
101
101
|
}
|
|
102
|
-
|
|
102
|
+
get drops() {
|
|
103
|
+
// Treat ALTER PUBLICATION ... DROP TABLE as a destructive change so it runs
|
|
104
|
+
// in the drop phase before DROP TABLE removes the referenced relation.
|
|
105
|
+
return this.tables.map((table) => stableId.table(table.schema, table.name));
|
|
106
|
+
}
|
|
107
|
+
serialize(_options) {
|
|
103
108
|
const targets = this.tables.map((table) => `${table.schema}.${table.name}`);
|
|
104
109
|
return `ALTER PUBLICATION ${this.publication.name} DROP TABLE ${targets.join(", ")}`;
|
|
105
110
|
}
|
|
@@ -119,7 +124,7 @@ export class AlterPublicationAddSchemas extends AlterPublicationChange {
|
|
|
119
124
|
...this.schemas.map((schema) => stableId.schema(schema)),
|
|
120
125
|
];
|
|
121
126
|
}
|
|
122
|
-
serialize() {
|
|
127
|
+
serialize(_options) {
|
|
123
128
|
const clauses = this.schemas.map((schema) => `TABLES IN SCHEMA ${schema}`);
|
|
124
129
|
return `ALTER PUBLICATION ${this.publication.name} ADD ${clauses.join(", ")}`;
|
|
125
130
|
}
|
|
@@ -139,7 +144,7 @@ export class AlterPublicationDropSchemas extends AlterPublicationChange {
|
|
|
139
144
|
...this.schemas.map((schema) => stableId.schema(schema)),
|
|
140
145
|
];
|
|
141
146
|
}
|
|
142
|
-
serialize() {
|
|
147
|
+
serialize(_options) {
|
|
143
148
|
const clauses = this.schemas.map((schema) => `TABLES IN SCHEMA ${schema}`);
|
|
144
149
|
return `ALTER PUBLICATION ${this.publication.name} DROP ${clauses.join(", ")}`;
|
|
145
150
|
}
|
|
@@ -156,7 +161,7 @@ export class AlterPublicationSetOwner extends AlterPublicationChange {
|
|
|
156
161
|
get requires() {
|
|
157
162
|
return [this.publication.stableId, stableId.role(this.owner)];
|
|
158
163
|
}
|
|
159
|
-
serialize() {
|
|
164
|
+
serialize(_options) {
|
|
160
165
|
return `ALTER PUBLICATION ${this.publication.name} OWNER TO ${this.owner}`;
|
|
161
166
|
}
|
|
162
167
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Publication } from "../publication.model.ts";
|
|
2
3
|
import { CreatePublicationChange, DropPublicationChange } from "./publication.base.ts";
|
|
3
4
|
export type CommentPublication = CreateCommentOnPublication | DropCommentOnPublication;
|
|
@@ -9,7 +10,7 @@ export declare class CreateCommentOnPublication extends CreatePublicationChange
|
|
|
9
10
|
});
|
|
10
11
|
get creates(): `comment:${string}`[];
|
|
11
12
|
get requires(): `publication:${string}`[];
|
|
12
|
-
serialize(): string;
|
|
13
|
+
serialize(_options?: SerializeOptions): string;
|
|
13
14
|
}
|
|
14
15
|
export declare class DropCommentOnPublication extends DropPublicationChange {
|
|
15
16
|
readonly publication: Publication;
|
|
@@ -19,5 +20,5 @@ export declare class DropCommentOnPublication extends DropPublicationChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `comment:${string}`[];
|
|
21
22
|
get requires(): (`comment:${string}` | `publication:${string}`)[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnPublication extends CreatePublicationChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.publication.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON PUBLICATION",
|
|
20
20
|
this.publication.name,
|
|
@@ -40,7 +40,7 @@ export class DropCommentOnPublication extends DropPublicationChange {
|
|
|
40
40
|
this.publication.stableId,
|
|
41
41
|
];
|
|
42
42
|
}
|
|
43
|
-
serialize() {
|
|
43
|
+
serialize(_options) {
|
|
44
44
|
return `COMMENT ON PUBLICATION ${this.publication.name} IS NULL`;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Publication } from "../publication.model.ts";
|
|
2
3
|
import { CreatePublicationChange } from "./publication.base.ts";
|
|
3
4
|
/**
|
|
@@ -13,5 +14,5 @@ export declare class CreatePublication extends CreatePublicationChange {
|
|
|
13
14
|
});
|
|
14
15
|
get creates(): `publication:${string}`[];
|
|
15
16
|
get requires(): string[];
|
|
16
|
-
serialize(): string;
|
|
17
|
+
serialize(_options?: SerializeOptions): string;
|
|
17
18
|
}
|
|
@@ -34,7 +34,7 @@ export class CreatePublication extends CreatePublicationChange {
|
|
|
34
34
|
}
|
|
35
35
|
return Array.from(dependencies);
|
|
36
36
|
}
|
|
37
|
-
serialize() {
|
|
37
|
+
serialize(_options) {
|
|
38
38
|
const parts = ["CREATE PUBLICATION", this.publication.name];
|
|
39
39
|
if (this.publication.all_tables) {
|
|
40
40
|
parts.push("FOR ALL TABLES");
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Publication } from "../publication.model.ts";
|
|
2
3
|
import { DropPublicationChange } from "./publication.base.ts";
|
|
3
4
|
/**
|
|
@@ -13,5 +14,5 @@ export declare class DropPublication extends DropPublicationChange {
|
|
|
13
14
|
});
|
|
14
15
|
get drops(): `publication:${string}`[];
|
|
15
16
|
get requires(): `publication:${string}`[];
|
|
16
|
-
serialize(): string;
|
|
17
|
+
serialize(_options?: SerializeOptions): string;
|
|
17
18
|
}
|
|
@@ -2,4 +2,5 @@ import type { AlterPublicationAddSchemas, AlterPublicationAddTables, AlterPublic
|
|
|
2
2
|
import type { CommentPublication } from "./publication.comment.ts";
|
|
3
3
|
import type { CreatePublication } from "./publication.create.ts";
|
|
4
4
|
import type { DropPublication } from "./publication.drop.ts";
|
|
5
|
+
/** Union of all publication-related change variants (`objectType: "publication"`). @category Change Types */
|
|
5
6
|
export type PublicationChange = AlterPublicationAddSchemas | AlterPublicationAddTables | AlterPublicationDropSchemas | AlterPublicationDropTables | AlterPublicationSetList | AlterPublicationSetOptions | AlterPublicationSetOwner | CommentPublication | CreatePublication | DropPublication;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { RlsPolicy } from "../rls-policy.model.ts";
|
|
2
3
|
import { AlterRlsPolicyChange } from "./rls-policy.base.ts";
|
|
3
4
|
/**
|
|
@@ -26,7 +27,7 @@ export declare class AlterRlsPolicySetRoles extends AlterRlsPolicyChange {
|
|
|
26
27
|
roles: string[];
|
|
27
28
|
});
|
|
28
29
|
get requires(): `rlsPolicy:${string}`[];
|
|
29
|
-
serialize(): string;
|
|
30
|
+
serialize(_options?: SerializeOptions): string;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
33
|
* ALTER POLICY ... USING (...)
|
|
@@ -40,7 +41,7 @@ export declare class AlterRlsPolicySetUsingExpression extends AlterRlsPolicyChan
|
|
|
40
41
|
usingExpression: string | null;
|
|
41
42
|
});
|
|
42
43
|
get requires(): `rlsPolicy:${string}`[];
|
|
43
|
-
serialize(): string;
|
|
44
|
+
serialize(_options?: SerializeOptions): string;
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* ALTER POLICY ... WITH CHECK (...)
|
|
@@ -54,7 +55,7 @@ export declare class AlterRlsPolicySetWithCheckExpression extends AlterRlsPolicy
|
|
|
54
55
|
withCheckExpression: string | null;
|
|
55
56
|
});
|
|
56
57
|
get requires(): `rlsPolicy:${string}`[];
|
|
57
|
-
serialize(): string;
|
|
58
|
+
serialize(_options?: SerializeOptions): string;
|
|
58
59
|
}
|
|
59
60
|
/**
|
|
60
61
|
* Replace an RLS policy by dropping and recreating it.
|
|
@@ -14,7 +14,7 @@ export class AlterRlsPolicySetRoles extends AlterRlsPolicyChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.policy.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
const targetRoles = this.roles;
|
|
19
19
|
const toPublic = targetRoles.length === 0 ||
|
|
20
20
|
(targetRoles.length === 1 && targetRoles[0].toLowerCase() === "public");
|
|
@@ -44,7 +44,7 @@ export class AlterRlsPolicySetUsingExpression extends AlterRlsPolicyChange {
|
|
|
44
44
|
get requires() {
|
|
45
45
|
return [this.policy.stableId];
|
|
46
46
|
}
|
|
47
|
-
serialize() {
|
|
47
|
+
serialize(_options) {
|
|
48
48
|
const expr = this.usingExpression ?? "true";
|
|
49
49
|
return [
|
|
50
50
|
"ALTER POLICY",
|
|
@@ -71,7 +71,7 @@ export class AlterRlsPolicySetWithCheckExpression extends AlterRlsPolicyChange {
|
|
|
71
71
|
get requires() {
|
|
72
72
|
return [this.policy.stableId];
|
|
73
73
|
}
|
|
74
|
-
serialize() {
|
|
74
|
+
serialize(_options) {
|
|
75
75
|
const expr = this.withCheckExpression ?? "true";
|
|
76
76
|
return [
|
|
77
77
|
"ALTER POLICY",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { RlsPolicy } from "../rls-policy.model.ts";
|
|
2
3
|
import { CreateRlsPolicyChange, DropRlsPolicyChange } from "./rls-policy.base.ts";
|
|
3
4
|
export type CommentRlsPolicy = CreateCommentOnRlsPolicy | DropCommentOnRlsPolicy;
|
|
@@ -9,7 +10,7 @@ export declare class CreateCommentOnRlsPolicy extends CreateRlsPolicyChange {
|
|
|
9
10
|
});
|
|
10
11
|
get creates(): `comment:${string}`[];
|
|
11
12
|
get requires(): `rlsPolicy:${string}`[];
|
|
12
|
-
serialize(): string;
|
|
13
|
+
serialize(_options?: SerializeOptions): string;
|
|
13
14
|
}
|
|
14
15
|
export declare class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
|
|
15
16
|
readonly policy: RlsPolicy;
|
|
@@ -19,5 +20,5 @@ export declare class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `comment:${string}`[];
|
|
21
22
|
get requires(): (`comment:${string}` | `rlsPolicy:${string}`)[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnRlsPolicy extends CreateRlsPolicyChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.policy.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON POLICY",
|
|
20
20
|
this.policy.name,
|
|
@@ -39,7 +39,7 @@ export class DropCommentOnRlsPolicy extends DropRlsPolicyChange {
|
|
|
39
39
|
get requires() {
|
|
40
40
|
return [stableId.comment(this.policy.stableId), this.policy.stableId];
|
|
41
41
|
}
|
|
42
|
-
serialize() {
|
|
42
|
+
serialize(_options) {
|
|
43
43
|
return [
|
|
44
44
|
"COMMENT ON POLICY",
|
|
45
45
|
this.policy.name,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { RlsPolicy } from "../rls-policy.model.ts";
|
|
2
3
|
import { CreateRlsPolicyChange } from "./rls-policy.base.ts";
|
|
3
4
|
/**
|
|
@@ -23,5 +24,5 @@ export declare class CreateRlsPolicy extends CreateRlsPolicyChange {
|
|
|
23
24
|
});
|
|
24
25
|
get creates(): `rlsPolicy:${string}`[];
|
|
25
26
|
get requires(): string[];
|
|
26
|
-
serialize(): string;
|
|
27
|
+
serialize(_options?: SerializeOptions): string;
|
|
27
28
|
}
|
|
@@ -35,7 +35,7 @@ export class CreateRlsPolicy extends CreateRlsPolicyChange {
|
|
|
35
35
|
dependencies.add(stableId.role(this.policy.owner));
|
|
36
36
|
return Array.from(dependencies);
|
|
37
37
|
}
|
|
38
|
-
serialize() {
|
|
38
|
+
serialize(_options) {
|
|
39
39
|
const parts = ["CREATE POLICY"];
|
|
40
40
|
// Add policy name
|
|
41
41
|
parts.push(this.policy.name);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { RlsPolicy } from "../rls-policy.model.ts";
|
|
2
3
|
import { DropRlsPolicyChange } from "./rls-policy.base.ts";
|
|
3
4
|
/**
|
|
@@ -18,5 +19,5 @@ export declare class DropRlsPolicy extends DropRlsPolicyChange {
|
|
|
18
19
|
});
|
|
19
20
|
get drops(): `rlsPolicy:${string}`[];
|
|
20
21
|
get requires(): `rlsPolicy:${string}`[];
|
|
21
|
-
serialize(): string;
|
|
22
|
+
serialize(_options?: SerializeOptions): string;
|
|
22
23
|
}
|
|
@@ -2,4 +2,5 @@ import type { AlterRlsPolicy } from "./rls-policy.alter.ts";
|
|
|
2
2
|
import type { CommentRlsPolicy } from "./rls-policy.comment.ts";
|
|
3
3
|
import type { CreateRlsPolicy } from "./rls-policy.create.ts";
|
|
4
4
|
import type { DropRlsPolicy } from "./rls-policy.drop.ts";
|
|
5
|
+
/** Union of all RLS policy-related change variants (`objectType: "rls_policy"`). @category Change Types */
|
|
5
6
|
export type RlsPolicyChange = AlterRlsPolicy | CommentRlsPolicy | CreateRlsPolicy | DropRlsPolicy;
|