1
0
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:
Marcus Boerger
2006-03-18 23:10:40 +00:00
parent 637443e794
commit d82abbf8d4
2 changed files with 29 additions and 3 deletions
+26 -3
View File
@@ -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)
+3
View File
@@ -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;