the maintainer believe this is safe, but this is a very complex
area and reality may turn out to be different. If **ANYHTING** at
all seems out of place, please file a report at once
+ - The unique constraint info (including the primary key columns) is no
+ longer shared between related (class and schema-level) ResultSource
+ instances
- Neither exception_action() nor $SIG{__DIE__} handlers are invoked
on recoverable errors. This ensures that the retry logic is fully
insulated from changes in control flow, as the handlers are only
use namespace::clean;
-__PACKAGE__->mk_group_accessors(simple => qw/
- source_name name source_info
- _ordered_columns _columns _primaries _unique_constraints
- _relationships resultset_attributes
- column_info_from_storage sqlt_deploy_callback
-/);
+my @hashref_attributes = qw(
+ source_info resultset_attributes
+ _columns _unique_constraints _relationships
+);
+my @arrayref_attributes = qw(
+ _ordered_columns _primaries
+);
+__PACKAGE__->mk_group_accessors(simple =>
+ @hashref_attributes,
+ @arrayref_attributes,
+ qw( source_name name column_info_from_storage sqlt_deploy_callback ),
+);
__PACKAGE__->mk_group_accessors(component_class => qw/
resultset_class
$self->{sqlt_deploy_callback} ||= 'default_sqlt_deploy_hook';
$self->{$_} = { %{ $self->{$_} || {} } }
- for qw( _columns _relationships resultset_attributes );
+ for @hashref_attributes;
- $self->{_ordered_columns} = [ @{ $self->{_ordered_columns} || [] } ];
+ $self->{$_} = [ @{ $self->{$_} || [] } ]
+ for @arrayref_attributes;
$self;
}