]> granicus.if.org Git - php/commitdiff
missing from previous commit for #55582
authorAndrey Hristov <andrey@php.net>
Mon, 5 Sep 2011 15:37:58 +0000 (15:37 +0000)
committerAndrey Hristov <andrey@php.net>
Mon, 5 Sep 2011 15:37:58 +0000 (15:37 +0000)
ext/mysqlnd/mysqlnd_result.c

index 74976cac3a0a98c0e5b09415eeeb27e115b1fd39..81087453ae1bc31e7437776824fdeec7b3466a1e 100644 (file)
@@ -616,19 +616,18 @@ mysqlnd_fetch_lengths_buffered(MYSQLND_RES * const result TSRMLS_DC)
 static unsigned long *
 mysqlnd_fetch_lengths_unbuffered(MYSQLND_RES * const result TSRMLS_DC)
 {
-       return result->lengths;
+       /* simulate output of libmysql */
+       return (!result->unbuf || result->unbuf->last_row_data || result->unbuf->eof_reached)? result->lengths:NULL;
 }
 /* }}} */
 
 
-#if !defined(MYSQLND_USE_OPTIMISATIONS) || MYSQLND_USE_OPTIMISATIONS == 0
 /* {{{ mysqlnd_res::fetch_lengths */
 PHPAPI unsigned long * _mysqlnd_fetch_lengths(MYSQLND_RES * const result TSRMLS_DC)
 {
        return result->m.fetch_lengths? result->m.fetch_lengths(result TSRMLS_CC) : NULL;
 }
 /* }}} */
-#endif
 
 
 /* {{{ mysqlnd_fetch_row_unbuffered_c */