diff options
| author | Marcus Boerger <helly@php.net> | 2003-04-30 15:18:59 +0000 | 
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2003-04-30 15:18:59 +0000 | 
| commit | 4ad3ecc758e4a29bddb3f45b3b518dd8ec521cd7 (patch) | |
| tree | e2900e06d72c021fe0d316b7e483214caaeba930 /ext/sqlite/sqlite.c | |
| parent | 6fc4f3a2ef9bcf9539541368e34607ce1826a727 (diff) | |
| download | php-git-4ad3ecc758e4a29bddb3f45b3b518dd8ec521cd7.tar.gz | |
Allow to set result_type default for each query
Diffstat (limited to 'ext/sqlite/sqlite.c')
| -rw-r--r-- | ext/sqlite/sqlite.c | 17 | 
1 files changed, 13 insertions, 4 deletions
| diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index f154a03726..8957aa6c47 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -85,6 +85,7 @@ struct php_sqlite_result {  	char **col_names;  	int alloc_rows;  	char **table; +	int mode;  };  struct php_sqlite_db { @@ -898,8 +899,9 @@ PHP_FUNCTION(sqlite_unbuffered_query)  	int ret;  	char *errtext = NULL;  	const char *tail; +	int mode; -	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sr", &sql, &sql_len, &zdb)) { +	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sr|l", &sql, &sql_len, &zdb, &mode)) {  		return;  	} @@ -917,6 +919,7 @@ PHP_FUNCTION(sqlite_unbuffered_query)  	}  	memset(&res, 0, sizeof(res)); +	res.mode = mode;  	ret = sqlite_compile(db->db, sql, &tail, &res.vm, &errtext);  	db->last_err_code = ret; @@ -959,10 +962,11 @@ PHP_FUNCTION(sqlite_query)  	int ret;  	char *errtext = NULL;  	const char *tail; +	int mode = PHPSQLITE_BOTH;  	if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, -				ZEND_NUM_ARGS() TSRMLS_CC, "sr", &sql, &sql_len, &zdb) &&  -			FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &zdb, &sql, &sql_len)) { +				ZEND_NUM_ARGS() TSRMLS_CC, "sr|l", &sql, &sql_len, &zdb, &mode) &&  +			FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &zdb, &sql, &sql_len, &mode)) {  		return;  	} @@ -981,6 +985,7 @@ PHP_FUNCTION(sqlite_query)  	memset(&res, 0, sizeof(res));  	res.buffered = 1; +	res.mode = mode;  	ret = sqlite_compile(db->db, sql, &tail, &res.vm, &errtext);  	db->last_err_code = ret; @@ -1016,7 +1021,7 @@ PHP_FUNCTION(sqlite_fetch_array)  {  	zval *zres;  	struct php_sqlite_result *res; -	int mode = PHPSQLITE_BOTH; +	int mode;  	int j;  	const char **rowdata, **colnames;  	zend_bool decode_binary = 1; @@ -1027,6 +1032,10 @@ PHP_FUNCTION(sqlite_fetch_array)  	ZEND_FETCH_RESOURCE(res, struct php_sqlite_result *, &zres, -1, "sqlite result", le_sqlite_result); +	if (ZEND_NUM_ARGS() < 2) { +		mode = res->mode; +	} +	  	/* check range of the row */  	if (res->curr_row >= res->nrows) {  		/* no more */ | 
