@supabase/pg-delta 1.0.0-alpha.11 → 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/core/expand-replace-dependencies.js +23 -0
- 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/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/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/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/sort/custom-constraints.ts +74 -0
- package/src/typedoc.ts +5 -0
|
@@ -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
|
}
|
|
@@ -9,7 +9,7 @@ export class AlterSubscriptionSetConnection extends AlterSubscriptionChange {
|
|
|
9
9
|
super();
|
|
10
10
|
this.subscription = props.subscription;
|
|
11
11
|
}
|
|
12
|
-
serialize() {
|
|
12
|
+
serialize(_options) {
|
|
13
13
|
return `ALTER SUBSCRIPTION ${this.subscription.name} CONNECTION ${quoteLiteral(this.subscription.conninfo)}`;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -20,7 +20,7 @@ export class AlterSubscriptionSetPublication extends AlterSubscriptionChange {
|
|
|
20
20
|
super();
|
|
21
21
|
this.subscription = props.subscription;
|
|
22
22
|
}
|
|
23
|
-
serialize() {
|
|
23
|
+
serialize(_options) {
|
|
24
24
|
const base = `ALTER SUBSCRIPTION ${this.subscription.name} SET PUBLICATION ${this.subscription.publications.join(", ")}`;
|
|
25
25
|
if (!this.subscription.enabled) {
|
|
26
26
|
return `${base} WITH (refresh = false)`;
|
|
@@ -35,7 +35,7 @@ export class AlterSubscriptionEnable extends AlterSubscriptionChange {
|
|
|
35
35
|
super();
|
|
36
36
|
this.subscription = props.subscription;
|
|
37
37
|
}
|
|
38
|
-
serialize() {
|
|
38
|
+
serialize(_options) {
|
|
39
39
|
return `ALTER SUBSCRIPTION ${this.subscription.name} ENABLE`;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -46,7 +46,7 @@ export class AlterSubscriptionDisable extends AlterSubscriptionChange {
|
|
|
46
46
|
super();
|
|
47
47
|
this.subscription = props.subscription;
|
|
48
48
|
}
|
|
49
|
-
serialize() {
|
|
49
|
+
serialize(_options) {
|
|
50
50
|
return `ALTER SUBSCRIPTION ${this.subscription.name} DISABLE`;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -59,7 +59,7 @@ export class AlterSubscriptionSetOptions extends AlterSubscriptionChange {
|
|
|
59
59
|
this.subscription = props.subscription;
|
|
60
60
|
this.options = props.options;
|
|
61
61
|
}
|
|
62
|
-
serialize() {
|
|
62
|
+
serialize(_options) {
|
|
63
63
|
const assignments = this.options.map((option) => formatSubscriptionOption(this.subscription, option));
|
|
64
64
|
return `ALTER SUBSCRIPTION ${this.subscription.name} SET (${assignments.join(", ")})`;
|
|
65
65
|
}
|
|
@@ -76,7 +76,7 @@ export class AlterSubscriptionSetOwner extends AlterSubscriptionChange {
|
|
|
76
76
|
get requires() {
|
|
77
77
|
return [stableId.role(this.owner)];
|
|
78
78
|
}
|
|
79
|
-
serialize() {
|
|
79
|
+
serialize(_options) {
|
|
80
80
|
return `ALTER SUBSCRIPTION ${this.subscription.name} OWNER TO ${this.owner}`;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -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 { CreateSubscriptionChange, DropSubscriptionChange } from "./subscription.base.ts";
|
|
3
4
|
export type CommentSubscription = CreateCommentOnSubscription | DropCommentOnSubscription;
|
|
@@ -9,7 +10,7 @@ export declare class CreateCommentOnSubscription extends CreateSubscriptionChang
|
|
|
9
10
|
});
|
|
10
11
|
get creates(): `comment:${string}`[];
|
|
11
12
|
get requires(): `subscription:${string}`[];
|
|
12
|
-
serialize(): string;
|
|
13
|
+
serialize(_options?: SerializeOptions): string;
|
|
13
14
|
}
|
|
14
15
|
export declare class DropCommentOnSubscription extends DropSubscriptionChange {
|
|
15
16
|
readonly subscription: Subscription;
|
|
@@ -19,5 +20,5 @@ export declare class DropCommentOnSubscription extends DropSubscriptionChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `comment:${string}`[];
|
|
21
22
|
get requires(): (`comment:${string}` | `subscription:${string}`)[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnSubscription extends CreateSubscriptionChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.subscription.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON SUBSCRIPTION",
|
|
20
20
|
this.subscription.name,
|
|
@@ -40,7 +40,7 @@ export class DropCommentOnSubscription extends DropSubscriptionChange {
|
|
|
40
40
|
this.subscription.stableId,
|
|
41
41
|
];
|
|
42
42
|
}
|
|
43
|
-
serialize() {
|
|
43
|
+
serialize(_options) {
|
|
44
44
|
return `COMMENT ON SUBSCRIPTION ${this.subscription.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 { Subscription } from "../subscription.model.ts";
|
|
2
3
|
import { CreateSubscriptionChange } from "./subscription.base.ts";
|
|
3
4
|
export declare class CreateSubscription extends CreateSubscriptionChange {
|
|
@@ -8,5 +9,5 @@ export declare class CreateSubscription extends CreateSubscriptionChange {
|
|
|
8
9
|
});
|
|
9
10
|
get creates(): `subscription:${string}`[];
|
|
10
11
|
get requires(): `role:${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 { Subscription } from "../subscription.model.ts";
|
|
2
3
|
import { DropSubscriptionChange } from "./subscription.base.ts";
|
|
3
4
|
export declare class DropSubscription extends DropSubscriptionChange {
|
|
@@ -7,5 +8,5 @@ export declare class DropSubscription extends DropSubscriptionChange {
|
|
|
7
8
|
subscription: Subscription;
|
|
8
9
|
});
|
|
9
10
|
get drops(): `subscription:${string}`[];
|
|
10
|
-
serialize(): string;
|
|
11
|
+
serialize(_options?: SerializeOptions): string;
|
|
11
12
|
}
|