@supabase/pg-delta 1.0.0-alpha.11 → 1.0.0-alpha.13
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/core/expand-replace-dependencies.js +23 -0
- package/dist/core/export/index.d.ts +2 -2
- package/dist/core/export/index.js +4 -1
- package/dist/core/integrations/integration.types.d.ts +26 -1
- package/dist/core/integrations/integration.types.js +31 -1
- package/dist/core/integrations/serialize/dsl.d.ts +1 -8
- package/dist/core/integrations/serialize/serialize.types.d.ts +31 -0
- package/dist/core/integrations/supabase.js +19 -0
- 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/base.change.d.ts +2 -1
- 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/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 +2 -1
- package/dist/core/objects/domain/changes/domain.create.js +1 -1
- 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/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/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/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-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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/plan/create.js +5 -17
- package/dist/core/plan/types.d.ts +3 -6
- package/dist/core/sort/custom-constraints.js +64 -0
- package/package.json +1 -1
- package/src/core/expand-replace-dependencies.test.ts +126 -1
- package/src/core/expand-replace-dependencies.ts +50 -0
- package/src/core/export/index.ts +13 -4
- package/src/core/integrations/integration.types.ts +59 -1
- package/src/core/integrations/serialize/dsl.test.ts +20 -1
- package/src/core/integrations/serialize/dsl.ts +1 -10
- package/src/core/integrations/serialize/serialize.types.ts +37 -0
- package/src/core/integrations/supabase.ts +19 -0
- 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/base.change.ts +3 -1
- 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/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 +2 -1
- 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/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/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/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-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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/plan/create.ts +11 -27
- 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/plan/types.ts +3 -6
- package/src/core/sort/custom-constraints.ts +74 -0
- package/src/typedoc.ts +5 -0
|
@@ -29,7 +29,7 @@ export class GrantRoleMembership extends CreateRoleChange {
|
|
|
29
29
|
get requires() {
|
|
30
30
|
return [this.role.stableId, stableId.role(this.member)];
|
|
31
31
|
}
|
|
32
|
-
serialize() {
|
|
32
|
+
serialize(_options) {
|
|
33
33
|
// On creation, only emit ADMIN OPTION; leave INHERIT/SET to defaults
|
|
34
34
|
const opts = [];
|
|
35
35
|
if (this.options.admin)
|
|
@@ -69,7 +69,7 @@ export class RevokeRoleMembership extends DropRoleChange {
|
|
|
69
69
|
this.role.stableId,
|
|
70
70
|
];
|
|
71
71
|
}
|
|
72
|
-
serialize() {
|
|
72
|
+
serialize(_options) {
|
|
73
73
|
return `REVOKE ${this.role.name} FROM ${this.member}`;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -103,7 +103,7 @@ export class RevokeRoleMembershipOptions extends DropRoleChange {
|
|
|
103
103
|
this.role.stableId,
|
|
104
104
|
];
|
|
105
105
|
}
|
|
106
|
-
serialize() {
|
|
106
|
+
serialize(_options) {
|
|
107
107
|
const parts = [];
|
|
108
108
|
if (this.admin)
|
|
109
109
|
parts.push("ADMIN OPTION");
|
|
@@ -148,7 +148,7 @@ export class GrantRoleDefaultPrivileges extends CreateRoleChange {
|
|
|
148
148
|
...(this.inSchema ? [stableId.schema(this.inSchema)] : []),
|
|
149
149
|
];
|
|
150
150
|
}
|
|
151
|
-
serialize() {
|
|
151
|
+
serialize(_options) {
|
|
152
152
|
const scope = this.inSchema ? ` IN SCHEMA ${this.inSchema}` : "";
|
|
153
153
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
154
154
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
@@ -195,7 +195,7 @@ export class RevokeRoleDefaultPrivileges extends DropRoleChange {
|
|
|
195
195
|
...(this.inSchema ? [stableId.schema(this.inSchema)] : []),
|
|
196
196
|
];
|
|
197
197
|
}
|
|
198
|
-
serialize() {
|
|
198
|
+
serialize(_options) {
|
|
199
199
|
const scope = this.inSchema ? ` IN SCHEMA ${this.inSchema}` : "";
|
|
200
200
|
const grantOptionPrivs = this.privileges
|
|
201
201
|
.filter((p) => p.grantable)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Rule, RuleEnabledState } from "../rule.model.ts";
|
|
2
3
|
import { AlterRuleChange } from "./rule.base.ts";
|
|
3
4
|
export declare class ReplaceRule extends AlterRuleChange {
|
|
@@ -7,7 +8,7 @@ export declare class ReplaceRule extends AlterRuleChange {
|
|
|
7
8
|
rule: Rule;
|
|
8
9
|
});
|
|
9
10
|
get requires(): string[];
|
|
10
|
-
serialize(): string;
|
|
11
|
+
serialize(_options?: SerializeOptions): string;
|
|
11
12
|
}
|
|
12
13
|
export declare class SetRuleEnabledState extends AlterRuleChange {
|
|
13
14
|
readonly rule: Rule;
|
|
@@ -18,5 +19,5 @@ export declare class SetRuleEnabledState extends AlterRuleChange {
|
|
|
18
19
|
enabled?: RuleEnabledState;
|
|
19
20
|
});
|
|
20
21
|
get requires(): string[];
|
|
21
|
-
serialize(): string;
|
|
22
|
+
serialize(_options?: SerializeOptions): string;
|
|
22
23
|
}
|
|
@@ -15,7 +15,7 @@ export class ReplaceRule extends AlterRuleChange {
|
|
|
15
15
|
...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
|
|
16
16
|
];
|
|
17
17
|
}
|
|
18
|
-
serialize() {
|
|
18
|
+
serialize(_options) {
|
|
19
19
|
return new CreateRule({ rule: this.rule, orReplace: true }).serialize();
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -35,7 +35,7 @@ export class SetRuleEnabledState extends AlterRuleChange {
|
|
|
35
35
|
...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
|
|
36
36
|
];
|
|
37
37
|
}
|
|
38
|
-
serialize() {
|
|
38
|
+
serialize(_options) {
|
|
39
39
|
const clause = clauseForState(this.enabled);
|
|
40
40
|
return `ALTER TABLE ${this.rule.schema}.${this.rule.table_name} ${clause} ${this.rule.name}`;
|
|
41
41
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Rule } from "../rule.model.ts";
|
|
2
3
|
import { CreateRuleChange, DropRuleChange } from "./rule.base.ts";
|
|
3
4
|
export declare class CreateCommentOnRule extends CreateRuleChange {
|
|
@@ -8,7 +9,7 @@ export declare class CreateCommentOnRule extends CreateRuleChange {
|
|
|
8
9
|
});
|
|
9
10
|
get creates(): `comment:${string}`[];
|
|
10
11
|
get requires(): `rule:${string}`[];
|
|
11
|
-
serialize(): string;
|
|
12
|
+
serialize(_options?: SerializeOptions): string;
|
|
12
13
|
}
|
|
13
14
|
export declare class DropCommentOnRule extends DropRuleChange {
|
|
14
15
|
readonly rule: Rule;
|
|
@@ -18,5 +19,5 @@ export declare class DropCommentOnRule extends DropRuleChange {
|
|
|
18
19
|
});
|
|
19
20
|
get drops(): `comment:${string}`[];
|
|
20
21
|
get requires(): (`comment:${string}` | `rule:${string}`)[];
|
|
21
|
-
serialize(): string;
|
|
22
|
+
serialize(_options?: SerializeOptions): string;
|
|
22
23
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnRule extends CreateRuleChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.rule.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON RULE",
|
|
20
20
|
this.rule.name,
|
|
@@ -39,7 +39,7 @@ export class DropCommentOnRule extends DropRuleChange {
|
|
|
39
39
|
get requires() {
|
|
40
40
|
return [stableId.comment(this.rule.stableId), this.rule.stableId];
|
|
41
41
|
}
|
|
42
|
-
serialize() {
|
|
42
|
+
serialize(_options) {
|
|
43
43
|
return [
|
|
44
44
|
"COMMENT ON RULE",
|
|
45
45
|
this.rule.name,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Rule } from "../rule.model.ts";
|
|
2
3
|
import { CreateRuleChange } from "./rule.base.ts";
|
|
3
4
|
export declare class CreateRule extends CreateRuleChange {
|
|
@@ -10,5 +11,5 @@ export declare class CreateRule extends CreateRuleChange {
|
|
|
10
11
|
});
|
|
11
12
|
get creates(): `rule:${string}`[];
|
|
12
13
|
get requires(): string[];
|
|
13
|
-
serialize(): string;
|
|
14
|
+
serialize(_options?: SerializeOptions): string;
|
|
14
15
|
}
|
|
@@ -18,7 +18,7 @@ export class CreateRule extends CreateRuleChange {
|
|
|
18
18
|
...this.rule.columns.map((column) => stableId.column(this.rule.schema, this.rule.table_name, column)),
|
|
19
19
|
];
|
|
20
20
|
}
|
|
21
|
-
serialize() {
|
|
21
|
+
serialize(_options) {
|
|
22
22
|
let definition = this.rule.definition.trim();
|
|
23
23
|
definition = definition.replace(/^CREATE\s+(?:OR\s+REPLACE\s+)?/i, `CREATE ${this.orReplace ? "OR REPLACE " : ""}`);
|
|
24
24
|
// Remove trailing semicolons (pg_get_ruledef includes them, but we add our own)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Rule } from "../rule.model.ts";
|
|
2
3
|
import { DropRuleChange } from "./rule.base.ts";
|
|
3
4
|
export declare class DropRule extends DropRuleChange {
|
|
@@ -8,5 +9,5 @@ export declare class DropRule extends DropRuleChange {
|
|
|
8
9
|
});
|
|
9
10
|
get drops(): `rule:${string}`[];
|
|
10
11
|
get requires(): string[];
|
|
11
|
-
serialize(): string;
|
|
12
|
+
serialize(_options?: SerializeOptions): string;
|
|
12
13
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Schema } from "../schema.model.ts";
|
|
2
3
|
import { AlterSchemaChange } from "./schema.base.ts";
|
|
3
4
|
/**
|
|
@@ -24,7 +25,7 @@ export declare class AlterSchemaChangeOwner extends AlterSchemaChange {
|
|
|
24
25
|
owner: string;
|
|
25
26
|
});
|
|
26
27
|
get requires(): `schema:${string}`[];
|
|
27
|
-
serialize(): string;
|
|
28
|
+
serialize(_options?: SerializeOptions): string;
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
31
|
* Replace a schema by dropping and recreating it.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Schema } from "../schema.model.ts";
|
|
2
3
|
import { CreateSchemaChange, DropSchemaChange } from "./schema.base.ts";
|
|
3
4
|
export type CommentSchema = CreateCommentOnSchema | DropCommentOnSchema;
|
|
@@ -9,7 +10,7 @@ export declare class CreateCommentOnSchema extends CreateSchemaChange {
|
|
|
9
10
|
});
|
|
10
11
|
get creates(): `comment:${string}`[];
|
|
11
12
|
get requires(): `schema:${string}`[];
|
|
12
|
-
serialize(): string;
|
|
13
|
+
serialize(_options?: SerializeOptions): string;
|
|
13
14
|
}
|
|
14
15
|
export declare class DropCommentOnSchema extends DropSchemaChange {
|
|
15
16
|
readonly schema: Schema;
|
|
@@ -19,5 +20,5 @@ export declare class DropCommentOnSchema extends DropSchemaChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `comment:${string}`[];
|
|
21
22
|
get requires(): (`schema:${string}` | `comment:${string}`)[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnSchema extends CreateSchemaChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.schema.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON SCHEMA",
|
|
20
20
|
this.schema.name,
|
|
@@ -37,7 +37,7 @@ export class DropCommentOnSchema extends DropSchemaChange {
|
|
|
37
37
|
get requires() {
|
|
38
38
|
return [stableId.comment(this.schema.stableId), this.schema.stableId];
|
|
39
39
|
}
|
|
40
|
-
serialize() {
|
|
40
|
+
serialize(_options) {
|
|
41
41
|
return ["COMMENT ON SCHEMA", this.schema.name, "IS NULL"].join(" ");
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SchemaSerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Schema } from "../schema.model.ts";
|
|
2
3
|
import { CreateSchemaChange } from "./schema.base.ts";
|
|
3
4
|
/**
|
|
@@ -17,11 +18,8 @@ export declare class CreateSchema extends CreateSchemaChange {
|
|
|
17
18
|
readonly scope: "object";
|
|
18
19
|
constructor(props: {
|
|
19
20
|
schema: Schema;
|
|
20
|
-
|
|
21
|
-
});
|
|
21
|
+
} & SchemaSerializeOptions);
|
|
22
22
|
get creates(): `schema:${string}`[];
|
|
23
23
|
get requires(): `role:${string}`[];
|
|
24
|
-
serialize(options?:
|
|
25
|
-
skipAuthorization?: boolean;
|
|
26
|
-
}): string;
|
|
24
|
+
serialize(options?: SchemaSerializeOptions): string;
|
|
27
25
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Schema } from "../schema.model.ts";
|
|
2
3
|
import { DropSchemaChange } from "./schema.base.ts";
|
|
3
4
|
/**
|
|
@@ -18,5 +19,5 @@ export declare class DropSchema extends DropSchemaChange {
|
|
|
18
19
|
});
|
|
19
20
|
get drops(): `schema:${string}`[];
|
|
20
21
|
get requires(): `schema:${string}`[];
|
|
21
|
-
serialize(): string;
|
|
22
|
+
serialize(_options?: SerializeOptions): string;
|
|
22
23
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Schema } from "../schema.model.ts";
|
|
2
3
|
import { AlterSchemaChange } from "./schema.base.ts";
|
|
3
4
|
export type SchemaPrivilege = GrantSchemaPrivileges | RevokeSchemaPrivileges | RevokeGrantOptionSchemaPrivileges;
|
|
@@ -34,7 +35,7 @@ export declare class GrantSchemaPrivileges extends AlterSchemaChange {
|
|
|
34
35
|
});
|
|
35
36
|
get creates(): `acl:${string}::grantee:${string}`[];
|
|
36
37
|
get requires(): (`schema:${string}` | `role:${string}`)[];
|
|
37
|
-
serialize(): string;
|
|
38
|
+
serialize(_options?: SerializeOptions): string;
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
41
|
* Revoke privileges on a schema.
|
|
@@ -71,7 +72,7 @@ export declare class RevokeSchemaPrivileges extends AlterSchemaChange {
|
|
|
71
72
|
});
|
|
72
73
|
get drops(): `acl:${string}::grantee:${string}`[];
|
|
73
74
|
get requires(): (`schema:${string}` | `acl:${string}::grantee:${string}` | `role:${string}`)[];
|
|
74
|
-
serialize(): string;
|
|
75
|
+
serialize(_options?: SerializeOptions): string;
|
|
75
76
|
}
|
|
76
77
|
/**
|
|
77
78
|
* Revoke grant option for privileges on a schema.
|
|
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionSchemaPrivileges extends AlterSchemaChange
|
|
|
93
94
|
version?: number;
|
|
94
95
|
});
|
|
95
96
|
get requires(): (`schema:${string}` | `acl:${string}::grantee:${string}` | `role:${string}`)[];
|
|
96
|
-
serialize(): string;
|
|
97
|
+
serialize(_options?: SerializeOptions): string;
|
|
97
98
|
}
|
|
@@ -33,7 +33,7 @@ export class GrantSchemaPrivileges extends AlterSchemaChange {
|
|
|
33
33
|
get requires() {
|
|
34
34
|
return [this.schema.stableId, stableId.role(this.grantee)];
|
|
35
35
|
}
|
|
36
|
-
serialize() {
|
|
36
|
+
serialize(_options) {
|
|
37
37
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
38
38
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
39
39
|
if (hasGrantable && hasBase) {
|
|
@@ -87,7 +87,7 @@ export class RevokeSchemaPrivileges extends AlterSchemaChange {
|
|
|
87
87
|
stableId.role(this.grantee),
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
|
-
serialize() {
|
|
90
|
+
serialize(_options) {
|
|
91
91
|
const kindPrefix = getObjectKindPrefix("SCHEMA");
|
|
92
92
|
const list = this.privileges.map((p) => p.privilege);
|
|
93
93
|
const privSql = formatObjectPrivilegeList("SCHEMA", list, this.version);
|
|
@@ -122,7 +122,7 @@ export class RevokeGrantOptionSchemaPrivileges extends AlterSchemaChange {
|
|
|
122
122
|
stableId.role(this.grantee),
|
|
123
123
|
];
|
|
124
124
|
}
|
|
125
|
-
serialize() {
|
|
125
|
+
serialize(_options) {
|
|
126
126
|
const kindPrefix = getObjectKindPrefix("SCHEMA");
|
|
127
127
|
const privSql = formatObjectPrivilegeList("SCHEMA", this.privilegeNames, this.version);
|
|
128
128
|
const schemaName = this.schema.name;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Sequence } from "../sequence.model.ts";
|
|
2
3
|
import { AlterSequenceChange } from "./sequence.base.ts";
|
|
3
4
|
/**
|
|
@@ -35,7 +36,7 @@ export declare class AlterSequenceSetOwnedBy extends AlterSequenceChange {
|
|
|
35
36
|
});
|
|
36
37
|
get creates(): never[];
|
|
37
38
|
get requires(): (`column:${string}.${string}.${string}` | `sequence:${string}`)[];
|
|
38
|
-
serialize(): string;
|
|
39
|
+
serialize(_options?: SerializeOptions): string;
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
42
|
* ALTER SEQUENCE ... set options ...
|
|
@@ -51,7 +52,7 @@ export declare class AlterSequenceSetOptions extends AlterSequenceChange {
|
|
|
51
52
|
});
|
|
52
53
|
get creates(): never[];
|
|
53
54
|
get requires(): `sequence:${string}`[];
|
|
54
|
-
serialize(): string;
|
|
55
|
+
serialize(_options?: SerializeOptions): string;
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
58
|
* Replace a sequence by dropping and recreating it.
|
|
@@ -25,7 +25,7 @@ export class AlterSequenceSetOwnedBy extends AlterSequenceChange {
|
|
|
25
25
|
: []),
|
|
26
26
|
];
|
|
27
27
|
}
|
|
28
|
-
serialize() {
|
|
28
|
+
serialize(_options) {
|
|
29
29
|
const head = [
|
|
30
30
|
"ALTER SEQUENCE",
|
|
31
31
|
`${this.sequence.schema}.${this.sequence.name}`,
|
|
@@ -60,7 +60,7 @@ export class AlterSequenceSetOptions extends AlterSequenceChange {
|
|
|
60
60
|
return [this.sequence.stableId];
|
|
61
61
|
}
|
|
62
62
|
// Note: default max computation moved to diff when building options
|
|
63
|
-
serialize() {
|
|
63
|
+
serialize(_options) {
|
|
64
64
|
const parts = [
|
|
65
65
|
"ALTER SEQUENCE",
|
|
66
66
|
`${this.sequence.schema}.${this.sequence.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Sequence } from "../sequence.model.ts";
|
|
2
3
|
import { CreateSequenceChange, DropSequenceChange } from "./sequence.base.ts";
|
|
3
4
|
export type CommentSequence = CreateCommentOnSequence | DropCommentOnSequence;
|
|
@@ -9,7 +10,7 @@ export declare class CreateCommentOnSequence extends CreateSequenceChange {
|
|
|
9
10
|
});
|
|
10
11
|
get creates(): `comment:${string}`[];
|
|
11
12
|
get requires(): `sequence:${string}`[];
|
|
12
|
-
serialize(): string;
|
|
13
|
+
serialize(_options?: SerializeOptions): string;
|
|
13
14
|
}
|
|
14
15
|
export declare class DropCommentOnSequence extends DropSequenceChange {
|
|
15
16
|
readonly sequence: Sequence;
|
|
@@ -19,5 +20,5 @@ export declare class DropCommentOnSequence extends DropSequenceChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `comment:${string}`[];
|
|
21
22
|
get requires(): (`comment:${string}` | `sequence:${string}`)[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnSequence extends CreateSequenceChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.sequence.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON SEQUENCE",
|
|
20
20
|
`${this.sequence.schema}.${this.sequence.name}`,
|
|
@@ -37,7 +37,7 @@ export class DropCommentOnSequence extends DropSequenceChange {
|
|
|
37
37
|
get requires() {
|
|
38
38
|
return [stableId.comment(this.sequence.stableId), this.sequence.stableId];
|
|
39
39
|
}
|
|
40
|
-
serialize() {
|
|
40
|
+
serialize(_options) {
|
|
41
41
|
return [
|
|
42
42
|
"COMMENT ON SEQUENCE",
|
|
43
43
|
`${this.sequence.schema}.${this.sequence.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Sequence } from "../sequence.model.ts";
|
|
2
3
|
import { CreateSequenceChange } from "./sequence.base.ts";
|
|
3
4
|
/**
|
|
@@ -21,5 +22,5 @@ export declare class CreateSequence extends CreateSequenceChange {
|
|
|
21
22
|
});
|
|
22
23
|
get creates(): `sequence:${string}`[];
|
|
23
24
|
get requires(): string[];
|
|
24
|
-
serialize(): string;
|
|
25
|
+
serialize(_options?: SerializeOptions): string;
|
|
25
26
|
}
|
|
@@ -38,7 +38,7 @@ export class CreateSequence extends CreateSequenceChange {
|
|
|
38
38
|
}
|
|
39
39
|
return Array.from(dependencies);
|
|
40
40
|
}
|
|
41
|
-
serialize() {
|
|
41
|
+
serialize(_options) {
|
|
42
42
|
const parts = ["CREATE SEQUENCE"];
|
|
43
43
|
// Add schema and name
|
|
44
44
|
parts.push(`${this.sequence.schema}.${this.sequence.name}`);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Sequence } from "../sequence.model.ts";
|
|
2
3
|
import { DropSequenceChange } from "./sequence.base.ts";
|
|
3
4
|
/**
|
|
@@ -18,5 +19,5 @@ export declare class DropSequence extends DropSequenceChange {
|
|
|
18
19
|
});
|
|
19
20
|
get drops(): `sequence:${string}`[];
|
|
20
21
|
get requires(): `sequence:${string}`[];
|
|
21
|
-
serialize(): string;
|
|
22
|
+
serialize(_options?: SerializeOptions): string;
|
|
22
23
|
}
|
|
@@ -22,10 +22,18 @@ export class DropSequence extends DropSequenceChange {
|
|
|
22
22
|
get requires() {
|
|
23
23
|
return [this.sequence.stableId];
|
|
24
24
|
}
|
|
25
|
-
serialize() {
|
|
26
|
-
|
|
25
|
+
serialize(_options) {
|
|
26
|
+
const parts = [
|
|
27
27
|
"DROP SEQUENCE",
|
|
28
28
|
`${this.sequence.schema}.${this.sequence.name}`,
|
|
29
|
-
]
|
|
29
|
+
];
|
|
30
|
+
// Owned sequences still need CASCADE here because DROP runs in the earlier
|
|
31
|
+
// phase and later ALTER TABLE statements will re-establish the desired default.
|
|
32
|
+
if (this.sequence.owned_by_schema &&
|
|
33
|
+
this.sequence.owned_by_table &&
|
|
34
|
+
this.sequence.owned_by_column) {
|
|
35
|
+
parts.push("CASCADE");
|
|
36
|
+
}
|
|
37
|
+
return parts.join(" ");
|
|
30
38
|
}
|
|
31
39
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Sequence } from "../sequence.model.ts";
|
|
2
3
|
import { AlterSequenceChange } from "./sequence.base.ts";
|
|
3
4
|
export type SequencePrivilege = GrantSequencePrivileges | RevokeSequencePrivileges | RevokeGrantOptionSequencePrivileges;
|
|
@@ -36,7 +37,7 @@ export declare class GrantSequencePrivileges extends AlterSequenceChange {
|
|
|
36
37
|
});
|
|
37
38
|
get creates(): `acl:${string}::grantee:${string}`[];
|
|
38
39
|
get requires(): (`role:${string}` | `sequence:${string}`)[];
|
|
39
|
-
serialize(): string;
|
|
40
|
+
serialize(_options?: SerializeOptions): string;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* Revoke privileges on a sequence.
|
|
@@ -75,7 +76,7 @@ export declare class RevokeSequencePrivileges extends AlterSequenceChange {
|
|
|
75
76
|
});
|
|
76
77
|
get drops(): `acl:${string}::grantee:${string}`[];
|
|
77
78
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `sequence:${string}`)[];
|
|
78
|
-
serialize(): string;
|
|
79
|
+
serialize(_options?: SerializeOptions): string;
|
|
79
80
|
}
|
|
80
81
|
/**
|
|
81
82
|
* Revoke grant option for privileges on a sequence.
|
|
@@ -97,5 +98,5 @@ export declare class RevokeGrantOptionSequencePrivileges extends AlterSequenceCh
|
|
|
97
98
|
version?: number;
|
|
98
99
|
});
|
|
99
100
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `sequence:${string}`)[];
|
|
100
|
-
serialize(): string;
|
|
101
|
+
serialize(_options?: SerializeOptions): string;
|
|
101
102
|
}
|
|
@@ -35,7 +35,7 @@ export class GrantSequencePrivileges extends AlterSequenceChange {
|
|
|
35
35
|
get requires() {
|
|
36
36
|
return [this.sequence.stableId, stableId.role(this.grantee)];
|
|
37
37
|
}
|
|
38
|
-
serialize() {
|
|
38
|
+
serialize(_options) {
|
|
39
39
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
40
40
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
41
41
|
if (hasGrantable && hasBase) {
|
|
@@ -91,7 +91,7 @@ export class RevokeSequencePrivileges extends AlterSequenceChange {
|
|
|
91
91
|
stableId.role(this.grantee),
|
|
92
92
|
];
|
|
93
93
|
}
|
|
94
|
-
serialize() {
|
|
94
|
+
serialize(_options) {
|
|
95
95
|
const kindPrefix = getObjectKindPrefix("SEQUENCE");
|
|
96
96
|
const list = this.privileges.map((p) => p.privilege);
|
|
97
97
|
const privSql = formatObjectPrivilegeList("SEQUENCE", list, this.version);
|
|
@@ -126,7 +126,7 @@ export class RevokeGrantOptionSequencePrivileges extends AlterSequenceChange {
|
|
|
126
126
|
stableId.role(this.grantee),
|
|
127
127
|
];
|
|
128
128
|
}
|
|
129
|
-
serialize() {
|
|
129
|
+
serialize(_options) {
|
|
130
130
|
const kindPrefix = getObjectKindPrefix("SEQUENCE");
|
|
131
131
|
const privSql = formatObjectPrivilegeList("SEQUENCE", this.privilegeNames, this.version);
|
|
132
132
|
const sequenceName = `${this.sequence.schema}.${this.sequence.name}`;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { ObjectDiffContext } from "../diff-context.ts";
|
|
2
|
+
import { AlterTableAlterColumnSetDefault } from "../table/changes/table.alter.ts";
|
|
2
3
|
import type { Table } from "../table/table.model.ts";
|
|
3
4
|
import type { SequenceChange } from "./changes/sequence.types.ts";
|
|
4
5
|
import type { Sequence } from "./sequence.model.ts";
|
|
6
|
+
type SequenceOrColumnSetDefaultChange = AlterTableAlterColumnSetDefault | SequenceChange;
|
|
5
7
|
/**
|
|
6
8
|
* Diff two sets of sequences from main and branch catalogs.
|
|
7
9
|
*
|
|
@@ -11,4 +13,5 @@ import type { Sequence } from "./sequence.model.ts";
|
|
|
11
13
|
* @param branchTables - The tables in the branch catalog (used to check if owning tables are being dropped).
|
|
12
14
|
* @returns A list of changes to apply to main to make it match branch.
|
|
13
15
|
*/
|
|
14
|
-
export declare function diffSequences(ctx: Pick<ObjectDiffContext, "version" | "currentUser" | "defaultPrivilegeState">, main: Record<string, Sequence>, branch: Record<string, Sequence>, branchTables?: Record<string, Table>):
|
|
16
|
+
export declare function diffSequences(ctx: Pick<ObjectDiffContext, "version" | "currentUser" | "defaultPrivilegeState">, main: Record<string, Sequence>, branch: Record<string, Sequence>, branchTables?: Record<string, Table>): SequenceOrColumnSetDefaultChange[];
|
|
17
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { diffObjects } from "../base.diff.js";
|
|
2
2
|
import { diffPrivileges, emitObjectPrivilegeChanges, } from "../base.privilege-diff.js";
|
|
3
|
+
import { AlterTableAlterColumnSetDefault } from "../table/changes/table.alter.js";
|
|
3
4
|
import { hasNonAlterableChanges } from "../utils.js";
|
|
4
5
|
import { AlterSequenceSetOptions, AlterSequenceSetOwnedBy, } from "./changes/sequence.alter.js";
|
|
5
6
|
import { CreateCommentOnSequence, DropCommentOnSequence, } from "./changes/sequence.comment.js";
|
|
@@ -90,6 +91,9 @@ export function diffSequences(ctx, main, branch, branchTables = {}) {
|
|
|
90
91
|
if (branchSequence.owned_by_schema !== null &&
|
|
91
92
|
branchSequence.owned_by_table !== null &&
|
|
92
93
|
branchSequence.owned_by_column !== null) {
|
|
94
|
+
const ownedByTableId = `table:${branchSequence.owned_by_schema}.${branchSequence.owned_by_table}`;
|
|
95
|
+
const ownedByTable = branchTables[ownedByTableId];
|
|
96
|
+
const ownedByColumn = ownedByTable?.columns?.find((column) => column.name === branchSequence.owned_by_column);
|
|
93
97
|
changes.push(new AlterSequenceSetOwnedBy({
|
|
94
98
|
sequence: branchSequence,
|
|
95
99
|
ownedBy: {
|
|
@@ -98,6 +102,14 @@ export function diffSequences(ctx, main, branch, branchTables = {}) {
|
|
|
98
102
|
column: branchSequence.owned_by_column,
|
|
99
103
|
},
|
|
100
104
|
}));
|
|
105
|
+
// Replacing an owned sequence with DROP ... CASCADE removes the column's
|
|
106
|
+
// existing nextval(...) default, so restore it after ownership is reattached.
|
|
107
|
+
if (ownedByTable && ownedByColumn && ownedByColumn.default !== null) {
|
|
108
|
+
changes.push(new AlterTableAlterColumnSetDefault({
|
|
109
|
+
table: ownedByTable,
|
|
110
|
+
column: ownedByColumn,
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
101
113
|
}
|
|
102
114
|
else if (mainSequence.owned_by_schema !== null ||
|
|
103
115
|
mainSequence.owned_by_table !== null ||
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Subscription } from "../subscription.model.ts";
|
|
2
3
|
import { type SubscriptionSettableOption } from "../utils.ts";
|
|
3
4
|
import { AlterSubscriptionChange } from "./subscription.base.ts";
|
|
@@ -7,7 +8,7 @@ export declare class AlterSubscriptionSetConnection extends AlterSubscriptionCha
|
|
|
7
8
|
constructor(props: {
|
|
8
9
|
subscription: Subscription;
|
|
9
10
|
});
|
|
10
|
-
serialize(): string;
|
|
11
|
+
serialize(_options?: SerializeOptions): string;
|
|
11
12
|
}
|
|
12
13
|
export declare class AlterSubscriptionSetPublication extends AlterSubscriptionChange {
|
|
13
14
|
readonly subscription: Subscription;
|
|
@@ -15,7 +16,7 @@ export declare class AlterSubscriptionSetPublication extends AlterSubscriptionCh
|
|
|
15
16
|
constructor(props: {
|
|
16
17
|
subscription: Subscription;
|
|
17
18
|
});
|
|
18
|
-
serialize(): string;
|
|
19
|
+
serialize(_options?: SerializeOptions): string;
|
|
19
20
|
}
|
|
20
21
|
export declare class AlterSubscriptionEnable extends AlterSubscriptionChange {
|
|
21
22
|
readonly subscription: Subscription;
|
|
@@ -23,7 +24,7 @@ export declare class AlterSubscriptionEnable extends AlterSubscriptionChange {
|
|
|
23
24
|
constructor(props: {
|
|
24
25
|
subscription: Subscription;
|
|
25
26
|
});
|
|
26
|
-
serialize(): string;
|
|
27
|
+
serialize(_options?: SerializeOptions): string;
|
|
27
28
|
}
|
|
28
29
|
export declare class AlterSubscriptionDisable extends AlterSubscriptionChange {
|
|
29
30
|
readonly subscription: Subscription;
|
|
@@ -31,7 +32,7 @@ export declare class AlterSubscriptionDisable extends AlterSubscriptionChange {
|
|
|
31
32
|
constructor(props: {
|
|
32
33
|
subscription: Subscription;
|
|
33
34
|
});
|
|
34
|
-
serialize(): string;
|
|
35
|
+
serialize(_options?: SerializeOptions): string;
|
|
35
36
|
}
|
|
36
37
|
export declare class AlterSubscriptionSetOptions extends AlterSubscriptionChange {
|
|
37
38
|
readonly subscription: Subscription;
|
|
@@ -41,7 +42,7 @@ export declare class AlterSubscriptionSetOptions extends AlterSubscriptionChange
|
|
|
41
42
|
subscription: Subscription;
|
|
42
43
|
options: SubscriptionSettableOption[];
|
|
43
44
|
});
|
|
44
|
-
serialize(): string;
|
|
45
|
+
serialize(_options?: SerializeOptions): string;
|
|
45
46
|
}
|
|
46
47
|
export declare class AlterSubscriptionSetOwner extends AlterSubscriptionChange {
|
|
47
48
|
readonly subscription: Subscription;
|
|
@@ -52,5 +53,5 @@ export declare class AlterSubscriptionSetOwner extends AlterSubscriptionChange {
|
|
|
52
53
|
owner: string;
|
|
53
54
|
});
|
|
54
55
|
get requires(): `role:${string}`[];
|
|
55
|
-
serialize(): string;
|
|
56
|
+
serialize(_options?: SerializeOptions): string;
|
|
56
57
|
}
|