use strict;
use warnings;
-use base 'DBIx::Class';
-__PACKAGE__->load_components(qw(
- ResultSource::RowParser
-));
+use base 'DBIx::Class::ResultSource::RowParser';
+use mro 'c3';
use DBIx::Class::Carp;
use DBIx::Class::_Util qw( UNRESOLVABLE_CONDITION dbic_internal_try fail_on_internal_call );
use Devel::GlobalDestruction;
use Scalar::Util qw/blessed weaken isweak/;
+# FIXME - somehow breaks ResultSetManager, do not remove until investigated
+use DBIx::Class::ResultSet;
+
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
+ column_info_from_storage sqlt_deploy_callback
/);
__PACKAGE__->mk_group_accessors(component_class => qw/
result_class
/);
-__PACKAGE__->mk_classaccessor( sqlt_deploy_callback => 'default_sqlt_deploy_hook' );
-
=head1 NAME
DBIx::Class::ResultSource - Result source object
$new->{_relationships} = { %{$new->{_relationships}||{}} };
$new->{name} ||= "!!NAME NOT SET!!";
$new->{_columns_info_loaded} ||= 0;
+ $new->{sqlt_deploy_callback} ||= 'default_sqlt_deploy_hook';
return $new;
}
return $self;
}
-sub add_column { shift->add_columns(@_); } # DO NOT CHANGE THIS TO GLOB
+sub add_column {
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+ shift->add_columns(@_)
+}
=head2 has_column
$self->_ordered_columns([ grep { not $to_remove{$_} } @{$self->_ordered_columns} ]);
}
-# DO NOT CHANGE THIS TO A GLOB
sub remove_column {
DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
shift->remove_columns(@_)
=back
- __PACKAGE__->sqlt_deploy_callback('mycallbackmethod');
+ __PACKAGE__->result_source_instance->sqlt_deploy_callback('mycallbackmethod');
or
- __PACKAGE__->sqlt_deploy_callback(sub {
+ __PACKAGE__->result_source_instance->sqlt_deploy_callback(sub {
my ($source_instance, $sqlt_table) = @_;
...
} );