version 1.1.1.1, 2012/02/21 23:48:04
|
version 1.1.1.2, 2012/05/29 12:34:45
|
Line 1191 static int php_sybase_finish_results(sybase_result *re
|
Line 1191 static int php_sybase_finish_results(sybase_result *re
|
ZVAL_STRINGL(&result, buf, length- 1, 1); \ |
ZVAL_STRINGL(&result, buf, length- 1, 1); \ |
} |
} |
|
|
static int php_sybase_fetch_result_row (sybase_result *result, int numrows) | static int php_sybase_fetch_result_row(sybase_result *result, int numrows TSRMLS_DC) |
{ |
{ |
int i, j; |
int i, j; |
CS_INT retcode; |
CS_INT retcode; |
TSRMLS_FETCH(); |
|
|
|
/* We've already fetched everything */ |
/* We've already fetched everything */ |
if (result->last_retcode == CS_END_DATA || result->last_retcode == CS_END_RESULTS) { |
if (result->last_retcode == CS_END_DATA || result->last_retcode == CS_END_RESULTS) { |
Line 1294 static int php_sybase_fetch_result_row (sybase_result
|
Line 1293 static int php_sybase_fetch_result_row (sybase_result
|
return retcode; |
return retcode; |
} |
} |
|
|
static sybase_result * php_sybase_fetch_result_set (sybase_link *sybase_ptr, int buffered, int store) | static sybase_result * php_sybase_fetch_result_set(sybase_link *sybase_ptr, int buffered, int store TSRMLS_DC) |
{ |
{ |
int num_fields; |
int num_fields; |
sybase_result *result; |
sybase_result *result; |
Line 1413 static sybase_result * php_sybase_fetch_result_set (sy
|
Line 1412 static sybase_result * php_sybase_fetch_result_set (sy
|
if (buffered) { |
if (buffered) { |
retcode = CS_SUCCEED; |
retcode = CS_SUCCEED; |
} else { |
} else { |
if ((retcode = php_sybase_fetch_result_row(result, -1)) == CS_FAIL) { | if ((retcode = php_sybase_fetch_result_row(result, -1 TSRMLS_CC)) == CS_FAIL) { |
return NULL; |
return NULL; |
} |
} |
} |
} |
Line 1550 static void php_sybase_query (INTERNAL_FUNCTION_PARAME
|
Line 1549 static void php_sybase_query (INTERNAL_FUNCTION_PARAME
|
case CS_PARAM_RESULT: |
case CS_PARAM_RESULT: |
case CS_ROW_RESULT: |
case CS_ROW_RESULT: |
case CS_STATUS_RESULT: |
case CS_STATUS_RESULT: |
result = php_sybase_fetch_result_set(sybase_ptr, buffered, store); | result = php_sybase_fetch_result_set(sybase_ptr, buffered, store TSRMLS_CC); |
if (result == NULL) { |
if (result == NULL) { |
ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL); |
ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL); |
RETURN_FALSE; |
RETURN_FALSE; |
Line 1576 static void php_sybase_query (INTERNAL_FUNCTION_PARAME
|
Line 1575 static void php_sybase_query (INTERNAL_FUNCTION_PARAME
|
case CS_PARAM_RESULT: |
case CS_PARAM_RESULT: |
case CS_ROW_RESULT: |
case CS_ROW_RESULT: |
if (status != Q_RESULT) { |
if (status != Q_RESULT) { |
result = php_sybase_fetch_result_set(sybase_ptr, buffered, store); | result = php_sybase_fetch_result_set(sybase_ptr, buffered, store TSRMLS_CC); |
if (result == NULL) { |
if (result == NULL) { |
ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL); |
ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL); |
sybase_ptr->dead = 1; |
sybase_ptr->dead = 1; |
Line 1768 PHP_FUNCTION(sybase_fetch_row)
|
Line 1767 PHP_FUNCTION(sybase_fetch_row)
|
|
|
/* Unbuffered? */ |
/* Unbuffered? */ |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) { |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) { |
php_sybase_fetch_result_row(result, 1); | php_sybase_fetch_result_row(result, 1 TSRMLS_CC); |
} |
} |
|
|
/* At the end? */ |
/* At the end? */ |
Line 1804 static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA
|
Line 1803 static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA
|
|
|
/* Unbuffered ? Fetch next row */ |
/* Unbuffered ? Fetch next row */ |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) { |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) { |
php_sybase_fetch_result_row(result, 1); | php_sybase_fetch_result_row(result, 1 TSRMLS_CC); |
} |
} |
|
|
/* At the end? */ |
/* At the end? */ |
Line 1819 static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA
|
Line 1818 static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA
|
ALLOC_ZVAL(tmp); |
ALLOC_ZVAL(tmp); |
*tmp = result->data[result->store ? result->cur_row : 0][i]; |
*tmp = result->data[result->store ? result->cur_row : 0][i]; |
INIT_PZVAL(tmp); |
INIT_PZVAL(tmp); |
if (PG(magic_quotes_runtime) && Z_TYPE_P(tmp) == IS_STRING) { | zval_copy_ctor(tmp); |
Z_STRVAL_P(tmp) = php_addslashes(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), &Z_STRLEN_P(tmp), 0 TSRMLS_CC); | |
} else { | |
zval_copy_ctor(tmp); | |
} | |
if (numerics) { |
if (numerics) { |
zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &tmp, sizeof(zval *), NULL); |
zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &tmp, sizeof(zval *), NULL); |
Z_ADDREF_P(tmp); |
Z_ADDREF_P(tmp); |
Line 1922 PHP_FUNCTION(sybase_data_seek)
|
Line 1917 PHP_FUNCTION(sybase_data_seek)
|
|
|
/* Unbuffered ? */ |
/* Unbuffered ? */ |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && offset >= result->num_rows) { |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && offset >= result->num_rows) { |
php_sybase_fetch_result_row(result, offset+ 1); | php_sybase_fetch_result_row(result, offset+ 1 TSRMLS_CC); |
} |
} |
|
|
if (offset < 0 || offset >= result->num_rows) { |
if (offset < 0 || offset >= result->num_rows) { |
Line 2056 PHP_FUNCTION(sybase_result)
|
Line 2051 PHP_FUNCTION(sybase_result)
|
|
|
/* Unbuffered ? */ |
/* Unbuffered ? */ |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && row >= result->num_rows) { |
if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && row >= result->num_rows) { |
php_sybase_fetch_result_row(result, row); | php_sybase_fetch_result_row(result, row TSRMLS_CC); |
} |
} |
|
|
if (row < 0 || row >= result->num_rows) { |
if (row < 0 || row >= result->num_rows) { |