ext/pdo_sqlite: adding Pdo_Sqlite::ATTR_BUSY_STATEMENT

allow to check if a statement is still running before reusage.

close GH-18804
This commit is contained in:
David Carlier 2025-06-08 14:07:47 +01:00
parent 8a3201d91e
commit 53231a81dd
No known key found for this signature in database
GPG key ID: 8486F847B4B94EF1
11 changed files with 58 additions and 23 deletions

View file

@ -375,13 +375,18 @@ static int pdo_sqlite_stmt_get_attribute(pdo_stmt_t *stmt, zend_long attr, zval
case PDO_SQLITE_ATTR_READONLY_STATEMENT:
ZVAL_FALSE(val);
#if SQLITE_VERSION_NUMBER >= 3007004
if (sqlite3_stmt_readonly(S->stmt)) {
ZVAL_TRUE(val);
}
#endif
if (sqlite3_stmt_readonly(S->stmt)) {
ZVAL_TRUE(val);
}
break;
case PDO_SQLITE_ATTR_BUSY_STATEMENT:
ZVAL_FALSE(val);
if (sqlite3_stmt_busy(S->stmt)) {
ZVAL_TRUE(val);
}
break;
default:
return 0;
}