@@ -951,6 +951,32 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
951
951
/* }}} */
952
952
953
953
954
+ /* {{{ mysqlnd_conn::connect */
955
+ static enum_func_status
956
+ MYSQLND_METHOD (mysqlnd_conn , connect )(MYSQLND * conn_handle ,
957
+ const char * host , const char * user ,
958
+ const char * passwd , unsigned int passwd_len ,
959
+ const char * db , unsigned int db_len ,
960
+ unsigned int port ,
961
+ const char * socket_or_pipe ,
962
+ unsigned int mysql_flags
963
+ TSRMLS_DC )
964
+ {
965
+ size_t this_func = STRUCT_OFFSET (struct st_mysqlnd_conn_data_methods , connect );
966
+ enum_func_status ret = FAIL ;
967
+ MYSQLND_CONN_DATA * conn = conn_handle -> data ;
968
+
969
+ DBG_ENTER ("mysqlnd_conn::connect" );
970
+
971
+ if (PASS == conn -> m -> local_tx_start (conn , this_func TSRMLS_CC )) {
972
+ ret = conn -> m -> connect (conn , host , user , passwd , passwd_len , db , db_len , port , socket_or_pipe , mysql_flags TSRMLS_CC );
973
+
974
+ conn -> m -> local_tx_end (conn , this_func , FAIL TSRMLS_CC );
975
+ }
976
+ DBG_RETURN (ret );
977
+ }
978
+
979
+
954
980
/* {{{ mysqlnd_connect */
955
981
PHPAPI MYSQLND * mysqlnd_connect (MYSQLND * conn_handle ,
956
982
const char * host , const char * user ,
@@ -963,7 +989,6 @@ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn_handle,
963
989
{
964
990
enum_func_status ret = FAIL ;
965
991
zend_bool self_alloced = FALSE;
966
- MYSQLND_CONN_DATA * conn ;
967
992
968
993
DBG_ENTER ("mysqlnd_connect" );
969
994
DBG_INF_FMT ("host=%s user=%s db=%s port=%u flags=%u" , host ?host :"" , user ?user :"" , db ?db :"" , port , mysql_flags );
@@ -975,9 +1000,8 @@ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn_handle,
975
1000
DBG_RETURN (NULL );
976
1001
}
977
1002
}
978
- conn = conn_handle -> data ;
979
1003
980
- ret = conn -> m -> connect (conn , host , user , passwd , passwd_len , db , db_len , port , socket_or_pipe , mysql_flags TSRMLS_CC );
1004
+ ret = conn_handle -> m -> connect (conn_handle , host , user , passwd , passwd_len , db , db_len , port , socket_or_pipe , mysql_flags TSRMLS_CC );
981
1005
982
1006
if (ret == FAIL ) {
983
1007
if (self_alloced ) {
@@ -2689,6 +2713,7 @@ MYSQLND_METHOD(mysqlnd_conn, close)(MYSQLND * conn_handle, enum_connection_close
2689
2713
2690
2714
2691
2715
MYSQLND_CLASS_METHODS_START (mysqlnd_conn )
2716
+ MYSQLND_METHOD (mysqlnd_conn , connect ),
2692
2717
MYSQLND_METHOD (mysqlnd_conn , clone_object ),
2693
2718
MYSQLND_METHOD_PRIVATE (mysqlnd_conn , dtor ),
2694
2719
MYSQLND_METHOD (mysqlnd_conn , close )
0 commit comments