@@ -284,9 +284,9 @@ MYSQLND_METHOD(mysqlnd_conn_data, free_contents)(MYSQLND_CONN_DATA * conn)
284
284
mnd_pefree (conn -> passwd , pers );
285
285
conn -> passwd = NULL ;
286
286
}
287
- if (conn -> connect_or_select_db ) {
288
- mnd_pefree (conn -> connect_or_select_db , pers );
289
- conn -> connect_or_select_db = NULL ;
287
+ if (conn -> connect_or_select_db . s ) {
288
+ mnd_pefree (conn -> connect_or_select_db . s , pers );
289
+ conn -> connect_or_select_db . s = NULL ;
290
290
}
291
291
if (conn -> unix_socket ) {
292
292
mnd_pefree (conn -> unix_socket , pers );
@@ -925,10 +925,10 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
925
925
conn -> passwd = mnd_pestrndup (passwd , passwd_len , conn -> persistent );
926
926
conn -> passwd_len = passwd_len ;
927
927
conn -> port = port ;
928
- conn -> connect_or_select_db = mnd_pestrndup (db , db_len , conn -> persistent );
929
- conn -> connect_or_select_db_len = db_len ;
928
+ conn -> connect_or_select_db . s = mnd_pestrndup (db , db_len , conn -> persistent );
929
+ conn -> connect_or_select_db . l = db_len ;
930
930
931
- if (!conn -> user || !conn -> passwd || !conn -> connect_or_select_db ) {
931
+ if (!conn -> user || !conn -> passwd || !conn -> connect_or_select_db . s ) {
932
932
SET_OOM_ERROR (conn -> error_info );
933
933
goto err ; /* OOM */
934
934
}
@@ -1538,23 +1538,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, select_db)(MYSQLND_CONN_DATA * const conn, con
1538
1538
command -> free_command (command );
1539
1539
}
1540
1540
1541
- /*
1542
- The server sends 0 but libmysql doesn't read it and has established
1543
- a protocol of giving back -1. Thus we have to follow it :(
1544
- */
1545
- UPSERT_STATUS_SET_AFFECTED_ROWS_TO_ERROR (conn -> upsert_status );
1546
- if (ret == PASS ) {
1547
- if (conn -> connect_or_select_db ) {
1548
- mnd_pefree (conn -> connect_or_select_db , conn -> persistent );
1549
- }
1550
- conn -> connect_or_select_db = mnd_pestrndup (db , db_len , conn -> persistent );
1551
- conn -> connect_or_select_db_len = db_len ;
1552
- if (!conn -> connect_or_select_db ) {
1553
- /* OOM */
1554
- SET_OOM_ERROR (conn -> error_info );
1555
- ret = FAIL ;
1556
- }
1557
- }
1558
1541
conn -> m -> local_tx_end (conn , this_func , ret );
1559
1542
}
1560
1543
DBG_RETURN (ret );
0 commit comments