refactor: move duplication in the implementations of _close() to the base class

This commit is contained in:
Dyno 2022-10-13 10:23:39 +02:00
parent 78ae90dd87
commit 0b6e0e4a9a
No known key found for this signature in database
GPG Key ID: 2C9348AA0D6EF676
7 changed files with 24 additions and 41 deletions

View File

@ -115,6 +115,11 @@ parameters:
count: 1
path: system/Database/Migration.php
-
message: "#^Property CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:\\$statement \\(object\\|resource\\) in isset\\(\\) is not nullable\\.$#"
count: 1
path: system/Database/BasePreparedQuery.php
-
message: "#^Cannot access property \\$errno on bool\\|object\\|resource\\.$#"
count: 1
@ -222,7 +227,7 @@ parameters:
-
message: "#^Property CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:\\$statement \\(object\\|resource\\) in isset\\(\\) is not nullable\\.$#"
count: 2
count: 1
path: system/Database/MySQLi/PreparedQuery.php
-
@ -267,7 +272,7 @@ parameters:
-
message: "#^Property CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:\\$statement \\(object\\|resource\\) in isset\\(\\) is not nullable\\.$#"
count: 2
count: 1
path: system/Database/OCI8/PreparedQuery.php
-
@ -277,7 +282,7 @@ parameters:
-
message: "#^Property CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:\\$statement \\(object\\|resource\\) in isset\\(\\) is not nullable\\.$#"
count: 2
count: 1
path: system/Database/Postgre/PreparedQuery.php
-
@ -292,7 +297,7 @@ parameters:
-
message: "#^Property CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:\\$statement \\(object\\|resource\\) in isset\\(\\) is not nullable\\.$#"
count: 2
count: 1
path: system/Database/SQLSRV/PreparedQuery.php
-
@ -367,7 +372,7 @@ parameters:
-
message: "#^Property CodeIgniter\\\\Database\\\\BasePreparedQuery\\:\\:\\$statement \\(object\\|resource\\) in isset\\(\\) is not nullable\\.$#"
count: 2
count: 1
path: system/Database/SQLite3/PreparedQuery.php
-

View File

@ -151,7 +151,15 @@ abstract class BasePreparedQuery implements PreparedQueryInterface
*/
public function close(): bool
{
return $this->_close();
if (! isset($this->statement)) {
return true;
}
try {
return $this->_close();
} finally {
unset($this->statement);
}
}
/**

View File

@ -95,12 +95,6 @@ class PreparedQuery extends BasePreparedQuery
*/
protected function _close(): bool
{
$error = true;
if (isset($this->statement)) {
$error = $this->statement->close();
unset($this->statement);
}
return $error;
return $this->statement->close();
}
}

View File

@ -103,13 +103,7 @@ class PreparedQuery extends BasePreparedQuery implements PreparedQueryInterface
*/
protected function _close(): bool
{
$error = true;
if (isset($this->statement)) {
$error = oci_free_statement($this->statement);
unset($this->statement);
}
return $error;
return oci_free_statement($this->statement);
}
/**

View File

@ -103,13 +103,7 @@ class PreparedQuery extends BasePreparedQuery
*/
protected function _close(): bool
{
$error = true;
if (isset($this->statement)) {
$error = (bool) pg_query($this->db->connID, 'DEALLOCATE "' . $this->db->escapeIdentifiers($this->name) . '"');
unset($this->statement);
}
return $error;
return (bool) pg_query($this->db->connID, 'DEALLOCATE "' . $this->db->escapeIdentifiers($this->name) . '"');
}
/**

View File

@ -121,13 +121,7 @@ class PreparedQuery extends BasePreparedQuery
*/
protected function _close(): bool
{
$error = true;
if (isset($this->statement)) {
$error = sqlsrv_free_stmt($this->statement);
unset($this->statement);
}
return $error;
return sqlsrv_free_stmt($this->statement);
}
/**

View File

@ -97,12 +97,6 @@ class PreparedQuery extends BasePreparedQuery
*/
protected function _close(): bool
{
$error = true;
if (isset($this->statement)) {
$error = $this->statement->close();
unset($this->statement);
}
return $error;
return $this->statement->close();
}
}