TT#118050 skip NULL values for mssql INDENTITY columns

Change-Id: I464a4645bf6a19299bbb46f3824974bc72113a42
(cherry picked from commit b4a70b1c9c)
mr7.5.5
Rene Krenn 5 years ago
parent 4034746067
commit dfb351e955

@ -715,11 +715,14 @@ sub update_record {
sub insert_stmt {
my ($get_db,$class,$insert_ignore) = @_;
my ($get_db,$class,$insert_ignore,$exclude_identity_fieldnames) = @_;
my $db = (ref $get_db eq 'CODE') ? &$get_db() : $get_db;
my $connectidentifier = $db->connectidentifier();
my $tid = threadid();
my $expected_fieldnames = $table_expected_fieldnames->{$tid}->{$connectidentifier}->{$class};
if ($exclude_identity_fieldnames) {
$expected_fieldnames = [ grep { not contains($_,$exclude_identity_fieldnames); } @$expected_fieldnames ];
}
my $tablename = $table_names->{$tid}->{$connectidentifier}->{$class};
return 'INSERT ' . ($insert_ignore ? $db->insert_ignore_phrase() . ' ' : '') . 'INTO ' . $db->tableidentifier($tablename) . ' (' .
join(', ',map { local $_ = $_; $_ = $db->columnidentifier($_); $_; } @$expected_fieldnames) .

Loading…
Cancel
Save