__PACKAGE__->mk_group_accessors('simple' => qw/_ordered_columns
_columns _primaries _unique_constraints name resultset_attributes
- schema from _relationships column_info_from_storage source_name/);
+ schema from _relationships column_info_from_storage source_name
+ source_info/);
__PACKAGE__->mk_group_accessors('component_class' => qw/resultset_class
result_class/);
sub new {
my ($class, $attrs) = @_;
$class = ref $class if ref $class;
- my $new = bless({ %{$attrs || {}}, _resultset => undef }, $class);
+
+ my $new = { %{$attrs || {}}, _resultset => undef };
+ bless $new, $class;
+
$new->{resultset_class} ||= 'DBIx::Class::ResultSet';
$new->{resultset_attributes} = { %{$new->{resultset_attributes} || {}} };
$new->{_ordered_columns} = [ @{$new->{_ordered_columns}||[]}];
=pod
+=head2 source_info
+
+Stores a hashref of per-source metadata. No specific key names
+have yet been standardized, the examples below are purely hypothetical
+and don't actually accomplish anything on their own:
+
+ __PACKAGE__->source_info({
+ "_tablespace" => 'fast_disk_array_3',
+ "_engine" => 'InnoDB',
+ });
+
=head2 add_columns
$table->add_columns(qw/col1 col2 col3/);
my $info;
my $lc_info;
# eval for the case of storage without table
- eval { $info = $self->storage->columns_info_for( $self->from, keys %{$self->_columns} ) };
+ eval { $info = $self->storage->columns_info_for( $self->from ) };
unless ($@) {
for my $realcol ( keys %{$info} ) {
$lc_info->{lc $realcol} = $info->{$realcol};
return $self->_columns->{$column};
}
-=head2 load_column_info_from_storage
+=head2 column_info_from_storage
Enables the on-demand automatic loading of the above column
-metadata from storage as neccesary.
-
-=cut
+metadata from storage as neccesary. This is *deprecated*, and
+should not be used. It will be removed before 1.0.
-sub load_column_info_from_storage { shift->column_info_from_storage(1) }
+ __PACKAGE__->column_info_from_storage(1);
=head2 columns
}
foreach (@cols) {
- undef $columns->{$_};
+ delete $columns->{$_};
};
$self->_ordered_columns(\@remaining);