@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
|
@@ -33,7 +33,7 @@ export class GrantCompositeTypePrivileges extends AlterCompositeTypeChange {
|
|
|
33
33
|
get requires() {
|
|
34
34
|
return [this.compositeType.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 RevokeCompositeTypePrivileges extends AlterCompositeTypeChange {
|
|
|
87
87
|
stableId.role(this.grantee),
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
|
-
serialize() {
|
|
90
|
+
serialize(_options) {
|
|
91
91
|
const kindPrefix = getObjectKindPrefix("TYPE");
|
|
92
92
|
const list = this.privileges.map((p) => p.privilege);
|
|
93
93
|
const privSql = formatObjectPrivilegeList("TYPE", list, this.version);
|
|
@@ -122,7 +122,7 @@ export class RevokeGrantOptionCompositeTypePrivileges extends AlterCompositeType
|
|
|
122
122
|
stableId.role(this.grantee),
|
|
123
123
|
];
|
|
124
124
|
}
|
|
125
|
-
serialize() {
|
|
125
|
+
serialize(_options) {
|
|
126
126
|
const kindPrefix = getObjectKindPrefix("TYPE");
|
|
127
127
|
const privSql = formatObjectPrivilegeList("TYPE", this.privilegeNames, this.version);
|
|
128
128
|
const typeName = `${this.compositeType.schema}.${this.compositeType.name}`;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Enum } from "../enum.model.ts";
|
|
2
3
|
import { AlterEnumChange } from "./enum.base.ts";
|
|
3
4
|
/**
|
|
@@ -26,7 +27,7 @@ export declare class AlterEnumChangeOwner extends AlterEnumChange {
|
|
|
26
27
|
owner: string;
|
|
27
28
|
});
|
|
28
29
|
get requires(): `type:${string}`[];
|
|
29
|
-
serialize(): string;
|
|
30
|
+
serialize(_options?: SerializeOptions): string;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
33
|
* ALTER TYPE ... ADD VALUE ...
|
|
@@ -48,5 +49,5 @@ export declare class AlterEnumAddValue extends AlterEnumChange {
|
|
|
48
49
|
};
|
|
49
50
|
});
|
|
50
51
|
get requires(): `type:${string}`[];
|
|
51
|
-
serialize(): string;
|
|
52
|
+
serialize(_options?: SerializeOptions): string;
|
|
52
53
|
}
|
|
@@ -15,7 +15,7 @@ export class AlterEnumChangeOwner extends AlterEnumChange {
|
|
|
15
15
|
get requires() {
|
|
16
16
|
return [this.enum.stableId];
|
|
17
17
|
}
|
|
18
|
-
serialize() {
|
|
18
|
+
serialize(_options) {
|
|
19
19
|
return [
|
|
20
20
|
"ALTER TYPE",
|
|
21
21
|
`${this.enum.schema}.${this.enum.name}`,
|
|
@@ -41,7 +41,7 @@ export class AlterEnumAddValue extends AlterEnumChange {
|
|
|
41
41
|
get requires() {
|
|
42
42
|
return [this.enum.stableId];
|
|
43
43
|
}
|
|
44
|
-
serialize() {
|
|
44
|
+
serialize(_options) {
|
|
45
45
|
const parts = [
|
|
46
46
|
"ALTER TYPE",
|
|
47
47
|
`${this.enum.schema}.${this.enum.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Enum } from "../enum.model.ts";
|
|
2
3
|
import { CreateEnumChange, DropEnumChange } from "./enum.base.ts";
|
|
3
4
|
/**
|
|
@@ -12,7 +13,7 @@ export declare class CreateCommentOnEnum extends CreateEnumChange {
|
|
|
12
13
|
});
|
|
13
14
|
get creates(): `comment:${string}`[];
|
|
14
15
|
get requires(): `type:${string}`[];
|
|
15
|
-
serialize(): string;
|
|
16
|
+
serialize(_options?: SerializeOptions): string;
|
|
16
17
|
}
|
|
17
18
|
export declare class DropCommentOnEnum extends DropEnumChange {
|
|
18
19
|
readonly enum: Enum;
|
|
@@ -22,5 +23,5 @@ export declare class DropCommentOnEnum extends DropEnumChange {
|
|
|
22
23
|
});
|
|
23
24
|
get drops(): `comment:${string}`[];
|
|
24
25
|
get requires(): (`comment:${string}` | `type:${string}`)[];
|
|
25
|
-
serialize(): string;
|
|
26
|
+
serialize(_options?: SerializeOptions): string;
|
|
26
27
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnEnum extends CreateEnumChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.enum.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON TYPE",
|
|
20
20
|
`${this.enum.schema}.${this.enum.name}`,
|
|
@@ -37,7 +37,7 @@ export class DropCommentOnEnum extends DropEnumChange {
|
|
|
37
37
|
get requires() {
|
|
38
38
|
return [stableId.comment(this.enum.stableId), this.enum.stableId];
|
|
39
39
|
}
|
|
40
|
-
serialize() {
|
|
40
|
+
serialize(_options) {
|
|
41
41
|
return [
|
|
42
42
|
"COMMENT ON TYPE",
|
|
43
43
|
`${this.enum.schema}.${this.enum.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Enum } from "../enum.model.ts";
|
|
2
3
|
import { CreateEnumChange } from "./enum.base.ts";
|
|
3
4
|
/**
|
|
@@ -18,5 +19,5 @@ export declare class CreateEnum extends CreateEnumChange {
|
|
|
18
19
|
});
|
|
19
20
|
get creates(): `type:${string}`[];
|
|
20
21
|
get requires(): string[];
|
|
21
|
-
serialize(): string;
|
|
22
|
+
serialize(_options?: SerializeOptions): string;
|
|
22
23
|
}
|
|
@@ -29,7 +29,7 @@ export class CreateEnum extends CreateEnumChange {
|
|
|
29
29
|
dependencies.add(stableId.role(this.enum.owner));
|
|
30
30
|
return Array.from(dependencies);
|
|
31
31
|
}
|
|
32
|
-
serialize() {
|
|
32
|
+
serialize(_options) {
|
|
33
33
|
const parts = ["CREATE TYPE"];
|
|
34
34
|
// Add schema and name
|
|
35
35
|
parts.push(`${this.enum.schema}.${this.enum.name}`);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Enum } from "../enum.model.ts";
|
|
2
3
|
import { DropEnumChange } from "./enum.base.ts";
|
|
3
4
|
/**
|
|
@@ -18,5 +19,5 @@ export declare class DropEnum extends DropEnumChange {
|
|
|
18
19
|
});
|
|
19
20
|
get drops(): `type:${string}`[];
|
|
20
21
|
get requires(): `type:${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 { Enum } from "../enum.model.ts";
|
|
2
3
|
import { AlterEnumChange } from "./enum.base.ts";
|
|
3
4
|
export type EnumPrivilege = GrantEnumPrivileges | RevokeEnumPrivileges | RevokeGrantOptionEnumPrivileges;
|
|
@@ -34,7 +35,7 @@ export declare class GrantEnumPrivileges extends AlterEnumChange {
|
|
|
34
35
|
});
|
|
35
36
|
get creates(): `acl:${string}::grantee:${string}`[];
|
|
36
37
|
get requires(): (`role:${string}` | `type:${string}`)[];
|
|
37
|
-
serialize(): string;
|
|
38
|
+
serialize(_options?: SerializeOptions): string;
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
41
|
* Revoke privileges on an enum type.
|
|
@@ -71,7 +72,7 @@ export declare class RevokeEnumPrivileges extends AlterEnumChange {
|
|
|
71
72
|
});
|
|
72
73
|
get drops(): `acl:${string}::grantee:${string}`[];
|
|
73
74
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `type:${string}`)[];
|
|
74
|
-
serialize(): string;
|
|
75
|
+
serialize(_options?: SerializeOptions): string;
|
|
75
76
|
}
|
|
76
77
|
/**
|
|
77
78
|
* Revoke grant option for privileges on an enum type.
|
|
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionEnumPrivileges extends AlterEnumChange {
|
|
|
93
94
|
version?: number;
|
|
94
95
|
});
|
|
95
96
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `type:${string}`)[];
|
|
96
|
-
serialize(): string;
|
|
97
|
+
serialize(_options?: SerializeOptions): string;
|
|
97
98
|
}
|
|
@@ -33,7 +33,7 @@ export class GrantEnumPrivileges extends AlterEnumChange {
|
|
|
33
33
|
get requires() {
|
|
34
34
|
return [this.enum.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 RevokeEnumPrivileges extends AlterEnumChange {
|
|
|
87
87
|
stableId.role(this.grantee),
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
|
-
serialize() {
|
|
90
|
+
serialize(_options) {
|
|
91
91
|
const kindPrefix = getObjectKindPrefix("TYPE");
|
|
92
92
|
const list = this.privileges.map((p) => p.privilege);
|
|
93
93
|
const privSql = formatObjectPrivilegeList("TYPE", list, this.version);
|
|
@@ -122,7 +122,7 @@ export class RevokeGrantOptionEnumPrivileges extends AlterEnumChange {
|
|
|
122
122
|
stableId.role(this.grantee),
|
|
123
123
|
];
|
|
124
124
|
}
|
|
125
|
-
serialize() {
|
|
125
|
+
serialize(_options) {
|
|
126
126
|
const kindPrefix = getObjectKindPrefix("TYPE");
|
|
127
127
|
const privSql = formatObjectPrivilegeList("TYPE", this.privilegeNames, this.version);
|
|
128
128
|
const typeName = `${this.enum.schema}.${this.enum.name}`;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Range } from "../range.model.ts";
|
|
2
3
|
import { AlterRangeChange } from "./range.base.ts";
|
|
3
4
|
/**
|
|
@@ -25,7 +26,7 @@ export declare class AlterRangeChangeOwner extends AlterRangeChange {
|
|
|
25
26
|
owner: string;
|
|
26
27
|
});
|
|
27
28
|
get requires(): `type:${string}`[];
|
|
28
|
-
serialize(): string;
|
|
29
|
+
serialize(_options?: SerializeOptions): string;
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
32
|
* Replace a range type by dropping and recreating it.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Range } from "../range.model.ts";
|
|
2
3
|
import { CreateRangeChange, DropRangeChange } from "./range.base.ts";
|
|
3
4
|
/**
|
|
@@ -12,7 +13,7 @@ export declare class CreateCommentOnRange extends CreateRangeChange {
|
|
|
12
13
|
});
|
|
13
14
|
get creates(): `comment:${string}`[];
|
|
14
15
|
get requires(): `type:${string}`[];
|
|
15
|
-
serialize(): string;
|
|
16
|
+
serialize(_options?: SerializeOptions): string;
|
|
16
17
|
}
|
|
17
18
|
export declare class DropCommentOnRange extends DropRangeChange {
|
|
18
19
|
readonly range: Range;
|
|
@@ -22,5 +23,5 @@ export declare class DropCommentOnRange extends DropRangeChange {
|
|
|
22
23
|
});
|
|
23
24
|
get drops(): `comment:${string}`[];
|
|
24
25
|
get requires(): (`comment:${string}` | `type:${string}`)[];
|
|
25
|
-
serialize(): string;
|
|
26
|
+
serialize(_options?: SerializeOptions): string;
|
|
26
27
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnRange extends CreateRangeChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.range.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON TYPE",
|
|
20
20
|
`${this.range.schema}.${this.range.name}`,
|
|
@@ -37,7 +37,7 @@ export class DropCommentOnRange extends DropRangeChange {
|
|
|
37
37
|
get requires() {
|
|
38
38
|
return [stableId.comment(this.range.stableId), this.range.stableId];
|
|
39
39
|
}
|
|
40
|
-
serialize() {
|
|
40
|
+
serialize(_options) {
|
|
41
41
|
return [
|
|
42
42
|
"COMMENT ON TYPE",
|
|
43
43
|
`${this.range.schema}.${this.range.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Range } from "../range.model.ts";
|
|
2
3
|
import { CreateRangeChange } from "./range.base.ts";
|
|
3
4
|
/**
|
|
@@ -27,5 +28,5 @@ export declare class CreateRange extends CreateRangeChange {
|
|
|
27
28
|
});
|
|
28
29
|
get creates(): `type:${string}`[];
|
|
29
30
|
get requires(): string[];
|
|
30
|
-
serialize(): string;
|
|
31
|
+
serialize(_options?: SerializeOptions): string;
|
|
31
32
|
}
|
|
@@ -70,7 +70,7 @@ export class CreateRange extends CreateRangeChange {
|
|
|
70
70
|
}
|
|
71
71
|
return Array.from(dependencies);
|
|
72
72
|
}
|
|
73
|
-
serialize() {
|
|
73
|
+
serialize(_options) {
|
|
74
74
|
const name = `${this.range.schema}.${this.range.name}`;
|
|
75
75
|
const prefix = ["CREATE TYPE", name, "AS RANGE"].join(" ");
|
|
76
76
|
const opts = [];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Range } from "../range.model.ts";
|
|
2
3
|
import { DropRangeChange } from "./range.base.ts";
|
|
3
4
|
/**
|
|
@@ -18,5 +19,5 @@ export declare class DropRange extends DropRangeChange {
|
|
|
18
19
|
});
|
|
19
20
|
get drops(): `type:${string}`[];
|
|
20
21
|
get requires(): `type:${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 { Range } from "../range.model.ts";
|
|
2
3
|
import { AlterRangeChange } from "./range.base.ts";
|
|
3
4
|
export type RangePrivilege = GrantRangePrivileges | RevokeRangePrivileges | RevokeGrantOptionRangePrivileges;
|
|
@@ -34,7 +35,7 @@ export declare class GrantRangePrivileges extends AlterRangeChange {
|
|
|
34
35
|
});
|
|
35
36
|
get creates(): `acl:${string}::grantee:${string}`[];
|
|
36
37
|
get requires(): (`role:${string}` | `type:${string}`)[];
|
|
37
|
-
serialize(): string;
|
|
38
|
+
serialize(_options?: SerializeOptions): string;
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
41
|
* Revoke privileges on a range type.
|
|
@@ -71,7 +72,7 @@ export declare class RevokeRangePrivileges extends AlterRangeChange {
|
|
|
71
72
|
});
|
|
72
73
|
get drops(): `acl:${string}::grantee:${string}`[];
|
|
73
74
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `type:${string}`)[];
|
|
74
|
-
serialize(): string;
|
|
75
|
+
serialize(_options?: SerializeOptions): string;
|
|
75
76
|
}
|
|
76
77
|
/**
|
|
77
78
|
* Revoke grant option for privileges on a range type.
|
|
@@ -93,5 +94,5 @@ export declare class RevokeGrantOptionRangePrivileges extends AlterRangeChange {
|
|
|
93
94
|
version?: number;
|
|
94
95
|
});
|
|
95
96
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `type:${string}`)[];
|
|
96
|
-
serialize(): string;
|
|
97
|
+
serialize(_options?: SerializeOptions): string;
|
|
97
98
|
}
|
|
@@ -33,7 +33,7 @@ export class GrantRangePrivileges extends AlterRangeChange {
|
|
|
33
33
|
get requires() {
|
|
34
34
|
return [this.range.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 RevokeRangePrivileges extends AlterRangeChange {
|
|
|
87
87
|
stableId.role(this.grantee),
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
|
-
serialize() {
|
|
90
|
+
serialize(_options) {
|
|
91
91
|
const kindPrefix = getObjectKindPrefix("TYPE");
|
|
92
92
|
const list = this.privileges.map((p) => p.privilege);
|
|
93
93
|
const privSql = formatObjectPrivilegeList("TYPE", list, this.version);
|
|
@@ -122,7 +122,7 @@ export class RevokeGrantOptionRangePrivileges extends AlterRangeChange {
|
|
|
122
122
|
stableId.role(this.grantee),
|
|
123
123
|
];
|
|
124
124
|
}
|
|
125
|
-
serialize() {
|
|
125
|
+
serialize(_options) {
|
|
126
126
|
const kindPrefix = getObjectKindPrefix("TYPE");
|
|
127
127
|
const privSql = formatObjectPrivilegeList("TYPE", this.privilegeNames, this.version);
|
|
128
128
|
const typeName = `${this.range.schema}.${this.range.name}`;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { View } from "../view.model.ts";
|
|
2
3
|
import { AlterViewChange } from "./view.base.ts";
|
|
3
4
|
/**
|
|
@@ -30,7 +31,7 @@ export declare class AlterViewChangeOwner extends AlterViewChange {
|
|
|
30
31
|
owner: string;
|
|
31
32
|
});
|
|
32
33
|
get requires(): `view:${string}`[];
|
|
33
|
-
serialize(): string;
|
|
34
|
+
serialize(_options?: SerializeOptions): string;
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* ALTER VIEW ... SET ( ... )
|
|
@@ -44,7 +45,7 @@ export declare class AlterViewSetOptions extends AlterViewChange {
|
|
|
44
45
|
options: string[];
|
|
45
46
|
});
|
|
46
47
|
get requires(): `view:${string}`[];
|
|
47
|
-
serialize(): string;
|
|
48
|
+
serialize(_options?: SerializeOptions): string;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* ALTER VIEW ... RESET ( ... )
|
|
@@ -58,5 +59,5 @@ export declare class AlterViewResetOptions extends AlterViewChange {
|
|
|
58
59
|
params: string[];
|
|
59
60
|
});
|
|
60
61
|
get requires(): `view:${string}`[];
|
|
61
|
-
serialize(): string;
|
|
62
|
+
serialize(_options?: SerializeOptions): string;
|
|
62
63
|
}
|
|
@@ -14,7 +14,7 @@ export class AlterViewChangeOwner extends AlterViewChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.view.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"ALTER VIEW",
|
|
20
20
|
`${this.view.schema}.${this.view.name}`,
|
|
@@ -39,7 +39,7 @@ export class AlterViewSetOptions extends AlterViewChange {
|
|
|
39
39
|
get requires() {
|
|
40
40
|
return [this.view.stableId];
|
|
41
41
|
}
|
|
42
|
-
serialize() {
|
|
42
|
+
serialize(_options) {
|
|
43
43
|
const opts = this.options.join(", ");
|
|
44
44
|
return [
|
|
45
45
|
"ALTER VIEW",
|
|
@@ -64,7 +64,7 @@ export class AlterViewResetOptions extends AlterViewChange {
|
|
|
64
64
|
get requires() {
|
|
65
65
|
return [this.view.stableId];
|
|
66
66
|
}
|
|
67
|
-
serialize() {
|
|
67
|
+
serialize(_options) {
|
|
68
68
|
return [
|
|
69
69
|
"ALTER VIEW",
|
|
70
70
|
`${this.view.schema}.${this.view.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { View } from "../view.model.ts";
|
|
2
3
|
import { CreateViewChange, DropViewChange } from "./view.base.ts";
|
|
3
4
|
export type CommentView = CreateCommentOnView | DropCommentOnView;
|
|
@@ -9,7 +10,7 @@ export declare class CreateCommentOnView extends CreateViewChange {
|
|
|
9
10
|
});
|
|
10
11
|
get creates(): `comment:${string}`[];
|
|
11
12
|
get requires(): `view:${string}`[];
|
|
12
|
-
serialize(): string;
|
|
13
|
+
serialize(_options?: SerializeOptions): string;
|
|
13
14
|
}
|
|
14
15
|
export declare class DropCommentOnView extends DropViewChange {
|
|
15
16
|
readonly view: View;
|
|
@@ -19,5 +20,5 @@ export declare class DropCommentOnView extends DropViewChange {
|
|
|
19
20
|
});
|
|
20
21
|
get drops(): `comment:${string}`[];
|
|
21
22
|
get requires(): (`comment:${string}` | `view:${string}`)[];
|
|
22
|
-
serialize(): string;
|
|
23
|
+
serialize(_options?: SerializeOptions): string;
|
|
23
24
|
}
|
|
@@ -14,7 +14,7 @@ export class CreateCommentOnView extends CreateViewChange {
|
|
|
14
14
|
get requires() {
|
|
15
15
|
return [this.view.stableId];
|
|
16
16
|
}
|
|
17
|
-
serialize() {
|
|
17
|
+
serialize(_options) {
|
|
18
18
|
return [
|
|
19
19
|
"COMMENT ON VIEW",
|
|
20
20
|
`${this.view.schema}.${this.view.name}`,
|
|
@@ -36,7 +36,7 @@ export class DropCommentOnView extends DropViewChange {
|
|
|
36
36
|
get requires() {
|
|
37
37
|
return [stableId.comment(this.view.stableId), this.view.stableId];
|
|
38
38
|
}
|
|
39
|
-
serialize() {
|
|
39
|
+
serialize(_options) {
|
|
40
40
|
return [
|
|
41
41
|
"COMMENT ON VIEW",
|
|
42
42
|
`${this.view.schema}.${this.view.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { View } from "../view.model.ts";
|
|
2
3
|
import { CreateViewChange } from "./view.base.ts";
|
|
3
4
|
/**
|
|
@@ -23,5 +24,5 @@ export declare class CreateView extends CreateViewChange {
|
|
|
23
24
|
});
|
|
24
25
|
get creates(): (`column:${string}.${string}.${string}` | `view:${string}`)[];
|
|
25
26
|
get requires(): string[];
|
|
26
|
-
serialize(): string;
|
|
27
|
+
serialize(_options?: SerializeOptions): string;
|
|
27
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { View } from "../view.model.ts";
|
|
2
3
|
import { DropViewChange } from "./view.base.ts";
|
|
3
4
|
/**
|
|
@@ -13,5 +14,5 @@ export declare class DropView extends DropViewChange {
|
|
|
13
14
|
});
|
|
14
15
|
get drops(): (`column:${string}.${string}.${string}` | `view:${string}`)[];
|
|
15
16
|
get requires(): (`column:${string}.${string}.${string}` | `view:${string}`)[];
|
|
16
|
-
serialize(): string;
|
|
17
|
+
serialize(_options?: SerializeOptions): string;
|
|
17
18
|
}
|
|
@@ -24,7 +24,7 @@ export class DropView extends DropViewChange {
|
|
|
24
24
|
...this.view.columns.map((column) => stableId.column(this.view.schema, this.view.name, column.name)),
|
|
25
25
|
];
|
|
26
26
|
}
|
|
27
|
-
serialize() {
|
|
27
|
+
serialize(_options) {
|
|
28
28
|
return ["DROP VIEW", `${this.view.schema}.${this.view.name}`].join(" ");
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { View } from "../view.model.ts";
|
|
2
3
|
import { AlterViewChange } from "./view.base.ts";
|
|
3
4
|
export type ViewPrivilege = GrantViewPrivileges | RevokeViewPrivileges | RevokeGrantOptionViewPrivileges;
|
|
@@ -38,7 +39,7 @@ export declare class GrantViewPrivileges extends AlterViewChange {
|
|
|
38
39
|
});
|
|
39
40
|
get creates(): `acl:${string}::grantee:${string}`[];
|
|
40
41
|
get requires(): (`role:${string}` | `view:${string}`)[];
|
|
41
|
-
serialize(): string;
|
|
42
|
+
serialize(_options?: SerializeOptions): string;
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
45
|
* Revoke privileges on a view.
|
|
@@ -79,7 +80,7 @@ export declare class RevokeViewPrivileges extends AlterViewChange {
|
|
|
79
80
|
});
|
|
80
81
|
get drops(): `acl:${string}::grantee:${string}`[];
|
|
81
82
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `view:${string}`)[];
|
|
82
|
-
serialize(): string;
|
|
83
|
+
serialize(_options?: SerializeOptions): string;
|
|
83
84
|
}
|
|
84
85
|
/**
|
|
85
86
|
* Revoke grant option for privileges on a view.
|
|
@@ -103,5 +104,5 @@ export declare class RevokeGrantOptionViewPrivileges extends AlterViewChange {
|
|
|
103
104
|
version?: number;
|
|
104
105
|
});
|
|
105
106
|
get requires(): (`acl:${string}::grantee:${string}` | `role:${string}` | `view:${string}`)[];
|
|
106
|
-
serialize(): string;
|
|
107
|
+
serialize(_options?: SerializeOptions): string;
|
|
107
108
|
}
|
|
@@ -37,7 +37,7 @@ export class GrantViewPrivileges extends AlterViewChange {
|
|
|
37
37
|
get requires() {
|
|
38
38
|
return [this.view.stableId, stableId.role(this.grantee)];
|
|
39
39
|
}
|
|
40
|
-
serialize() {
|
|
40
|
+
serialize(_options) {
|
|
41
41
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
42
42
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
43
43
|
if (hasGrantable && hasBase) {
|
|
@@ -98,7 +98,7 @@ export class RevokeViewPrivileges extends AlterViewChange {
|
|
|
98
98
|
stableId.role(this.grantee),
|
|
99
99
|
];
|
|
100
100
|
}
|
|
101
|
-
serialize() {
|
|
101
|
+
serialize(_options) {
|
|
102
102
|
const kindPrefix = getObjectKindPrefix("VIEW");
|
|
103
103
|
const list = this.privileges.map((p) => p.privilege);
|
|
104
104
|
const privSql = formatObjectPrivilegeList("VIEW", list, this.version);
|
|
@@ -138,7 +138,7 @@ export class RevokeGrantOptionViewPrivileges extends AlterViewChange {
|
|
|
138
138
|
stableId.role(this.grantee),
|
|
139
139
|
];
|
|
140
140
|
}
|
|
141
|
-
serialize() {
|
|
141
|
+
serialize(_options) {
|
|
142
142
|
const kindPrefix = getObjectKindPrefix("VIEW");
|
|
143
143
|
const privSql = formatObjectPrivilegeList("VIEW", this.privilegeNames, this.version);
|
|
144
144
|
const viewName = `${this.view.schema}.${this.view.name}`;
|
package/dist/core/plan/create.js
CHANGED
|
@@ -5,8 +5,7 @@ import { escapeIdentifier } from "pg";
|
|
|
5
5
|
import { diffCatalogs } from "../catalog.diff.js";
|
|
6
6
|
import { createEmptyCatalog, extractCatalog } from "../catalog.model.js";
|
|
7
7
|
import { buildPlanScopeFingerprint, hashStableIds } from "../fingerprint.js";
|
|
8
|
-
import {
|
|
9
|
-
import { compileSerializeDSL, } from "../integrations/serialize/dsl.js";
|
|
8
|
+
import { resolveIntegration, } from "../integrations/integration.types.js";
|
|
10
9
|
import { createManagedPool, endPool } from "../postgres-config.js";
|
|
11
10
|
import { sortChanges } from "../sort/sort-changes.js";
|
|
12
11
|
import { classifyChangesRisk } from "./risk.js";
|
|
@@ -103,21 +102,10 @@ function buildPlanForCatalogs(fromCatalog, toCatalog, options = {}) {
|
|
|
103
102
|
? serializeOption
|
|
104
103
|
: undefined;
|
|
105
104
|
// Build final integration: compile DSL if needed, use functions directly otherwise
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
? filterOption
|
|
111
|
-
: filterDSL
|
|
112
|
-
? compileFilterDSL(filterDSL)
|
|
113
|
-
: undefined,
|
|
114
|
-
serialize: typeof serializeOption === "function"
|
|
115
|
-
? serializeOption
|
|
116
|
-
: serializeDSL
|
|
117
|
-
? compileSerializeDSL(serializeDSL)
|
|
118
|
-
: undefined,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
105
|
+
const finalIntegration = resolveIntegration({
|
|
106
|
+
filter: filterOption,
|
|
107
|
+
serialize: serializeOption,
|
|
108
|
+
});
|
|
121
109
|
// Use filter from final integration
|
|
122
110
|
const filterFn = finalIntegration?.filter;
|
|
123
111
|
let filteredChanges = filterFn
|
|
@@ -3,10 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import z from "zod";
|
|
5
5
|
import type { Change } from "../change.types.ts";
|
|
6
|
-
import type {
|
|
7
|
-
import type { ChangeFilter } from "../integrations/filter/filter.types.ts";
|
|
8
|
-
import type { SerializeDSL } from "../integrations/serialize/dsl.ts";
|
|
9
|
-
import type { ChangeSerializer } from "../integrations/serialize/serialize.types.ts";
|
|
6
|
+
import type { Integration } from "../integrations/integration.types.ts";
|
|
10
7
|
export type PlanRisk = {
|
|
11
8
|
level: "safe";
|
|
12
9
|
} | {
|
|
@@ -133,9 +130,9 @@ export type Plan = z.infer<typeof PlanSchema>;
|
|
|
133
130
|
*/
|
|
134
131
|
export interface CreatePlanOptions {
|
|
135
132
|
/** Filter - either FilterDSL (stored in plan) or ChangeFilter function (not stored) */
|
|
136
|
-
filter?:
|
|
133
|
+
filter?: Integration["filter"];
|
|
137
134
|
/** Serialize - either SerializeDSL (stored in plan) or ChangeSerializer function (not stored) */
|
|
138
|
-
serialize?:
|
|
135
|
+
serialize?: Integration["serialize"];
|
|
139
136
|
/** Role to use when executing the migration (SET ROLE will be added to statements) */
|
|
140
137
|
role?: string;
|
|
141
138
|
/**
|