andrey Mon Jun 8 10:20:27 2009 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/mysqlnd mysqlnd_palloc.c mysqlnd_wireprotocol.c
Log:
Merge with HEAD. Someone committed changes to HEAD and did not merge back to
the branch.
Also switch off the zval cache, for now.
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_palloc.c?r1=1.2.2.16&r2=1.2.2.17&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_palloc.c
diff -u php-src/ext/mysqlnd/mysqlnd_palloc.c:1.2.2.16
php-src/ext/mysqlnd/mysqlnd_palloc.c:1.2.2.17
--- php-src/ext/mysqlnd/mysqlnd_palloc.c:1.2.2.16 Thu May 28 16:35:41 2009
+++ php-src/ext/mysqlnd/mysqlnd_palloc.c Mon Jun 8 10:20:27 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysqlnd_palloc.c,v 1.2.2.16 2009/05/28 16:35:41 andrey Exp $ */
+/* $Id: mysqlnd_palloc.c,v 1.2.2.17 2009/06/08 10:20:27 andrey Exp $ */
#include "php.h"
#include "mysqlnd.h"
#include "mysqlnd_priv.h"
@@ -549,48 +549,45 @@
{
if (cache) {
#if PHP_MAJOR_VERSION >= 6
+ UChar *ustr;
+ int ulen;
+
TSRMLS_FETCH();
#endif
LOCK_PCACHE(cache);
array_init(return_value);
#if PHP_MAJOR_VERSION >= 6
- if (UG(unicode)) {
- UChar *ustr;
- int ulen;
-
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"put_hits", sizeof("put_hits") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"put_misses", sizeof("put_misses") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"get_hits", sizeof("get_hits") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"get_misses", sizeof("get_misses") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"size", sizeof("size") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"free_items", sizeof("free_items") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"references", sizeof("references") TSRMLS_CC);
- add_u_assoc_long_ex(return_value, IS_UNICODE,
ZSTR(ustr), ulen + 1, cache->put_hits);
- efree(ustr);
- } else
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen, "put_hits",
sizeof("put_hits") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"put_misses", sizeof("put_misses") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen, "get_hits",
sizeof("get_hits") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"get_misses", sizeof("get_misses") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen, "size",
sizeof("size") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"free_items", sizeof("free_items") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+ zend_string_to_unicode(UG(utf8_conv), &ustr, &ulen,
"references", sizeof("references") TSRMLS_CC);
+ add_u_assoc_long_ex(return_value, IS_UNICODE, ZSTR(ustr), ulen
+ 1, cache->put_hits);
+ efree(ustr);
+#else
+ add_assoc_long_ex(return_value, "put_hits",
sizeof("put_hits"), cache->put_hits);
+ add_assoc_long_ex(return_value, "put_misses",
sizeof("put_misses"), cache->put_misses);
+ add_assoc_long_ex(return_value, "get_hits",
sizeof("get_hits"), cache->get_hits);
+ add_assoc_long_ex(return_value, "get_misses",
sizeof("get_misses"), cache->get_misses);
+ add_assoc_long_ex(return_value, "size",
sizeof("size"), cache->max_items);
+ add_assoc_long_ex(return_value, "free_items",
sizeof("free_items"), cache->free_items);
+ add_assoc_long_ex(return_value, "references",
sizeof("references"), cache->references);
#endif
- {
- add_assoc_long_ex(return_value, "put_hits",
sizeof("put_hits"), cache->put_hits);
- add_assoc_long_ex(return_value, "put_misses",
sizeof("put_misses"), cache->put_misses);
- add_assoc_long_ex(return_value, "get_hits",
sizeof("get_hits"), cache->get_hits);
- add_assoc_long_ex(return_value, "get_misses",
sizeof("get_misses"), cache->get_misses);
- add_assoc_long_ex(return_value, "size",
sizeof("size"), cache->max_items);
- add_assoc_long_ex(return_value, "free_items",
sizeof("free_items"), cache->free_items);
- add_assoc_long_ex(return_value, "references",
sizeof("references"), cache->references);
- }
UNLOCK_PCACHE(cache);
} else {
ZVAL_NULL(return_value);
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_wireprotocol.c?r1=1.4.2.24&r2=1.4.2.25&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_wireprotocol.c
diff -u php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.24
php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.25
--- php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.24 Wed Dec 31 11:15:39 2008
+++ php-src/ext/mysqlnd/mysqlnd_wireprotocol.c Mon Jun 8 10:20:27 2009
@@ -1378,7 +1378,7 @@
bit = 4; /* first 2 bits
are reserved */
for (i = 0; current_field < end_field; current_field++, i++) {
-#if 1
+#ifdef USE_ZVAL_CACHE
DBG_INF("Trying to use the zval cache");
obj = mysqlnd_palloc_get_zval(conn->zval_cache, &allocated
TSRMLS_CC);
if (allocated) {
@@ -1474,11 +1474,12 @@
for (i = 0; current_field < end_field; current_field++, i++) {
/* Don't reverse the order. It is significant!*/
void *obj;
- zend_bool allocated;
+ zend_bool allocated = TRUE;
zend_uchar *this_field_len_pos = p;
/* php_mysqlnd_net_field_length() call should be after
*this_field_len_pos = p; */
unsigned long len = php_mysqlnd_net_field_length(&p);
+#ifdef USE_ZVAL_CACHE
obj = mysqlnd_palloc_get_zval(conn->zval_cache, &allocated
TSRMLS_CC);
if (allocated) {
*current_field = (zval *) obj;
@@ -1487,6 +1488,10 @@
*current_field = &((mysqlnd_zval *) obj)->zv;
((mysqlnd_zval *) obj)->point_type =
MYSQLND_POINTS_FREE;
}
+#else
+ DBG_INF("Directly creating zval");
+ MAKE_STD_ZVAL(*current_field);
+#endif
if (current_field > start_field && last_field_was_string) {
/*
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php