ESP-026 — DDL DROP INDEX + IF EXISTS
Estender DROP INDEX (ESP-025) com GetIfExists / método fluente IfExists, e serialização DROP INDEX IF EXISTS em Firebird e PostgreSQL conforme ADR-026. Comportamento actual preservado quando IfExists não é usado.
Scope
- Interfaces
IFluentDDLDropIndexDef / IFluentDDLDropIndexBuilder com GetIfExists e IfExists (alinhado a IFluentDDLDropBuilder).
DDLDropIndexSQL actualizado; excepções conforme ADR-026.
- Testes DUnitX em
Test Delphi/test.ddl.pas.
- Documentação:
docs-src/docs/fluentsql/guides/ddl-drop-index.md (e referências se necessário).
Out of scope
CONCURRENTLY, CASCADE, múltiplos índices; MySQL-style DROP INDEX … ON table; CHANGELOG/versão fora de /release.
Acceptance criteria
References
esp.md, adr.md, plan.md, task-input.md em .claude/pipeline/.
ESP-026 — DDL
DROP INDEX+IF EXISTSEstender DROP INDEX (ESP-025) com
GetIfExists/ método fluenteIfExists, e serializaçãoDROP INDEX IF EXISTSem Firebird e PostgreSQL conforme ADR-026. Comportamento actual preservado quandoIfExistsnão é usado.Scope
IFluentDDLDropIndexDef/IFluentDDLDropIndexBuildercomGetIfExistseIfExists(alinhado aIFluentDDLDropBuilder).DDLDropIndexSQLactualizado; excepções conforme ADR-026.Test Delphi/test.ddl.pas.docs-src/docs/fluentsql/guides/ddl-drop-index.md(e referências se necessário).Out of scope
CONCURRENTLY,CASCADE, múltiplos índices; MySQL-styleDROP INDEX … ON table; CHANGELOG/versão fora de/release.Acceptance criteria
esp.md.IfExists, comportamento inalterado).IfExistsem Firebird e PostgreSQL; dialeto não suportado conforme matriz.npm run buildemdocs-srcse.mdalterado.References
esp.md,adr.md,plan.md,task-input.mdem.claude/pipeline/.