Skip to content

ESP-027 — DDL DROP INDEX CONCURRENTLY (PostgreSQL, opt-in) #42

Description

@isaquepinheiro

ESP-027 — DDL DROP INDEX CONCURRENTLY (PostgreSQL, opt-in)

Summary

Estender DROP INDEX com GetConcurrently / Concurrently no builder; serializar DROP INDEX CONCURRENTLY apenas para PostgreSQL conforme ADR-027. Outros dialectos: ENotSupportedException com ESP-027. Preserva o comportamento actual quando Concurrently não é usado. Complementa ADR-026 sem o revogar.

Acceptance criteria

  • API e serialização conforme ADR-027 e esp.md (PostgreSQL; excepções noutros dialectos).
  • Regressão ESP-025 / ESP-026 preservada quando Concurrently não é usado.
  • Novos casos DUnitX: Concurrently em PostgreSQL (com e sem IfExists conforme ADR-027); rejeição documentada noutros dialectos.
  • Guia Docusaurus actualizado; npm run build em docs-src quando ficheiros .md forem alterados.
  • Relatórios da esteira coerentes com esta tarefa; ROADMAP.md com ESP-027 entregue apenas após /release (versão + data).

Scope

  • Interfaces IFluentDDLDropIndexDef / IFluentDDLDropIndexBuilder com GetConcurrently e Concurrently.
  • DDLDropIndexSQL — ramo PostgreSQL com matriz Concurrently × IfExists; demais dialectos com Concurrently → excepção.
  • Testes DUnitX em Test Delphi/test.ddl.pas.
  • Documentação em docs-src/docs/fluentsql/guides/ddl-drop-index.md (e referências cruzadas se necessário).

Out of scope

  • CONCURRENTLY fora de PostgreSQL; CASCADE, múltiplos índices, MySQL ON table.
  • Validação de transacção ou versão do servidor em runtime.
  • CHANGELOG/versão/tag só com /release.

References

Pipeline: .claude/pipeline/esp.md, adr.md, plan.md, task-input.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions