# Optional extra tables and tests
$self->{extra} ||= {};
+ # Not all DBS do SQL-standard CURRENT_TIMESTAMP
+ $self->{default_function} ||= "CURRENT_TIMESTAMP";
+ $self->{default_function_def} ||= "TIMESTAMP DEFAULT $self->{default_function}";
+
return bless $self => $class;
}
sub run_tests {
my $self = shift;
- plan tests => 140 + ($self->{extra}->{count} || 0);
+ plan tests => 145 + ($self->{extra}->{count} || 0);
$self->create();
my $file_count;
find sub { return if -d; $file_count++ }, $DUMP_DIR;
- my $expected_count = 34;
+ my $expected_count = 35;
$expected_count += grep /CREATE (?:TABLE|VIEW)/i,
@{ $self->{extra}{create} || [] };
my $class24 = $classes->{LoAdEr_test24};
my $rsobj24 = $conn->resultset($moniker2);
+ my $moniker35 = $monikers->{loader_test35};
+ my $class35 = $classes->{loader_test35};
+ my $rsobj35 = $conn->resultset($moniker35);
+
isa_ok( $rsobj1, "DBIx::Class::ResultSet" );
isa_ok( $rsobj2, "DBIx::Class::ResultSet" );
isa_ok( $rsobj23, "DBIx::Class::ResultSet" );
isa_ok( $rsobj24, "DBIx::Class::ResultSet" );
+ isa_ok( $rsobj35, "DBIx::Class::ResultSet" );
my @columns_lt2 = $class2->columns;
is_deeply( \@columns_lt2, [ qw/id dat dat2/ ], "Column Ordering" );
my ($obj2) = $rsobj2->search({ dat => 'bbb' })->first;
is( $obj2->id, 2 );
+ is(
+ $class35->column_info('a_varchar')->{default_value}, 'foo',
+ 'constant character default',
+ );
+
+ is(
+ $class35->column_info('an_int')->{default_value}, 42,
+ 'constant integer default',
+ );
+
+ is(
+ $class35->column_info('a_double')->{default_value}, 10.555,
+ 'constant numeric default',
+ );
+
+ my $function_default = $class35->column_info('a_function')->{default_value};
+
+ isa_ok( $function_default, 'SCALAR', 'default_value for function default' );
+ is_deeply(
+ $function_default, \$self->{default_function},
+ 'default_value for function default is correct'
+ );
+
SKIP: {
skip $self->{skip_rels}, 96 if $self->{skip_rels};
ok($class10->column_info('loader_test11')->{is_foreign_key}, 'Foreign key detected');
ok($class11->column_info('loader_test10')->{is_foreign_key}, 'Foreign key detected');
- is($class11->column_info('message')->{default_value},'foo', 'Default value check');
my $obj10 = $rsobj10->create({ subject => 'xyzzy' });
DaT VARCHAR(32) NOT NULL UNIQUE
) $self->{innodb}
},
+
+ qq{
+ CREATE TABLE loader_test35 (
+ id INTEGER NOT NULL PRIMARY KEY,
+ a_varchar VARCHAR(100) DEFAULT 'foo',
+ an_int INTEGER DEFAULT 42,
+ a_double DOUBLE PRECISION DEFAULT 10.555,
+ a_function $self->{default_function_def}
+ ) $self->{innodb}
+ },
);
@statements_reltests = (
loader_test2
LOADER_TEST23
LoAdEr_test24
+ loader_test35
/;
my @tables_auto_inc = (