}
sub _custom_column_info {
- my $info = shift;
+ my ( $table_name, $column_name, $column_info ) = @_;
- if ( lc( $info->{TABLE_NAME} ) eq 'loader_test11'
- and lc( $info->{COLUMN_NAME} ) eq 'loader_test10'
+ $table_name = lc ( $table_name );
+ $column_name = lc ( $column_name );
+
+ if ( $table_name eq 'loader_test11'
+ and $column_name eq 'loader_test10'
){
return { is_numeric => 1 }
}
# Set inflate_datetime or inflate_date to check
# datetime_timezone and datetime_locale
- if ( lc( $info->{TABLE_NAME} ) eq 'loader_test36' ){
+ if ( $table_name eq 'loader_test36' ){
return { inflate_datetime => 1 } if
- ( lc( $info->{COLUMN_NAME} ) eq 'b_char_as_data' );
+ ( $column_name eq 'b_char_as_data' );
return { inflate_date => 1 } if
- ( lc( $info->{COLUMN_NAME} ) eq 'c_char_as_data' );
+ ( $column_name eq 'c_char_as_data' );
}
return;
sub run_tests {
my $self = shift;
- plan tests => 155 + ($self->{extra}->{count} || 0);
+ plan tests => 156 + ($self->{extra}->{count} || 0);
$self->create();
$warn_count++ for grep /^Bad table or view/, @loader_warnings;
+ $warn_count++ for grep /stripping trailing _id/, @loader_warnings;
+
my $vendor = $self->{vendor};
$warn_count++ for grep /${vendor}_\S+ has no primary key/,
@loader_warnings;
ok($class10->column_info('loader_test11')->{is_foreign_key}, 'Foreign key detected');
ok($class11->column_info('loader_test10')->{is_foreign_key}, 'Foreign key detected');
+
# Added by custom_column_info
- ok($class11->column_info('loader_test10')->{is_numeric}, 'is_numeric detected');
+ ok($class11->column_info('loader_test10')->{is_numeric}, 'custom_column_info');
- is($class36->column_info('a_date')->{locale},'de_DE','locale is correct');
- is($class36->column_info('a_date')->{timezone},'Europe/Berlin','locale is correct');
+ is($class36->column_info('a_date')->{locale},'de_DE','datetime_locale');
+ is($class36->column_info('a_date')->{timezone},'Europe/Berlin','datetime_timezone');
- ok($class36->column_info('b_char_as_data')->{inflate_datetime},'inflate_datetime detected');
- is($class36->column_info('b_char_as_data')->{locale},'de_DE','locale is correct');
- is($class36->column_info('b_char_as_data')->{timezone},'Europe/Berlin','locale is correct');
+ ok($class36->column_info('b_char_as_data')->{inflate_datetime},'custom_column_info');
+ is($class36->column_info('b_char_as_data')->{locale},'de_DE','datetime_locale');
+ is($class36->column_info('b_char_as_data')->{timezone},'Europe/Berlin','datetime_timezone');
- ok($class36->column_info('c_char_as_data')->{inflate_date},'inflate_date detected');
- is($class36->column_info('c_char_as_data')->{locale},'de_DE','locale is correct');
- is($class36->column_info('c_char_as_data')->{timezone},'Europe/Berlin','locale is correct');
+ ok($class36->column_info('c_char_as_data')->{inflate_date},'custom_column_info');
+ is($class36->column_info('c_char_as_data')->{locale},'de_DE','datetime_locale');
+ is($class36->column_info('c_char_as_data')->{timezone},'Europe/Berlin','datetime_timezone');
my $obj10 = $rsobj10->create({ subject => 'xyzzy' });
isa_ok( $obj13->id, $class12 );
isa_ok( $obj13->loader_test12, $class12);
isa_ok( $obj13->dat, $class12);
+
+ my $obj12 = $rsobj12->find(1);
+ isa_ok( $obj12->loader_test13, $class13 );
}
SKIP: {