NAME

DBIO::Base - Meta-infrastructure base for all DBIO internal classes

VERSION

version 0.900000

DESCRIPTION

DBIO::Base is the shared meta-infrastructure base for all internal DBIO classes. It bundles the common machinery that nearly every DBIO class needs:

  • use mro 'c3' for deterministic method resolution

  • DBIO::Componentised for load_components

  • Class::Accessor::Grouped for mk_group_accessors

  • mk_classdata / mk_classaccessor shortcuts

  • component_base_class so Componentised knows where to search

  • Perl subroutine attributes via MODIFY_CODE_ATTRIBUTES / _attr_cache

  • _skip_namespace_frames class data for DBIO::Carp

Internal DBIO classes (DBIO::Core, DBIO::Row, DBIO::ResultSet, DBIO::Schema, DBIO::Storage, and roughly twenty-five others) inherit from this class. User-facing result classes transitively inherit through their immediate bases.

NOT TO BE USED AS A USER-FACING BASE

User-facing result classes should inherit from DBIO::Core, not from DBIO::Base directly. DBIO::Core pulls in the standard result components (Row, Relationship, PK, Timestamp, etc.) that user code expects.

The split between DBIO::Base (meta-infrastructure) and DBIO (user sugar pragma) mirrors the Moose pattern where Moose::Meta::* sits under the hierarchy and Moose.pm provides use Moose; sugar.

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.