NAME

DBIO::Replicated::Backend - Wrapper base class for replicated backends

VERSION

version 0.900004

DESCRIPTION

Wraps one real storage of a replicated setup (the master or a replicant) and carries its identity: storage (the wrapped storage), dsn, id, active and kind are plain read/write accessors. Every other method call is forwarded to the wrapped storage through AUTOLOAD; it throws if there is no wrapped storage or the storage does not implement the method.

METHODS

new

my $backend = DBIO::Replicated::Backend->new(
  storage => $storage,
  dsn     => $dsn,
  id      => 'replica-1',
  active  => 1,          # default 1
  kind    => 'backend',  # default 'backend'
  master  => $master,    # optional
);

master

Getter/setter for the master backend this one belongs to. The reference is held weakly.

install_debug_proxy

$backend->install_debug_proxy($debugobj);

Sets the wrapped storage's debugobj to a DBIO::Replicated::DebugProxy around $debugobj (unwrapping it first if it is already such a proxy), so the trace output of this backend names it.

debugobj

Getter/setter forwarded to the wrapped storage's debugobj.

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.