NAME

DBIO::Firebird::Diff::Index - Diff operations for Firebird indexes

VERSION

version 0.900001

DESCRIPTION

Index-level diff operations for Firebird. Firebird supports CREATE INDEX and DROP INDEX. Changed index definitions become a drop-then-create pair.

METHODS

diff

my @ops = DBIO::Firebird::Diff::Index->diff(
  $source, $target, $source_tables, $target_tables);

Compares index sets across all tables. Index identity is by name; a changed definition produces a drop-then-create pair.

The optional $source_tables / $target_tables hashrefs are the tables sections of the two models (threaded in by DBIO::Firebird::Diff via its aux-section wiring). They are used to detect tables that are being dropped in this same diff pass: Firebird's DROP TABLE already removes that table's own indexes, so a later standalone DROP INDEX for one of them would fail once the table is gone and abort the deploy (karr #14). When these arguments are absent (e.g. direct unit-test calls) the dropped-table set is empty and no drops are suppressed, preserving the original two-argument behaviour.

as_sql

summary

AUTHOR

DBIO & DBIx::Class Authors

COPYRIGHT AND LICENSE

Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.