From: Ilia Alshanetsky Date: Thu, 14 Oct 2004 23:19:38 +0000 (+0000) Subject: Added sqlite_fetch_column_types() 3rd argument for arrays. X-Git-Tag: PRE_NEW_VM_GEN_PATCH~33 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7d18ca4c9318e5db941304b06699bf159277064e;p=php Added sqlite_fetch_column_types() 3rd argument for arrays. --- diff --git a/NEWS b/NEWS index 3747e4cb04..698a6f548a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2004, PHP 5.1.0 +- Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia) - Added optional offset parameter to stream_get_contents() and file_get_contents(). (Ilia) - Improved performance of: diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index e51100a6d6..b8fa042947 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -1569,7 +1569,7 @@ PHP_FUNCTION(sqlite_unbuffered_query) } /* }}} */ -/* {{{ proto resource sqlite_fetch_column_types(string table_name, resource db) +/* {{{ proto resource sqlite_fetch_column_types(string table_name, [, int result_type] resource db) Return an array of column types from a particular table. */ PHP_FUNCTION(sqlite_fetch_column_types) { @@ -1581,10 +1581,10 @@ PHP_FUNCTION(sqlite_fetch_column_types) zval *object = getThis(); struct php_sqlite_result res; const char **rowdata, **colnames, *tail; - int i, ncols; + int i, ncols, result_type = PHPSQLITE_ASSOC; if (object) { - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &tbl, &tbl_len)) { + if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &tbl, &tbl_len, &result_type)) { return; } DB_FROM_OBJECT(db, object); @@ -1627,7 +1627,12 @@ PHP_FUNCTION(sqlite_fetch_column_types) php_sqlite_strtolower(colname); } - add_assoc_string(return_value, colname, colnames[ncols + i] ? (char *)colnames[ncols + i] : "", 1); + if (result_type == PHPSQLITE_ASSOC) { + add_assoc_string(return_value, colname, colnames[ncols + i] ? (char *)colnames[ncols + i] : "", 1); + } + if (result_type == PHPSQLITE_NUM) { + add_index_string(return_value, i, colnames[ncols + i] ? (char *)colnames[ncols + i] : "", 1); + } } done: