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: Mon, 15 Sep 2008 18:09:20 +0000
Subject: 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
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-53162@lists.php.net to get a copy of this message
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 (#53162) next »