Re: cvs: php-src(PHP_5_3) /ext/mysqli mysqli.c /ext/mysqlnd mysqlnd.c mysqlnd_enum_n_def.h mysqlnd_structs.h mysqlnd_wireprotocol.c

From: Date: Tue, 16 Sep 2008 08:08:17 +0000
Subject: Re: cvs: php-src(PHP_5_3) /ext/mysqli mysqli.c /ext/mysqlnd mysqlnd.c mysqlnd_enum_n_def.h mysqlnd_structs.h mysqlnd_wireprotocol.c
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-53172@lists.php.net to get a copy of this message
Hi Andrey, All ext/mysql tests still crash for me. $ gdb sapi/cli/php (gdb) r ../ext/mysql/tests/001.php Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208944352 (LWP 31989)] 0x083c63ec in mysqlnd_connect (conn=0x9943e3c, host=0x9942f0c "localhost", user=0x9942684 "root", passwd=0x9946178 "", passwd_len=0, db=0x890f751 "", db_len=0, port=3306, socket=0x9820d00 "/var/lib/mysql/mysql.sock", mysql_flags=128, zval_cache=0x99ad288) at /home/dmitry/php/php5.3/ext/mysqlnd/mysqlnd.c:757 757 conn->m->set_client_option(conn, MYSQLND_OPT_NET_READ_BUFFER_SIZE, Thanks. Dmitry. Andrey Hristov wrote: > andrey Mon Sep 15 18:09:20 2008 UTC > > Modified files: (Branch: PHP_5_3) > /php-src/ext/mysqli mysqli.c > /php-src/ext/mysqlnd mysqlnd.c mysqlnd_enum_n_def.h > mysqlnd_structs.h mysqlnd_wireprotocol.c > Log: > MFH: > Add float conversions too. Float users should understand how float works!!! > > > > http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli.c?r1=1.72.2.16.2.17.2.29&r2=1.72.2.16.2.17.2.30&diff_format=u > Index: php-src/ext/mysqli/mysqli.c > diff -u php-src/ext/mysqli/mysqli.c:1.72.2.16.2.17.2.29 > php-src/ext/mysqli/mysqli.c:1.72.2.16.2.17.2.30 > --- php-src/ext/mysqli/mysqli.c:1.72.2.16.2.17.2.29 Fri Jul 25 08:23:06 2008 > +++ php-src/ext/mysqli/mysqli.c Mon Sep 15 18:09:20 2008 > @@ -17,7 +17,7 @@ > | Ulf Wendel <uw@php.net> | > +----------------------------------------------------------------------+ > > - $Id: mysqli.c,v 1.72.2.16.2.17.2.29 2008/07/25 08:23:06 dmitry Exp $ > + $Id: mysqli.c,v 1.72.2.16.2.17.2.30 2008/09/15 18:09:20 andrey Exp $ > */ > > #ifdef HAVE_CONFIG_H > @@ -777,7 +777,7 @@ > REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_READ_BUFFER_SIZE", > MYSQLND_OPT_NET_READ_BUFFER_SIZE, CONST_CS | CONST_PERSISTENT); > #endif > #ifdef MYSQLND_STRING_TO_INT_CONVERSION > - REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_YEAR_AS_INT", > MYSQLND_OPT_INT_AND_YEAR_AS_INT, CONST_CS | CONST_PERSISTENT); > + REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_FLOAT_NATIVE", > MYSQLND_OPT_INT_AND_FLOAT_NATIVE, CONST_CS | CONST_PERSISTENT); > #endif > > /* mysqli_real_connect flags */ > > http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd.c?r1=1.5.2.26&r2=1.5.2.27&diff_format=u > Index: php-src/ext/mysqlnd/mysqlnd.c > diff -u php-src/ext/mysqlnd/mysqlnd.c:1.5.2.26 php-src/ext/mysqlnd/mysqlnd.c:1.5.2.27 > --- php-src/ext/mysqlnd/mysqlnd.c:1.5.2.26 Tue Aug 19 10:42:11 2008 > +++ php-src/ext/mysqlnd/mysqlnd.c Mon Sep 15 18:09:20 2008 > @@ -18,7 +18,7 @@ > +----------------------------------------------------------------------+ > */ > > -/* $Id: mysqlnd.c,v 1.5.2.26 2008/08/19 10:42:11 johannes Exp $ */ > +/* $Id: mysqlnd.c,v 1.5.2.27 2008/09/15 18:09:20 andrey Exp $ */ > #include "php.h" > #include "mysqlnd.h" > #include "mysqlnd_wireprotocol.h" > @@ -1711,8 +1711,8 @@ > conn->options.net_read_buffer_size = *(uint*) value; > break; > #ifdef MYSQLND_STRING_TO_INT_CONVERSION > - case MYSQLND_OPT_INT_AND_YEAR_AS_INT: > - conn->options.int_and_year_as_int = *(uint*) value; > + case MYSQLND_OPT_INT_AND_FLOAT_NATIVE: > + conn->options.int_and_float_native = *(uint*) value; > break; > #endif > case MYSQL_OPT_CONNECT_TIMEOUT: > > http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_enum_n_def.h?r1=1.2.2.10&r2=1.2.2.11&diff_format=u > Index: php-src/ext/mysqlnd/mysqlnd_enum_n_def.h > diff -u php-src/ext/mysqlnd/mysqlnd_enum_n_def.h:1.2.2.10 > php-src/ext/mysqlnd/mysqlnd_enum_n_def.h:1.2.2.11 > --- php-src/ext/mysqlnd/mysqlnd_enum_n_def.h:1.2.2.10 Fri Sep 12 15:08:41 2008 > +++ php-src/ext/mysqlnd/mysqlnd_enum_n_def.h Mon Sep 15 18:09:20 2008 > @@ -18,7 +18,7 @@ > +----------------------------------------------------------------------+ > */ > > -/* $Id: mysqlnd_enum_n_def.h,v 1.2.2.10 2008/09/12 15:08:41 andrey Exp $ */ > +/* $Id: mysqlnd_enum_n_def.h,v 1.2.2.11 2008/09/15 18:09:20 andrey Exp $ */ > #ifndef MYSQLND_ENUM_N_DEF_H > #define MYSQLND_ENUM_N_DEF_H > > @@ -136,7 +136,7 @@ > MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE = 200, > #endif > #ifdef MYSQLND_STRING_TO_INT_CONVERSION > - MYSQLND_OPT_INT_AND_YEAR_AS_INT = 201, > + MYSQLND_OPT_INT_AND_FLOAT_NATIVE = 201, > #endif > MYSQLND_OPT_NET_CMD_BUFFER_SIZE = 202, > MYSQLND_OPT_NET_READ_BUFFER_SIZE = 203, > > http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_structs.h?r1=1.2.2.13&r2=1.2.2.14&diff_format=u > Index: php-src/ext/mysqlnd/mysqlnd_structs.h > diff -u php-src/ext/mysqlnd/mysqlnd_structs.h:1.2.2.13 > php-src/ext/mysqlnd/mysqlnd_structs.h:1.2.2.14 > --- php-src/ext/mysqlnd/mysqlnd_structs.h:1.2.2.13 Thu Apr 24 14:22:19 2008 > +++ php-src/ext/mysqlnd/mysqlnd_structs.h Mon Sep 15 18:09:20 2008 > @@ -18,7 +18,7 @@ > +----------------------------------------------------------------------+ > */ > > -/* $Id: mysqlnd_structs.h,v 1.2.2.13 2008/04/24 14:22:19 andrey Exp $ */ > +/* $Id: mysqlnd_structs.h,v 1.2.2.14 2008/09/15 18:09:20 andrey Exp $ */ > > #ifndef MYSQLND_STRUCTS_H > #define MYSQLND_STRUCTS_H > @@ -177,7 +177,7 @@ > > zend_bool numeric_and_datetime_as_unicode; > #ifdef MYSQLND_STRING_TO_INT_CONVERSION > - zend_bool int_and_year_as_int; > + zend_bool int_and_float_native; > #endif > unsigned int net_read_buffer_size; > } MYSQLND_OPTION; > > http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_wireprotocol.c?r1=1.4.2.18&r2=1.4.2.19&diff_format=u > Index: php-src/ext/mysqlnd/mysqlnd_wireprotocol.c > diff -u php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.18 > php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.19 > --- php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.18 Mon Sep 15 14:07:44 2008 > +++ php-src/ext/mysqlnd/mysqlnd_wireprotocol.c Mon Sep 15 18:09:20 2008 > @@ -1467,7 +1467,7 @@ > zend_uchar *bit_area = (zend_uchar*) row_buffer->ptr + data_size + 1; /* we allocate from > here */ > zend_bool as_unicode = conn->options.numeric_and_datetime_as_unicode; > #ifdef MYSQLND_STRING_TO_INT_CONVERSION > - zend_bool as_int = conn->options.int_and_year_as_int; > + zend_bool as_int_or_float = conn->options.int_and_float_native; > #endif > > DBG_ENTER("php_mysqlnd_rowp_read_text_protocol"); > @@ -1551,7 +1551,7 @@ > } > > #ifdef MYSQLND_STRING_TO_INT_CONVERSION > - if (as_int && perm_bind.php_type == IS_LONG && > + if (as_int_or_float && perm_bind.php_type == IS_LONG && > perm_bind.pack_len <= SIZEOF_LONG) > { > zend_uchar save = *(p + len); > @@ -1580,6 +1580,14 @@ > } > } > *(p + len) = save; > + } else if (as_int_or_float && perm_bind.php_type == IS_DOUBLE) > + { > + zend_uchar save = *(p + len); > + /* We have to make it ASCIIZ temporarily */ > + *(p + len) = '\0'; > + double v = atof((char *) p); > + ZVAL_DOUBLE(*current_field, v); > + *(p + len) = save; > } else > #endif /* MYSQLND_STRING_TO_INT_CONVERSION */ > if (fields_metadata[i].type == MYSQL_TYPE_BIT) { > > >

« previous php.cvs (#53172) next »