[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
dsp Fri, 06 Aug 2010 19:47:03 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301937 Log: make ssl_set return value in mysqlnd compatible with libmysqli return value Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-08-06 19:11:34 UTC (rev 301936) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-08-06 19:47:03 UTC (rev 301937) @@ -1293,14 +1293,14 @@ /* }}} */ /* {{{ mysqlnd_conn::ssl_set */ -void +static enum_func_status MYSQLND_METHOD(mysqlnd_conn, ssl_set)(MYSQLND * const conn, const char * key, const char * const cert, const char * const ca, const char * const capath, const char * const cipher TSRMLS_DC) { - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_KEY, key TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CERT, cert TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CA, ca TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CAPATH, capath TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CIPHER, cipher TSRMLS_CC); + return (PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_KEY, key TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CERT, cert TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CA, ca TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CAPATH, capath TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CIPHER, cipher TSRMLS_CC)) ? PASS : FAIL; } /* }}} */ Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-08-06 19:11:34 UTC (rev 301936) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-08-06 19:47:03 UTC (rev 301937) @@ -400,7 +400,7 @@ typedef enum_func_status (*func_mysqlnd_conn__end_psession)(MYSQLND *conn TSRMLS_DC); typedef enum_func_status (*func_mysqlnd_conn__send_close)(MYSQLND * conn TSRMLS_DC); -typedef void (*func_mysqlnd_conn__ssl_set)(MYSQLND * const conn, const char * key, const char * const cert, const char * const ca, const char * const capath, const char * const cipher TSRMLS_DC); +typedef enum_func_status(*func_mysqlnd_conn__ssl_set)(MYSQLND * const conn, const char * key, const char * const cert, const char * const ca, const char * const capath, const char * const cipher TSRMLS_DC); typedef MYSQLND_RES * (*func_mysqlnd_conn__result_init)(unsigned int field_count, zend_bool persistent TSRMLS_DC); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-08-06 19:11:34 UTC (rev 301936) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-08-06 19:47:03 UTC (rev 301937) @@ -1293,14 +1293,14 @@ /* }}} */ /* {{{ mysqlnd_conn::ssl_set */ -void +static enum_func_status MYSQLND_METHOD(mysqlnd_conn, ssl_set)(MYSQLND * const conn, const char * key, const char * const cert, const char * const ca, const char * const capath, const char * const cipher TSRMLS_DC) { - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_KEY, key TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CERT, cert TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CA, ca TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CAPATH, capath TSRMLS_CC); - conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CIPHER, cipher TSRMLS_CC); + return (PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_KEY, key TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CERT, cert TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CA, ca TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CAPATH, capath TSRMLS_CC) + PASS == conn-net-m.set_client_option(conn-net, MYSQLND_OPT_SSL_CIPHER, cipher TSRMLS_CC)) ? PASS : FAIL; } /* }}} */ Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-08-06 19:11:34 UTC (rev 301936) +++
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
andrey Tue, 25 May 2010 22:40:47 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299761 Log: Init should return status value because initialization can fail. In this case mysqlnd_init() should return NULL to the end-user. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-05-25 22:38:11 UTC (rev 299760) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-05-25 22:40:47 UTC (rev 299761) @@ -2140,7 +2140,7 @@ MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC); -static void MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC); +static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC); static MYSQLND_CLASS_METHODS_START(mysqlnd_conn) @@ -2217,17 +2217,17 @@ /* {{{ mysqlnd_conn::init */ -static void +static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC) { DBG_ENTER(mysqlnd_conn::init); + mysqlnd_stats_init(conn-stats, STAT_LAST); + SET_ERROR_AFF_ROWS(conn); + conn-net = mysqlnd_net_init(conn-persistent TSRMLS_CC); conn-protocol = mysqlnd_protocol_init(conn-persistent TSRMLS_CC); - mysqlnd_stats_init(conn-stats, STAT_LAST); - SET_ERROR_AFF_ROWS(conn); - - DBG_VOID_RETURN; + DBG_RETURN(conn-net conn-protocol? PASS:FAIL); } /* }}} */ @@ -2249,7 +2249,10 @@ CONN_SET_STATE(ret, CONN_ALLOCED); ret-m-get_reference(ret TSRMLS_CC); - ret-m-init(ret TSRMLS_CC); + if (PASS != ret-m-init(ret TSRMLS_CC)) { + ret-m-dtor(ret TSRMLS_CC); + ret = NULL; + } DBG_RETURN(ret); } Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-05-25 22:38:11 UTC (rev 299760) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-05-25 22:40:47 UTC (rev 299761) @@ -334,7 +334,7 @@ -typedef void (*func_mysqlnd_conn__init)(MYSQLND * conn TSRMLS_DC); +typedef enum_func_status (*func_mysqlnd_conn__init)(MYSQLND * conn TSRMLS_DC); typedef enum_func_status (*func_mysqlnd_conn__connect)(MYSQLND *conn, const char *host, const char * user, const char * passwd, unsigned int passwd_len, const char * db, unsigned int db_len, unsigned int port, const char * socket, unsigned int mysql_flags TSRMLS_DC); typedef ulong (*func_mysqlnd_conn__escape_string)(const MYSQLND * const conn, char *newstr, const char *escapestr, size_t escapestr_len TSRMLS_DC); typedef enum_func_status (*func_mysqlnd_conn__set_charset)(MYSQLND * const conn, const char * const charset TSRMLS_DC); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-05-25 22:38:11 UTC (rev 299760) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-05-25 22:40:47 UTC (rev 299761) @@ -2140,7 +2140,7 @@ MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC); -static void MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC); +static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC); static MYSQLND_CLASS_METHODS_START(mysqlnd_conn) @@ -2217,17 +2217,17 @@ /* {{{ mysqlnd_conn::init */ -static void +static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC) { DBG_ENTER(mysqlnd_conn::init); + mysqlnd_stats_init(conn-stats, STAT_LAST); + SET_ERROR_AFF_ROWS(conn); + conn-net = mysqlnd_net_init(conn-persistent TSRMLS_CC); conn-protocol = mysqlnd_protocol_init(conn-persistent TSRMLS_CC); - mysqlnd_stats_init(conn-stats, STAT_LAST); - SET_ERROR_AFF_ROWS(conn); - - DBG_VOID_RETURN; + DBG_RETURN(conn-net conn-protocol? PASS:FAIL); } /* }}} */ @@ -2249,7 +2249,10 @@ CONN_SET_STATE(ret, CONN_ALLOCED); ret-m-get_reference(ret TSRMLS_CC); - ret-m-init(ret TSRMLS_CC); + if (PASS != ret-m-init(ret TSRMLS_CC)) { + ret-m-dtor(ret TSRMLS_CC); + ret = NULL; + } DBG_RETURN(ret); } Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-05-25 22:38:11 UTC (rev 299760) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-05-25 22:40:47 UTC
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
andrey Tue, 09 Feb 2010 19:05:40 + Revision: http://svn.php.net/viewvc?view=revisionrevision=294819 Log: make send_close a hook, too Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-02-09 18:58:35 UTC (rev 294818) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-02-09 19:05:40 UTC (rev 294819) @@ -64,8 +64,6 @@ PHPAPI MYSQLND_STATS *mysqlnd_global_stats = NULL; static zend_bool mysqlnd_library_initted = FALSE; -static enum_func_status mysqlnd_send_close(MYSQLND * conn TSRMLS_DC); - static struct st_mysqlnd_conn_methods *mysqlnd_conn_methods; /* {{{ mysqlnd_library_end */ @@ -491,7 +489,7 @@ if (CONN_GET_STATE(conn) CONN_QUIT_SENT) { MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_CLOSE_IMPLICIT); reconnect = TRUE; - mysqlnd_send_close(conn TSRMLS_CC); + conn-m-send_close(conn TSRMLS_CC); } conn-m-free_contents(conn TSRMLS_CC); @@ -1378,7 +1376,7 @@ /* {{{ mysqlnd_send_close */ static enum_func_status -mysqlnd_send_close(MYSQLND * conn TSRMLS_DC) +MYSQLND_METHOD(mysqlnd_conn, send_close)(MYSQLND * const conn TSRMLS_DC) { enum_func_status ret = PASS; @@ -1458,7 +1456,7 @@ Close now, free_reference will try, if we are last, but that's not a problem. */ - ret = mysqlnd_send_close(conn TSRMLS_CC); + ret = conn-m-send_close(conn TSRMLS_CC); ret = conn-m-free_reference(conn TSRMLS_CC); @@ -1492,7 +1490,7 @@ This will free the object too, of course because references has reached zero. */ - ret = mysqlnd_send_close(conn TSRMLS_CC); + ret = conn-m-send_close(conn TSRMLS_CC); conn-m-dtor(conn TSRMLS_CC); } DBG_RETURN(ret); @@ -2099,7 +2097,8 @@ MYSQLND_METHOD(mysqlnd_conn, simple_command), MYSQLND_METHOD(mysqlnd_conn, simple_command_handle_response), MYSQLND_METHOD(mysqlnd_conn, restart_psession), - MYSQLND_METHOD(mysqlnd_conn, end_psession) + MYSQLND_METHOD(mysqlnd_conn, end_psession), + MYSQLND_METHOD(mysqlnd_conn, send_close) MYSQLND_CLASS_METHODS_END; Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-02-09 18:58:35 UTC (rev 294818) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-02-09 19:05:40 UTC (rev 294819) @@ -346,6 +346,7 @@ enum_func_status(*restart_psession)(MYSQLND *conn TSRMLS_DC); enum_func_status(*end_psession)(MYSQLND *conn TSRMLS_DC); + enum_func_status(*send_close)(MYSQLND * conn TSRMLS_DC); }; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-02-09 18:58:35 UTC (rev 294818) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-02-09 19:05:40 UTC (rev 294819) @@ -64,8 +64,6 @@ PHPAPI MYSQLND_STATS *mysqlnd_global_stats = NULL; static zend_bool mysqlnd_library_initted = FALSE; -static enum_func_status mysqlnd_send_close(MYSQLND * conn TSRMLS_DC); - static struct st_mysqlnd_conn_methods *mysqlnd_conn_methods; /* {{{ mysqlnd_library_end */ @@ -491,7 +489,7 @@ if (CONN_GET_STATE(conn) CONN_QUIT_SENT) { MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_CLOSE_IMPLICIT); reconnect = TRUE; - mysqlnd_send_close(conn TSRMLS_CC); + conn-m-send_close(conn TSRMLS_CC); } conn-m-free_contents(conn TSRMLS_CC); @@ -1378,7 +1376,7 @@ /* {{{ mysqlnd_send_close */ static enum_func_status -mysqlnd_send_close(MYSQLND * conn TSRMLS_DC) +MYSQLND_METHOD(mysqlnd_conn, send_close)(MYSQLND * const conn TSRMLS_DC) { enum_func_status ret = PASS; @@ -1458,7 +1456,7 @@ Close now, free_reference will try, if we are last, but that's not a problem. */ - ret = mysqlnd_send_close(conn TSRMLS_CC); + ret = conn-m-send_close(conn TSRMLS_CC); ret = conn-m-free_reference(conn TSRMLS_CC); @@ -1492,7 +1490,7 @@ This will free the object too, of course because references has reached zero. */ - ret = mysqlnd_send_close(conn TSRMLS_CC); +
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
andrey Mon, 28 Dec 2009 11:17:10 + Revision: http://svn.php.net/viewvc?view=revisionrevision=292714 Log: move network creation to the init hook Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-12-28 10:07:42 UTC (rev 292713) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-12-28 11:17:10 UTC (rev 292714) @@ -2019,8 +2019,11 @@ MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC); +static void MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC); + MYSQLND_CLASS_METHODS_START(mysqlnd_conn) + MYSQLND_METHOD(mysqlnd_conn, init), MYSQLND_METHOD(mysqlnd_conn, connect), MYSQLND_METHOD(mysqlnd_conn, escape_string), @@ -2086,6 +2089,20 @@ MYSQLND_CLASS_METHODS_END; +/* {{{ mysqlnd_conn::init */ +static void +MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC) +{ + DBG_ENTER(mysqlnd_conn::init); + conn-net = mysqlnd_net_init(conn-persistent TSRMLS_CC); + + SET_ERROR_AFF_ROWS(conn); + + DBG_VOID_RETURN; +} +/* }}} */ + + /* {{{ mysqlnd_init */ PHPAPI MYSQLND *_mysqlnd_init(zend_bool persistent TSRMLS_DC) { @@ -2095,20 +2112,18 @@ DBG_ENTER(mysqlnd_init); DBG_INF_FMT(persistent=%d, persistent); - SET_ERROR_AFF_ROWS(ret); ret-persistent = persistent; - ret-m = mysqlnd_conn_methods; + CONN_SET_STATE(ret, CONN_ALLOCED); ret-m-get_reference(ret TSRMLS_CC); - ret-net = mysqlnd_net_init(persistent TSRMLS_CC); + ret-m-init(ret TSRMLS_CC); - CONN_SET_STATE(ret, CONN_ALLOCED); - DBG_RETURN(ret); } /* }}} */ + /* {{{ mysqlnd_library_init */ void mysqlnd_library_init(TSRMLS_D) { Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-12-28 10:07:42 UTC (rev 292713) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-12-28 11:17:10 UTC (rev 292714) @@ -245,6 +245,7 @@ struct st_mysqlnd_conn_methods { + void(*init)(MYSQLND * conn TSRMLS_DC); enum_func_status(*connect)(MYSQLND *conn, const char *host, const char * user, const char * passwd, unsigned int passwd_len, const char * db, unsigned int db_len, unsigned int port, const char * socket, unsigned int mysql_flags TSRMLS_DC); ulong (*escape_string)(const MYSQLND * const conn, char *newstr, const char *escapestr, size_t escapestr_len TSRMLS_DC); enum_func_status(*set_charset)(MYSQLND * const conn, const char * const charset TSRMLS_DC); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-12-28 10:07:42 UTC (rev 292713) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-12-28 11:17:10 UTC (rev 292714) @@ -2019,8 +2019,11 @@ MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC); +static void MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC); + MYSQLND_CLASS_METHODS_START(mysqlnd_conn) + MYSQLND_METHOD(mysqlnd_conn, init), MYSQLND_METHOD(mysqlnd_conn, connect), MYSQLND_METHOD(mysqlnd_conn, escape_string), @@ -2086,6 +2089,20 @@ MYSQLND_CLASS_METHODS_END; +/* {{{ mysqlnd_conn::init */ +static void +MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC) +{ + DBG_ENTER(mysqlnd_conn::init); + conn-net = mysqlnd_net_init(conn-persistent TSRMLS_CC); + + SET_ERROR_AFF_ROWS(conn); + + DBG_VOID_RETURN; +} +/* }}} */ + + /* {{{ mysqlnd_init */ PHPAPI MYSQLND *_mysqlnd_init(zend_bool persistent TSRMLS_DC) { @@ -2095,20 +2112,18 @@ DBG_ENTER(mysqlnd_init); DBG_INF_FMT(persistent=%d, persistent); - SET_ERROR_AFF_ROWS(ret); ret-persistent = persistent; - ret-m = mysqlnd_conn_methods; + CONN_SET_STATE(ret, CONN_ALLOCED); ret-m-get_reference(ret TSRMLS_CC); - ret-net = mysqlnd_net_init(persistent TSRMLS_CC); + ret-m-init(ret TSRMLS_CC); - CONN_SET_STATE(ret, CONN_ALLOCED); - DBG_RETURN(ret); } /* }}} */ + /* {{{ mysqlnd_library_init */ void mysqlnd_library_init(TSRMLS_D) { Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-12-28 10:07:42 UTC (rev 292713) +++
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
andrey Thu, 22 Oct 2009 17:07:55 + Revision: http://svn.php.net/viewvc?view=revisionrevision=289858 Log: Have the lengths also to skip many calls to strlen Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-10-22 16:17:41 UTC (rev 289857) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-10-22 17:07:55 UTC (rev 289858) @@ -174,6 +174,11 @@ mnd_pefree(conn-passwd, pers); conn-passwd = NULL; } + if (conn-connect_or_select_db) { + DBG_INF(Freeing connect_or_select_db); + mnd_pefree(conn-connect_or_select_db, pers); + conn-connect_or_select_db = NULL; + } if (conn-unix_socket) { DBG_INF(Freeing unix_socket); mnd_pefree(conn-unix_socket, pers); @@ -588,6 +593,7 @@ } else { conn-scheme = transport; } + conn-scheme_len = strlen(conn-scheme); DBG_INF(conn-scheme); conn-net.stream = php_stream_xport_create(conn-scheme, transport_len, streams_options, streams_flags, hashed_details, @@ -726,13 +732,18 @@ CONN_SET_STATE(conn, CONN_READY); conn-user = pestrdup(user, conn-persistent); + conn-user_len = strlen(conn-user); conn-passwd= pestrndup(passwd, passwd_len, conn-persistent); + conn-passwd_len= passwd_len; conn-port = port; + conn-connect_or_select_db = pestrndup(db, db_len, conn-persistent); + conn-connect_or_select_db_len = db_len; if (!unix_socket) { char *p; conn-host = pestrdup(host, conn-persistent); + conn-host_len = strlen(conn-host); spprintf(p, 0, %s via TCP/IP, conn-host); if (conn-persistent) { conn-host_info = pestrdup(p, 1); @@ -742,6 +753,7 @@ } } else { conn-unix_socket = pestrdup(socket, conn-persistent); + conn-unix_socket_len = strlen(conn-unix_socket); conn-host_info = pestrdup(Localhost via UNIX socket, conn-persistent); } conn-client_flag = auth_packet-client_flags; @@ -1282,7 +1294,12 @@ a protocol of giving back -1. Thus we have to follow it :( */ SET_ERROR_AFF_ROWS(conn); - + if (ret == PASS) { + if (conn-connect_or_select_db) { + pefree(conn-connect_or_select_db, conn-persistent); + } + conn-connect_or_select_db = pestrndup(db, db_len, conn-persistent); + } DBG_RETURN(ret); } /* }}} */ Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-10-22 16:17:41 UTC (rev 289857) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-10-22 17:07:55 UTC (rev 289858) @@ -393,17 +393,23 @@ /* Information related */ char*host; + unsigned inthost_len; char*unix_socket; + unsigned intunix_socket_len; char*user; + unsigned intuser_len; char*passwd; - unsigned int*passwd_len; + unsigned intpasswd_len; char*scheme; + unsigned intscheme_len; uint64_tthread_id; char*server_version; char*host_info; unsigned char *scramble; const MYSQLND_CHARSET *charset; const MYSQLND_CHARSET *greet_charset; + char*connect_or_select_db; + unsigned intconnect_or_select_db_len; MYSQLND_INFILE infile; unsigned intprotocol_version; unsigned long max_packet_size; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-10-22 16:17:41 UTC (rev 289857) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
andrey Tue, 06 Oct 2009 10:33:23 + Revision: http://svn.php.net/viewvc?view=revisionrevision=289247 Log: count the queries Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-10-06 10:08:50 UTC (rev 289246) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-10-06 10:33:23 UTC (rev 289247) @@ -399,6 +399,10 @@ SET_ERROR_AFF_ROWS(conn); SET_EMPTY_ERROR(conn-error_info); + if (command == COM_QUERY) { + ++conn-query_counter; + } + PACKET_INIT_ALLOCA(cmd_packet, PROT_CMD_PACKET); cmd_packet.command = command; if (arg arg_len) { Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 10:08:50 UTC (rev 289246) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 10:33:23 UTC (rev 289247) @@ -425,6 +425,7 @@ */ enum mysqlnd_connection_state state; enum_mysqlnd_query_type last_query_type; + uint32_tquery_counter; /* Temporary storage between query and (use|store)_result() call */ MYSQLND_RES *current_result; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-10-06 10:08:50 UTC (rev 289246) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-10-06 10:33:23 UTC (rev 289247) @@ -399,6 +399,10 @@ SET_ERROR_AFF_ROWS(conn); SET_EMPTY_ERROR(conn-error_info); + if (command == COM_QUERY) { + ++conn-query_counter; + } + PACKET_INIT_ALLOCA(cmd_packet, PROT_CMD_PACKET); cmd_packet.command = command; if (arg arg_len) { Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 10:08:50 UTC (rev 289246) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 10:33:23 UTC (rev 289247) @@ -425,6 +425,7 @@ */ enum mysqlnd_connection_state state; enum_mysqlnd_query_type last_query_type; + uint32_tquery_counter; /* Temporary storage between query and (use|store)_result() call */ MYSQLND_RES *current_result; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_structs.h
andrey Tue, 06 Oct 2009 12:53:01 + Revision: http://svn.php.net/viewvc?view=revisionrevision=289249 Log: revert the last change Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-10-06 12:52:32 UTC (rev 289248) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-10-06 12:53:01 UTC (rev 289249) @@ -399,10 +399,6 @@ SET_ERROR_AFF_ROWS(conn); SET_EMPTY_ERROR(conn-error_info); - if (command == COM_QUERY) { - ++conn-query_counter; - } - PACKET_INIT_ALLOCA(cmd_packet, PROT_CMD_PACKET); cmd_packet.command = command; if (arg arg_len) { Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 12:52:32 UTC (rev 289248) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 12:53:01 UTC (rev 289249) @@ -425,7 +425,6 @@ */ enum mysqlnd_connection_state state; enum_mysqlnd_query_type last_query_type; - uint32_tquery_counter; /* Temporary storage between query and (use|store)_result() call */ MYSQLND_RES *current_result; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-10-06 12:52:32 UTC (rev 289248) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-10-06 12:53:01 UTC (rev 289249) @@ -399,10 +399,6 @@ SET_ERROR_AFF_ROWS(conn); SET_EMPTY_ERROR(conn-error_info); - if (command == COM_QUERY) { - ++conn-query_counter; - } - PACKET_INIT_ALLOCA(cmd_packet, PROT_CMD_PACKET); cmd_packet.command = command; if (arg arg_len) { Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 12:52:32 UTC (rev 289248) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-10-06 12:53:01 UTC (rev 289249) @@ -425,7 +425,6 @@ */ enum mysqlnd_connection_state state; enum_mysqlnd_query_type last_query_type; - uint32_tquery_counter; /* Temporary storage between query and (use|store)_result() call */ MYSQLND_RES *current_result; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php