From: Brandon L. Black Date: Tue, 12 Sep 2006 19:31:10 +0000 (+0000) Subject: Backported column_info_from_storage accessor from -current, but defaults true instead... X-Git-Tag: v0.07002~2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=30813c9065defa8d2345b00fa368448f9067a633;p=dbsrgits%2FDBIx-Class.git Backported column_info_from_storage accessor from -current, but defaults true instead of false in 0.07xxx --- diff --git a/Changes b/Changes index c452124..96e9b62 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,8 @@ Revision history for DBIx::Class + - Backported column_info_from_storage accessor from -current, but + defaults true instead of false in 0.07xxx + 0.07002 - fixed inflate_datetime.t tests/stringify under older Test::More - cleared up Relationship docs, and fixed some typos diff --git a/lib/DBIx/Class/ResultSource.pm b/lib/DBIx/Class/ResultSource.pm index ffb8bae..1be530e 100644 --- a/lib/DBIx/Class/ResultSource.pm +++ b/lib/DBIx/Class/ResultSource.pm @@ -12,7 +12,7 @@ __PACKAGE__->load_components(qw/AccessorGroup/); __PACKAGE__->mk_group_accessors('simple' => qw/_ordered_columns _columns _primaries _unique_constraints name resultset_attributes - schema from _relationships source_name/); + schema from _relationships column_info_from_storage source_name/); __PACKAGE__->mk_group_accessors('component_class' => qw/resultset_class result_class/); @@ -56,6 +56,9 @@ sub new { $new->{_relationships} = { %{$new->{_relationships}||{}} }; $new->{name} ||= "!!NAME NOT SET!!"; $new->{_columns_info_loaded} ||= 0; + if(!defined $new->column_info_from_storage) { + $new->{column_info_from_storage} = 1 + } return $new; } @@ -184,6 +187,7 @@ sub column_info { unless exists $self->_columns->{$column}; #warn $self->{_columns_info_loaded}, "\n"; if ( ! $self->_columns->{$column}{data_type} + and $self->column_info_from_storage and ! $self->{_columns_info_loaded} and $self->schema and $self->storage ) { @@ -204,6 +208,17 @@ sub column_info { return $self->_columns->{$column}; } +=head2 column_info_from_storage + +Enables or disables the on-demand automatic loading of the above +column metadata from storage as neccesary. Defaults to true in the +current release, but will default to false in future releases starting +with 0.08000. This is *deprecated*, and should not be used. It will +be removed before 1.0. + + __PACKAGE__->column_info_from_storage(0); + __PACKAGE__->column_info_from_storage(1); + =head2 columns my @column_names = $obj->columns; diff --git a/lib/DBIx/Class/ResultSourceProxy.pm b/lib/DBIx/Class/ResultSourceProxy.pm index a668164..1ae920e 100644 --- a/lib/DBIx/Class/ResultSourceProxy.pm +++ b/lib/DBIx/Class/ResultSourceProxy.pm @@ -34,6 +34,10 @@ sub column_info { shift->result_source_instance->column_info(@_); } +sub column_info_from_storage { + shift->result_source_instance->column_info_from_storage(@_); +} + sub columns { shift->result_source_instance->columns(@_); }