mirror of
https://github.com/php/php-src.git
synced 2026-04-26 01:18:19 +02:00
- Add PDO::setDEfaultFetchMode() (Pierre)
This commit is contained in:
+26
-3
@@ -391,6 +391,22 @@ static PHP_METHOD(PDO, dbh_constructor)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto object PDO::setDefaultFetchMode(PDOStatement::setFetchMode())
|
||||
Set the default fetch mode for this connection */
|
||||
static PHP_METHOD(PDO, setDefaultFetchMode)
|
||||
{
|
||||
pdo_dbh_t *dbh = zend_object_store_get_object(getThis() TSRMLS_CC);
|
||||
long mode;
|
||||
|
||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &mode)) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
PDO_CONSTRUCT_CHECK;
|
||||
dbh->default_fetch_type = mode;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
static zval *pdo_stmt_instantiate(pdo_dbh_t *dbh, zval *object, zend_class_entry *dbstmt_ce, zval *ctor_args TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
if (ctor_args) {
|
||||
@@ -964,7 +980,13 @@ static PHP_METHOD(PDO, query)
|
||||
/* unconditionally keep this for later reference */
|
||||
stmt->query_string = estrndup(statement, statement_len);
|
||||
stmt->query_stringlen = statement_len;
|
||||
stmt->default_fetch_type = PDO_FETCH_BOTH;
|
||||
|
||||
if (ZEND_NUM_ARGS() == 1 && dbh->default_fetch_type) {
|
||||
stmt->default_fetch_type = dbh->default_fetch_type;
|
||||
} else {
|
||||
stmt->default_fetch_type = PDO_FETCH_BOTH;
|
||||
}
|
||||
|
||||
stmt->active_query_string = stmt->query_string;
|
||||
stmt->active_query_stringlen = statement_len;
|
||||
stmt->dbh = dbh;
|
||||
@@ -1071,8 +1093,9 @@ static PHP_METHOD(PDO, getAvailableDrivers)
|
||||
|
||||
zend_function_entry pdo_dbh_functions[] = {
|
||||
ZEND_MALIAS(PDO, __construct, dbh_constructor, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, prepare, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, beginTransaction,NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, prepare, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, setDefaultFetchMode, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, beginTransaction, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, commit, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, rollBack, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(PDO, setAttribute, NULL, ZEND_ACC_PUBLIC)
|
||||
|
||||
@@ -477,6 +477,9 @@ struct _pdo_dbh_t {
|
||||
|
||||
enum pdo_case_conversion native_case, desired_case;
|
||||
|
||||
/* defaults for fetches */
|
||||
enum pdo_fetch_type default_fetch_type;
|
||||
|
||||
/* persistent hash key associated with this handle */
|
||||
const char *persistent_id;
|
||||
int persistent_id_len;
|
||||
|
||||
Reference in New Issue
Block a user