Details
Description
The method lastInsertId() is not defined for OCI8 Driver in Doctrine\DBAL\Driver\OCI8\OCI8Connection.php :
OCI8Connection.php
public function lastInsertId($name = null) { //TODO: throw exception or support sequences? }
I propose this method to handle lastInsertId for sequence :
OCI8Connection.php
public function lastInsertId($name = null) { // For sequence if (is_string($name)) { // We can check eventually check the presence of the sequence in the table // USER_SEQUENCES $sql = 'SELECT ' . $name . '.CURRVAL FROM DUAL'; // will throw an exception if this sequence does not exist $stmt = $this->query($sql); $result = $stmt->fetch(\PDO::FETCH_ASSOC); if ($result !== false && isset($result['CURRVAL'])) { return (int) $result['CURRVAL']; } } // OCI8 driver does not provide support of lastInsertId return null; }
Thanks,
Activity
Benjamin Eberlei
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Fix Version/s | 2.3 [ 10184 ] | |
| Fix Version/s | 2.2.3 [ 10210 ] | |
| Resolution | Fixed [ 1 ] |
Benjamin Eberlei
made changes -
| Workflow | jira [ 13702 ] | jira-feedback2 [ 17832 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback2 [ 17832 ] | jira-feedback3 [ 20187 ] |