NAME

DBIO::Oracle::Introspect::Keys - Introspect Oracle primary key and unique constraints

VERSION

version 0.900000

DESCRIPTION

Fetches Oracle primary key (P) and unique (U) constraint metadata via all_constraints and all_cons_columns. The DBIO::Oracle::Introspect::Indexes submodule deliberately excludes constraint-backed indexes, so this module is the source of primary/unique key information for the normalized generation contract in DBIO::Introspect::Base.

METHODS

fetch

my $keys = DBIO::Oracle::Introspect::Keys->fetch($dbh, $schema, $tables);

Given the tables hashref from DBIO::Oracle::Introspect::Tables, returns a hashref:

{
    primary => { $table => [ @ordered_pk_columns ] },
    unique  => { $table => [ [ $constraint_name, [ @columns ] ], ... ] },
}

Both sub-hashes contain an entry for every known table (empty arrayref when the table has no such constraint).

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.