@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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { ForeignTable } from "../foreign-table.model.ts";
|
|
2
3
|
import { DropForeignTableChange } from "./foreign-table.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropForeignTable extends DropForeignTableChange {
|
|
|
28
29
|
return [this.foreignTable.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return [
|
|
33
34
|
"DROP FOREIGN TABLE",
|
|
34
35
|
`${this.foreignTable.schema}.${this.foreignTable.name}`,
|
package/src/core/objects/foreign-data-wrapper/foreign-table/changes/foreign-table.privilege.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import {
|
|
2
3
|
formatObjectPrivilegeList,
|
|
3
4
|
getObjectKindPrefix,
|
|
@@ -52,7 +53,7 @@ export class GrantForeignTablePrivileges extends AlterForeignTableChange {
|
|
|
52
53
|
return [this.foreignTable.stableId, stableId.role(this.grantee)];
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
serialize(): string {
|
|
56
|
+
serialize(_options?: SerializeOptions): string {
|
|
56
57
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
57
58
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
58
59
|
if (hasGrantable && hasBase) {
|
|
@@ -120,7 +121,7 @@ export class RevokeForeignTablePrivileges extends AlterForeignTableChange {
|
|
|
120
121
|
];
|
|
121
122
|
}
|
|
122
123
|
|
|
123
|
-
serialize(): string {
|
|
124
|
+
serialize(_options?: SerializeOptions): string {
|
|
124
125
|
const kindPrefix = getObjectKindPrefix("FOREIGN TABLE");
|
|
125
126
|
const list = this.privileges.map((p) => p.privilege);
|
|
126
127
|
const privSql = formatObjectPrivilegeList(
|
|
@@ -168,7 +169,7 @@ export class RevokeGrantOptionForeignTablePrivileges extends AlterForeignTableCh
|
|
|
168
169
|
];
|
|
169
170
|
}
|
|
170
171
|
|
|
171
|
-
serialize(): string {
|
|
172
|
+
serialize(_options?: SerializeOptions): string {
|
|
172
173
|
const kindPrefix = getObjectKindPrefix("FOREIGN TABLE");
|
|
173
174
|
const privSql = formatObjectPrivilegeList(
|
|
174
175
|
"FOREIGN TABLE",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { Server } from "../server.model.ts";
|
|
@@ -39,7 +40,7 @@ export class AlterServerChangeOwner extends AlterServerChange {
|
|
|
39
40
|
return [this.server.stableId, stableId.role(this.owner)];
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
serialize(): string {
|
|
43
|
+
serialize(_options?: SerializeOptions): string {
|
|
43
44
|
return ["ALTER SERVER", this.server.name, "OWNER TO", this.owner].join(" ");
|
|
44
45
|
}
|
|
45
46
|
}
|
|
@@ -62,7 +63,7 @@ export class AlterServerSetVersion extends AlterServerChange {
|
|
|
62
63
|
return [this.server.stableId];
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
serialize(): string {
|
|
66
|
+
serialize(_options?: SerializeOptions): string {
|
|
66
67
|
if (this.version === null) {
|
|
67
68
|
// PostgreSQL doesn't support removing version, but we'll handle it
|
|
68
69
|
return ["ALTER SERVER", this.server.name, "VERSION", "''"].join(" ");
|
|
@@ -105,7 +106,7 @@ export class AlterServerSetOptions extends AlterServerChange {
|
|
|
105
106
|
return [this.server.stableId];
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
serialize(): string {
|
|
109
|
+
serialize(_options?: SerializeOptions): string {
|
|
109
110
|
const optionParts: string[] = [];
|
|
110
111
|
for (const opt of this.options) {
|
|
111
112
|
if (opt.action === "DROP") {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { Server } from "../server.model.ts";
|
|
@@ -26,7 +27,7 @@ export class CreateCommentOnServer extends CreateServerChange {
|
|
|
26
27
|
return [this.server.stableId];
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
serialize(): string {
|
|
30
|
+
serialize(_options?: SerializeOptions): string {
|
|
30
31
|
return [
|
|
31
32
|
"COMMENT ON SERVER",
|
|
32
33
|
this.server.name,
|
|
@@ -54,7 +55,7 @@ export class DropCommentOnServer extends DropServerChange {
|
|
|
54
55
|
return [stableId.comment(this.server.stableId), this.server.stableId];
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
serialize(): string {
|
|
58
|
+
serialize(_options?: SerializeOptions): string {
|
|
58
59
|
return ["COMMENT ON SERVER", this.server.name, "IS NULL"].join(" ");
|
|
59
60
|
}
|
|
60
61
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { Server } from "../server.model.ts";
|
|
@@ -42,7 +43,7 @@ export class CreateServer extends CreateServerChange {
|
|
|
42
43
|
return Array.from(dependencies);
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
serialize(): string {
|
|
46
|
+
serialize(_options?: SerializeOptions): string {
|
|
46
47
|
const parts: string[] = ["CREATE SERVER"];
|
|
47
48
|
|
|
48
49
|
// Add server name
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Server } from "../server.model.ts";
|
|
2
3
|
import { DropServerChange } from "./server.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropServer extends DropServerChange {
|
|
|
28
29
|
return [this.server.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return ["DROP SERVER", this.server.name].join(" ");
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { formatObjectPrivilegeList } from "../../../base.privilege.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { Server } from "../server.model.ts";
|
|
@@ -49,7 +50,7 @@ export class GrantServerPrivileges extends AlterServerChange {
|
|
|
49
50
|
return [this.server.stableId, stableId.role(this.grantee)];
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
serialize(): string {
|
|
53
|
+
serialize(_options?: SerializeOptions): string {
|
|
53
54
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
54
55
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
55
56
|
if (hasGrantable && hasBase) {
|
|
@@ -111,7 +112,7 @@ export class RevokeServerPrivileges extends AlterServerChange {
|
|
|
111
112
|
];
|
|
112
113
|
}
|
|
113
114
|
|
|
114
|
-
serialize(): string {
|
|
115
|
+
serialize(_options?: SerializeOptions): string {
|
|
115
116
|
const list = this.privileges.map((p) => p.privilege);
|
|
116
117
|
const privSql = formatObjectPrivilegeList("SERVER", list, this.version);
|
|
117
118
|
return `REVOKE ${privSql} ON SERVER ${this.server.name} FROM ${this.grantee}`;
|
|
@@ -153,7 +154,7 @@ export class RevokeGrantOptionServerPrivileges extends AlterServerChange {
|
|
|
153
154
|
];
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
serialize(): string {
|
|
157
|
+
serialize(_options?: SerializeOptions): string {
|
|
157
158
|
const privSql = formatObjectPrivilegeList(
|
|
158
159
|
"SERVER",
|
|
159
160
|
this.privilegeNames,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import type { UserMapping } from "../user-mapping.model.ts";
|
|
3
4
|
import { AlterUserMappingChange } from "./user-mapping.base.ts";
|
|
@@ -46,7 +47,7 @@ export class AlterUserMappingSetOptions extends AlterUserMappingChange {
|
|
|
46
47
|
return [this.userMapping.stableId];
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
serialize(): string {
|
|
50
|
+
serialize(_options?: SerializeOptions): string {
|
|
50
51
|
const optionParts: string[] = [];
|
|
51
52
|
for (const opt of this.options) {
|
|
52
53
|
if (opt.action === "DROP") {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../../utils.ts";
|
|
3
4
|
import type { UserMapping } from "../user-mapping.model.ts";
|
|
@@ -37,7 +38,7 @@ export class CreateUserMapping extends CreateUserMappingChange {
|
|
|
37
38
|
return Array.from(dependencies);
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
serialize(): string {
|
|
41
|
+
serialize(_options?: SerializeOptions): string {
|
|
41
42
|
const parts: string[] = ["CREATE USER MAPPING FOR"];
|
|
42
43
|
|
|
43
44
|
// Add user (can be CURRENT_USER, PUBLIC, etc.)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { UserMapping } from "../user-mapping.model.ts";
|
|
2
3
|
import { DropUserMappingChange } from "./user-mapping.base.ts";
|
|
3
4
|
|
|
@@ -29,7 +30,7 @@ export class DropUserMapping extends DropUserMappingChange {
|
|
|
29
30
|
return [this.userMapping.stableId];
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
serialize(): string {
|
|
33
|
+
serialize(_options?: SerializeOptions): string {
|
|
33
34
|
return [
|
|
34
35
|
"DROP USER MAPPING FOR",
|
|
35
36
|
this.userMapping.user,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { BaseChange } from "../../base.change.ts";
|
|
2
3
|
import type { Index } from "../index.model.ts";
|
|
3
4
|
import { AlterIndexChange } from "./index.base.ts";
|
|
@@ -46,7 +47,7 @@ export class AlterIndexSetStorageParams extends AlterIndexChange {
|
|
|
46
47
|
return [this.index.stableId];
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
serialize(): string {
|
|
50
|
+
serialize(_options?: SerializeOptions): string {
|
|
50
51
|
const head = [
|
|
51
52
|
"ALTER INDEX",
|
|
52
53
|
`${this.index.schema}.${this.index.name}`,
|
|
@@ -90,7 +91,7 @@ export class AlterIndexSetStatistics extends BaseChange {
|
|
|
90
91
|
return [this.index.stableId];
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
serialize(): string {
|
|
94
|
+
serialize(_options?: SerializeOptions): string {
|
|
94
95
|
const statements: string[] = [];
|
|
95
96
|
const head = [
|
|
96
97
|
"ALTER INDEX",
|
|
@@ -127,7 +128,7 @@ export class AlterIndexSetTablespace extends BaseChange {
|
|
|
127
128
|
return [this.index.stableId];
|
|
128
129
|
}
|
|
129
130
|
|
|
130
|
-
serialize(): string {
|
|
131
|
+
serialize(_options?: SerializeOptions): string {
|
|
131
132
|
return [
|
|
132
133
|
"ALTER INDEX",
|
|
133
134
|
`${this.index.schema}.${this.index.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { Index } from "../index.model.ts";
|
|
@@ -25,7 +26,7 @@ export class CreateCommentOnIndex extends CreateIndexChange {
|
|
|
25
26
|
return [this.index.stableId];
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
serialize(): string {
|
|
29
|
+
serialize(_options?: SerializeOptions): string {
|
|
29
30
|
return [
|
|
30
31
|
"COMMENT ON INDEX",
|
|
31
32
|
`${this.index.schema}.${this.index.name}`,
|
|
@@ -53,7 +54,7 @@ export class DropCommentOnIndex extends DropIndexChange {
|
|
|
53
54
|
return [stableId.comment(this.index.stableId), this.index.stableId];
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
serialize(): string {
|
|
57
|
+
serialize(_options?: SerializeOptions): string {
|
|
57
58
|
return [
|
|
58
59
|
"COMMENT ON INDEX",
|
|
59
60
|
`${this.index.schema}.${this.index.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { TableLikeObject } from "../../base.model.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { Index } from "../index.model.ts";
|
|
@@ -51,7 +52,7 @@ export class CreateIndex extends CreateIndexChange {
|
|
|
51
52
|
return Array.from(dependencies);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
serialize(): string {
|
|
55
|
+
serialize(_options?: SerializeOptions): string {
|
|
55
56
|
let definition = this.index.definition;
|
|
56
57
|
|
|
57
58
|
// btree being the default, we can omit it
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Index } from "../index.model.ts";
|
|
2
3
|
import { DropIndexChange } from "./index.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropIndex extends DropIndexChange {
|
|
|
28
29
|
return [this.index.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
return ["DROP INDEX", `${this.index.schema}.${this.index.name}`].join(" ");
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Language } from "../language.model.ts";
|
|
2
3
|
import { AlterLanguageChange } from "./language.base.ts";
|
|
3
4
|
|
|
@@ -33,7 +34,7 @@ export class AlterLanguageChangeOwner extends AlterLanguageChange {
|
|
|
33
34
|
return [this.language.stableId];
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
serialize(): string {
|
|
37
|
+
serialize(_options?: SerializeOptions): string {
|
|
37
38
|
const parts: string[] = ["ALTER"];
|
|
38
39
|
|
|
39
40
|
// Do not print the optional PROCEDURAL keyword.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { Language } from "../language.model.ts";
|
|
@@ -25,7 +26,7 @@ export class CreateCommentOnLanguage extends CreateLanguageChange {
|
|
|
25
26
|
return [this.language.stableId];
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
serialize(): string {
|
|
29
|
+
serialize(_options?: SerializeOptions): string {
|
|
29
30
|
return [
|
|
30
31
|
"COMMENT ON LANGUAGE",
|
|
31
32
|
this.language.name,
|
|
@@ -52,7 +53,7 @@ export class DropCommentOnLanguage extends DropLanguageChange {
|
|
|
52
53
|
return [stableId.comment(this.language.stableId), this.language.stableId];
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
serialize(): string {
|
|
56
|
+
serialize(_options?: SerializeOptions): string {
|
|
56
57
|
return ["COMMENT ON LANGUAGE", this.language.name, "IS NULL"].join(" ");
|
|
57
58
|
}
|
|
58
59
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { parseProcedureReference, stableId } from "../../utils.ts";
|
|
2
3
|
import type { Language } from "../language.model.ts";
|
|
3
4
|
import { CreateLanguageChange } from "./language.base.ts";
|
|
@@ -71,7 +72,7 @@ export class CreateLanguage extends CreateLanguageChange {
|
|
|
71
72
|
return Array.from(dependencies);
|
|
72
73
|
}
|
|
73
74
|
|
|
74
|
-
serialize(): string {
|
|
75
|
+
serialize(_options?: SerializeOptions): string {
|
|
75
76
|
const parts: string[] = [`CREATE${this.orReplace ? " OR REPLACE" : ""}`];
|
|
76
77
|
|
|
77
78
|
// Only include non-default flags. We never print the optional
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Language } from "../language.model.ts";
|
|
2
3
|
import { DropLanguageChange } from "./language.base.ts";
|
|
3
4
|
|
|
@@ -28,7 +29,7 @@ export class DropLanguage extends DropLanguageChange {
|
|
|
28
29
|
return [this.language.stableId];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
serialize(): string {
|
|
32
|
+
serialize(_options?: SerializeOptions): string {
|
|
32
33
|
const parts: string[] = ["DROP"];
|
|
33
34
|
|
|
34
35
|
// Do not print optional keywords (e.g., PROCEDURAL). Keep the statement minimal.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import {
|
|
2
3
|
formatObjectPrivilegeList,
|
|
3
4
|
getObjectKindPrefix,
|
|
@@ -52,7 +53,7 @@ export class GrantLanguagePrivileges extends AlterLanguageChange {
|
|
|
52
53
|
return [this.language.stableId, stableId.role(this.grantee)];
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
serialize(): string {
|
|
56
|
+
serialize(_options?: SerializeOptions): string {
|
|
56
57
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
57
58
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
58
59
|
if (hasGrantable && hasBase) {
|
|
@@ -117,7 +118,7 @@ export class RevokeLanguagePrivileges extends AlterLanguageChange {
|
|
|
117
118
|
];
|
|
118
119
|
}
|
|
119
120
|
|
|
120
|
-
serialize(): string {
|
|
121
|
+
serialize(_options?: SerializeOptions): string {
|
|
121
122
|
const kindPrefix = getObjectKindPrefix("LANGUAGE");
|
|
122
123
|
const list = this.privileges.map((p) => p.privilege);
|
|
123
124
|
const privSql = formatObjectPrivilegeList("LANGUAGE", list, this.version);
|
|
@@ -160,7 +161,7 @@ export class RevokeGrantOptionLanguagePrivileges extends AlterLanguageChange {
|
|
|
160
161
|
];
|
|
161
162
|
}
|
|
162
163
|
|
|
163
|
-
serialize(): string {
|
|
164
|
+
serialize(_options?: SerializeOptions): string {
|
|
164
165
|
const kindPrefix = getObjectKindPrefix("LANGUAGE");
|
|
165
166
|
const privSql = formatObjectPrivilegeList(
|
|
166
167
|
"LANGUAGE",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { MaterializedView } from "../materialized-view.model.ts";
|
|
2
3
|
import { AlterMaterializedViewChange } from "./materialized-view.base.ts";
|
|
3
4
|
|
|
@@ -53,7 +54,7 @@ export class AlterMaterializedViewChangeOwner extends AlterMaterializedViewChang
|
|
|
53
54
|
return [this.materializedView.stableId];
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
serialize(): string {
|
|
57
|
+
serialize(_options?: SerializeOptions): string {
|
|
57
58
|
return [
|
|
58
59
|
"ALTER MATERIALIZED VIEW",
|
|
59
60
|
`${this.materializedView.schema}.${this.materializedView.name}`,
|
|
@@ -88,7 +89,7 @@ export class AlterMaterializedViewSetStorageParams extends AlterMaterializedView
|
|
|
88
89
|
return [this.materializedView.stableId];
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
serialize(): string {
|
|
92
|
+
serialize(_options?: SerializeOptions): string {
|
|
92
93
|
const head = [
|
|
93
94
|
"ALTER MATERIALIZED VIEW",
|
|
94
95
|
`${this.materializedView.schema}.${this.materializedView.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import type { ColumnProps } from "../../base.model.ts";
|
|
3
4
|
import { stableId } from "../../utils.ts";
|
|
@@ -36,7 +37,7 @@ export class CreateCommentOnMaterializedView extends CreateMaterializedViewChang
|
|
|
36
37
|
return [this.materializedView.stableId];
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
serialize(): string {
|
|
40
|
+
serialize(_options?: SerializeOptions): string {
|
|
40
41
|
return [
|
|
41
42
|
"COMMENT ON MATERIALIZED VIEW",
|
|
42
43
|
`${this.materializedView.schema}.${this.materializedView.name}`,
|
|
@@ -67,7 +68,7 @@ export class DropCommentOnMaterializedView extends DropMaterializedViewChange {
|
|
|
67
68
|
];
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
serialize(): string {
|
|
71
|
+
serialize(_options?: SerializeOptions): string {
|
|
71
72
|
return [
|
|
72
73
|
"COMMENT ON MATERIALIZED VIEW",
|
|
73
74
|
`${this.materializedView.schema}.${this.materializedView.name}`,
|
|
@@ -112,7 +113,7 @@ export class CreateCommentOnMaterializedViewColumn extends CreateMaterializedVie
|
|
|
112
113
|
];
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
serialize(): string {
|
|
116
|
+
serialize(_options?: SerializeOptions): string {
|
|
116
117
|
return [
|
|
117
118
|
"COMMENT ON COLUMN",
|
|
118
119
|
`${this.materializedView.schema}.${this.materializedView.name}.${this.column.name}`,
|
|
@@ -166,7 +167,7 @@ export class DropCommentOnMaterializedViewColumn extends DropMaterializedViewCha
|
|
|
166
167
|
];
|
|
167
168
|
}
|
|
168
169
|
|
|
169
|
-
serialize(): string {
|
|
170
|
+
serialize(_options?: SerializeOptions): string {
|
|
170
171
|
return [
|
|
171
172
|
"COMMENT ON COLUMN",
|
|
172
173
|
`${this.materializedView.schema}.${this.materializedView.name}.${this.column.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { stableId } from "../../utils.ts";
|
|
2
3
|
import type { MaterializedView } from "../materialized-view.model.ts";
|
|
3
4
|
import { CreateMaterializedViewChange } from "./materialized-view.base.ts";
|
|
@@ -62,7 +63,7 @@ export class CreateMaterializedView extends CreateMaterializedViewChange {
|
|
|
62
63
|
return Array.from(dependencies);
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
serialize(): string {
|
|
66
|
+
serialize(_options?: SerializeOptions): string {
|
|
66
67
|
const parts: string[] = ["CREATE MATERIALIZED VIEW"];
|
|
67
68
|
|
|
68
69
|
// Add schema and name
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { stableId } from "../../utils.ts";
|
|
2
3
|
import type { MaterializedView } from "../materialized-view.model.ts";
|
|
3
4
|
import { DropMaterializedViewChange } from "./materialized-view.base.ts";
|
|
@@ -51,7 +52,7 @@ export class DropMaterializedView extends DropMaterializedViewChange {
|
|
|
51
52
|
];
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
serialize(): string {
|
|
55
|
+
serialize(_options?: SerializeOptions): string {
|
|
55
56
|
return [
|
|
56
57
|
"DROP MATERIALIZED VIEW",
|
|
57
58
|
`${this.materializedView.schema}.${this.materializedView.name}`,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import {
|
|
2
3
|
formatObjectPrivilegeList,
|
|
3
4
|
getObjectKindPrefix,
|
|
@@ -58,7 +59,7 @@ export class GrantMaterializedViewPrivileges extends AlterMaterializedViewChange
|
|
|
58
59
|
return [this.materializedView.stableId, stableId.role(this.grantee)];
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
serialize(): string {
|
|
62
|
+
serialize(_options?: SerializeOptions): string {
|
|
62
63
|
const hasGrantable = this.privileges.some((p) => p.grantable);
|
|
63
64
|
const hasBase = this.privileges.some((p) => !p.grantable);
|
|
64
65
|
if (hasGrantable && hasBase) {
|
|
@@ -138,7 +139,7 @@ export class RevokeMaterializedViewPrivileges extends AlterMaterializedViewChang
|
|
|
138
139
|
];
|
|
139
140
|
}
|
|
140
141
|
|
|
141
|
-
serialize(): string {
|
|
142
|
+
serialize(_options?: SerializeOptions): string {
|
|
142
143
|
const kindPrefix = getObjectKindPrefix("MATERIALIZED VIEW");
|
|
143
144
|
const list = this.privileges.map((p) => p.privilege);
|
|
144
145
|
const privSql = formatObjectPrivilegeList(
|
|
@@ -195,7 +196,7 @@ export class RevokeGrantOptionMaterializedViewPrivileges extends AlterMaterializ
|
|
|
195
196
|
];
|
|
196
197
|
}
|
|
197
198
|
|
|
198
|
-
serialize(): string {
|
|
199
|
+
serialize(_options?: SerializeOptions): string {
|
|
199
200
|
const kindPrefix = getObjectKindPrefix("MATERIALIZED VIEW");
|
|
200
201
|
const privSql = formatObjectPrivilegeList(
|
|
201
202
|
"MATERIALIZED VIEW",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { formatConfigValue } from "../utils.ts";
|
|
3
4
|
import { AlterProcedureChange } from "./procedure.base.ts";
|
|
@@ -60,7 +61,7 @@ export class AlterProcedureChangeOwner extends AlterProcedureChange {
|
|
|
60
61
|
return [this.procedure.stableId];
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
serialize(): string {
|
|
64
|
+
serialize(_options?: SerializeOptions): string {
|
|
64
65
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
65
66
|
|
|
66
67
|
return [
|
|
@@ -91,7 +92,7 @@ export class AlterProcedureSetSecurity extends AlterProcedureChange {
|
|
|
91
92
|
return [this.procedure.stableId];
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
serialize(): string {
|
|
95
|
+
serialize(_options?: SerializeOptions): string {
|
|
95
96
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
96
97
|
const security = this.securityDefiner
|
|
97
98
|
? "SECURITY DEFINER"
|
|
@@ -142,7 +143,7 @@ export class AlterProcedureSetConfig extends AlterProcedureChange {
|
|
|
142
143
|
return [this.procedure.stableId];
|
|
143
144
|
}
|
|
144
145
|
|
|
145
|
-
serialize(): string {
|
|
146
|
+
serialize(_options?: SerializeOptions): string {
|
|
146
147
|
const head = [
|
|
147
148
|
"ALTER",
|
|
148
149
|
this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION",
|
|
@@ -176,7 +177,7 @@ export class AlterProcedureSetVolatility extends AlterProcedureChange {
|
|
|
176
177
|
return [this.procedure.stableId];
|
|
177
178
|
}
|
|
178
179
|
|
|
179
|
-
serialize(): string {
|
|
180
|
+
serialize(_options?: SerializeOptions): string {
|
|
180
181
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
181
182
|
const volMap: Record<string, string> = {
|
|
182
183
|
i: "IMMUTABLE",
|
|
@@ -210,7 +211,7 @@ export class AlterProcedureSetStrictness extends AlterProcedureChange {
|
|
|
210
211
|
return [this.procedure.stableId];
|
|
211
212
|
}
|
|
212
213
|
|
|
213
|
-
serialize(): string {
|
|
214
|
+
serialize(_options?: SerializeOptions): string {
|
|
214
215
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
215
216
|
const strictness = this.isStrict ? "STRICT" : "CALLED ON NULL INPUT";
|
|
216
217
|
return [
|
|
@@ -240,7 +241,7 @@ export class AlterProcedureSetLeakproof extends AlterProcedureChange {
|
|
|
240
241
|
return [this.procedure.stableId];
|
|
241
242
|
}
|
|
242
243
|
|
|
243
|
-
serialize(): string {
|
|
244
|
+
serialize(_options?: SerializeOptions): string {
|
|
244
245
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
245
246
|
const leak = this.leakproof ? "LEAKPROOF" : "NOT LEAKPROOF";
|
|
246
247
|
return ["ALTER", objectType, procedureSignature(this.procedure), leak].join(
|
|
@@ -267,7 +268,7 @@ export class AlterProcedureSetParallel extends AlterProcedureChange {
|
|
|
267
268
|
return [this.procedure.stableId];
|
|
268
269
|
}
|
|
269
270
|
|
|
270
|
-
serialize(): string {
|
|
271
|
+
serialize(_options?: SerializeOptions): string {
|
|
271
272
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
272
273
|
const parallelMap: Record<string, string> = {
|
|
273
274
|
u: "PARALLEL UNSAFE",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { quoteLiteral } from "../../base.change.ts";
|
|
2
3
|
import { stableId } from "../../utils.ts";
|
|
3
4
|
import type { Procedure } from "../procedure.model.ts";
|
|
@@ -30,7 +31,7 @@ export class CreateCommentOnProcedure extends CreateProcedureChange {
|
|
|
30
31
|
return [this.procedure.stableId];
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
serialize(): string {
|
|
34
|
+
serialize(_options?: SerializeOptions): string {
|
|
34
35
|
return [
|
|
35
36
|
"COMMENT ON",
|
|
36
37
|
this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION",
|
|
@@ -59,7 +60,7 @@ export class DropCommentOnProcedure extends DropProcedureChange {
|
|
|
59
60
|
return [stableId.comment(this.procedure.stableId), this.procedure.stableId];
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
serialize(): string {
|
|
63
|
+
serialize(_options?: SerializeOptions): string {
|
|
63
64
|
return [
|
|
64
65
|
"COMMENT ON",
|
|
65
66
|
this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import { parseTypeString, stableId } from "../../utils.ts";
|
|
2
3
|
import type { Procedure } from "../procedure.model.ts";
|
|
3
4
|
import { CreateProcedureChange } from "./procedure.base.ts";
|
|
@@ -78,7 +79,7 @@ export class CreateProcedure extends CreateProcedureChange {
|
|
|
78
79
|
return Array.from(dependencies);
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
serialize(): string {
|
|
82
|
+
serialize(_options?: SerializeOptions): string {
|
|
82
83
|
// Use the server-generated CREATE statement for functions/procedures
|
|
83
84
|
// Normalize trailing semicolon and OR REPLACE clause according to flag
|
|
84
85
|
let definition = this.procedure.definition.trim();
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SerializeOptions } from "../../../integrations/serialize/serialize.types.ts";
|
|
1
2
|
import type { Procedure } from "../procedure.model.ts";
|
|
2
3
|
import { formatFunctionArguments } from "../utils.ts";
|
|
3
4
|
import { DropProcedureChange } from "./procedure.base.ts";
|
|
@@ -30,7 +31,7 @@ export class DropProcedure extends DropProcedureChange {
|
|
|
30
31
|
return [this.procedure.stableId];
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
serialize(): string {
|
|
34
|
+
serialize(_options?: SerializeOptions): string {
|
|
34
35
|
const objectType = this.procedure.kind === "p" ? "PROCEDURE" : "FUNCTION";
|
|
35
36
|
|
|
36
37
|
// Build argument list
|