Skip to content

Commit 6c3dc59

Browse files
committed
adjust oracle SEQUENCE translation to DOD style
1 parent 004c737 commit 6c3dc59

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

lib/Data/ObjectDriver/Driver/DBD/Oracle.pm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ sub fetch_id {
4343
my $dbd = shift;
4444
my ($class, $dbh, $sth, $driver) = @_;
4545
my $seq = $dbd->sequence_name($class, $driver);
46+
$seq = $dbh->quote_identifier($seq);
4647
my ($last_insert_id) = $dbh->selectrow_array("SELECT $seq.CURRVAL "
4748
. " FROM DUAL");
4849
return $last_insert_id;

t/lib/DodTestUtil.pm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,13 @@ sub create_sql {
196196
add_drop_table => $drop_table,
197197
);
198198
$sql = $sqlt->translate(\$sql) or die $sqlt->error;
199-
return split_sql_for_oracle(patch_oracle_drop($sql)) if $driver eq 'Oracle';
199+
return split_sql_for_oracle(patch_oracle_sql($sql)) if $driver eq 'Oracle';
200200
return split_sql($sql);
201201
}
202202
$sql;
203203
}
204204

205-
sub patch_oracle_drop {
205+
sub patch_oracle_sql {
206206
my $sql = shift;
207207
$sql =~ s{(DROP (TABLE|SEQUENCE) "(.+)".*);}{
208208
BEGIN
@@ -212,6 +212,7 @@ sub patch_oracle_drop {
212212
END;
213213
/
214214
}g;
215+
$sql =~ s/"\bsq_(\w+)"/'"'. $1. '_seq"'/ge;
215216
return $sql;
216217
}
217218

0 commit comments

Comments
 (0)