$self->_set_quote_char_and_name_sep;
}
+# remove 'IDENTITY' from column data_type
+sub _columns_info_for {
+ my $self = shift;
+ my $result = $self->next::method(@_);
+
+ for my $col (keys %$result) {
+ $result->{$col}->{data_type} =~ s/\s* identity \s*//ix;
+ }
+
+ return $result;
+}
+
sub _table_pk_info {
my ($self, $table) = @_;
my $dbh = $self->schema->storage->dbh;
},
],
drop => [ "[${vendor}_loader_test1.dot]" ],
- count => 4,
+ count => 6,
run => sub {
my ($schema, $monikers, $classes) = @_;
+# Test that the table above (with '.' in name) gets loaded correctly.
my $vendor_titlecased = "\u\L$vendor";
ok((my $rs = eval {
is eval { $$from }, "[${vendor}_loader_test1.dot]",
'->table name is correct';
+
+# Test that identity columns do not have 'identity' in the data_type, and do
+# have is_auto_increment.
+ my $identity_col_info = $schema->resultset('LoaderTest10')
+ ->result_source->column_info('id10');
+
+ is $identity_col_info->{data_type}, 'int',
+ q{'INT IDENTITY' column has data_type => 'int'};
+
+ is $identity_col_info->{is_auto_increment}, 1,
+ q{'INT IDENTITY' column has is_auto_increment => 1};
},
}}