$new->{_columns} = { %{$new->{_columns}||{}} };
$new->{_relationships} = { %{$new->{_relationships}||{}} };
$new->{name} ||= "!!NAME NOT SET!!";
+ $new->{_columns_info_loaded} ||= 0;
return $new;
}
my ($self, $column) = @_;
$self->throw_exception("No such column $column")
unless exists $self->_columns->{$column};
- if ( (! $self->_columns->{$column}->{data_type})
+ #warn $self->{_columns_info_loaded}, "\n";
+ if ( ! $self->_columns->{$column}->{data_type}
+ && ! $self->{_columns_info_loaded}
&& $self->schema && $self->storage() ){
+ $self->{_columns_info_loaded}++;
my $info;
############ eval for the case of storage without table
eval{
sub run_tests {
my $schema = shift;
-plan tests => 38;
+plan tests => 39;
my @art = $schema->resultset("Artist")->search({ }, { order_by => 'name DESC'});
my $typeinfo = $schema->source("Artist")->column_info('artistid');
is($typeinfo->{data_type}, 'INTEGER', 'column_info ok');
+$schema->source("Artist")->column_info('artistid');
+ok($schema->source("Artist")->{_columns_info_loaded} == 1, 'Columns info flag set');
+
}
1;