Skip to content
Prev Previous commit
Next Next commit
I have no idea what I'm doing
Signed-off-by: Joas Schilling <[email protected]>
  • Loading branch information
nickvergessen committed Jul 9, 2024
commit 61f3289a96022d1e2db671914cdaae0fc1bc100f
4 changes: 2 additions & 2 deletions lib/private/DB/AdapterOCI8.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public function fixupStatement($statement) {
$statement = str_ireplace('UNIX_TIMESTAMP()', self::UNIX_TIMESTAMP_REPLACEMENT, $statement);

$statement = preg_replace(
'/^INSERT INTO (.*) VALUES (.*) INTO (.*)$/',
'INSERT INTO ${1} VALUES ${2} RETURNING pk_id INTO ${3}',
'/^INSERT INTO (".*")( ?\(.*) ?VALUES( ?\(.*)$/',
'DECLARE vRowid ROWID; BEGIN INSERT INTO ${1} VALUES ${2} RETURNING ROWID INTO vRowid dbms_output.put_line(vRowid); END',
$statement
);

Expand Down
2 changes: 1 addition & 1 deletion lib/private/DB/OracleConnection.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ public function executeStatement($sql, array $params = [], array $types = []): i
$returned = parent::executeStatement($sql, $params, $types);

var_dump($sql);
if (preg_match('/^INSERT INTO (.*) VALUES (.*) INTO (.*)$/', $sql, $matches)) {
if (preg_match('/^DECLARE vRowid ROWID; BEGIN INSERT INTO (.*) VALUES (.*) INTO (.*)$/', $sql, $matches)) {
var_dump($returned);
$this->lastInsertId[$matches[1]] = $returned;
var_dump($this->lastInsertId);
Expand Down