Skip to content

Commit a61a37d

Browse files
WL#11960 Refactoring of the session object
1 parent 3e81752 commit a61a37d

8 files changed

+1877
-2101
lines changed

mysqlx_session.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,11 @@ ZEND_END_ARG_INFO()
127127
static zend_bool
128128
mysqlx_throw_exception_from_session_if_needed(const XMYSQLND_SESSION_DATA session)
129129
{
130-
const unsigned int error_num = session->m->get_error_no(session);
130+
const unsigned int error_num = session->get_error_no();
131131
DBG_ENTER("mysqlx_throw_exception_from_session_if_needed");
132132
if (error_num) {
133-
MYSQLND_CSTRING sqlstate = { session->m->get_sqlstate(session) , 0 };
134-
MYSQLND_CSTRING errmsg = { session->m->get_error_str(session) , 0 };
133+
MYSQLND_CSTRING sqlstate = { session->get_sqlstate() , 0 };
134+
MYSQLND_CSTRING errmsg = { session->get_error_str() , 0 };
135135
sqlstate.l = strlen(sqlstate.s);
136136
errmsg.l = strlen(errmsg.s);
137137
mysqlx_new_exception(error_num, sqlstate, errmsg);
@@ -182,7 +182,7 @@ MYSQL_XDEVAPI_PHP_METHOD(mysqlx_session, getClientId)
182182
MYSQLX_FETCH_SESSION_FROM_ZVAL(object, object_zv);
183183

184184
if (XMYSQLND_SESSION session = object->session) {
185-
RETVAL_LONG(session->data->m->get_client_id(session->data));
185+
RETVAL_LONG(session->data->get_client_id());
186186
mysqlx_throw_exception_from_session_if_needed(session->data);
187187
} else {
188188
RETVAL_FALSE;
@@ -267,8 +267,8 @@ mysqlx_session_command_handler_on_error(void * context,
267267
const MYSQLND_CSTRING message)
268268
{
269269
DBG_ENTER("mysqlx_session_command_handler_on_error");
270-
if (session) {
271-
session->data->m->handler_on_error(session->data.get(), code, sql_state, message);
270+
if (session) {
271+
xmysqlnd_session_data_handler_on_error(session->data.get(), code, sql_state, message);
272272
}
273273
DBG_RETURN(HND_PASS_RETURN_FAIL);
274274
}
@@ -567,7 +567,7 @@ MYSQL_XDEVAPI_PHP_METHOD(mysqlx_session, quoteName)
567567
MYSQLX_FETCH_SESSION_FROM_ZVAL(object, object_zv);
568568

569569
if ((session = object->session)) {
570-
MYSQLND_STRING quoted_name = session->data->m->quote_name(session->data, name);
570+
MYSQLND_STRING quoted_name = session->data->quote_name(name);
571571
RETVAL_STRINGL(quoted_name.s, quoted_name.l);
572572
if (quoted_name.s) {
573573
mnd_efree(quoted_name.s);

mysqlx_x_session.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ MYSQL_XDEVAPI_PHP_METHOD(mysqlx_x_session, __construct)
7373
static zend_bool
7474
mysqlx_throw_exception_from_session_if_needed(const XMYSQLND_SESSION_DATA session)
7575
{
76-
const unsigned int error_num = session->m->get_error_no(session);
76+
const unsigned int error_num = session->get_error_no();
7777
DBG_ENTER("mysqlx_throw_exception_from_session_if_needed");
7878
if (error_num) {
79-
MYSQLND_CSTRING sqlstate = { session->m->get_sqlstate(session) , 0 };
80-
MYSQLND_CSTRING errmsg = { session->m->get_error_str(session) , 0 };
79+
MYSQLND_CSTRING sqlstate = { session->get_sqlstate() , 0 };
80+
MYSQLND_CSTRING errmsg = { session->get_error_str() , 0 };
8181
sqlstate.l = strlen(sqlstate.s);
8282
errmsg.l = strlen(errmsg.s);
8383
mysqlx_new_exception(error_num, sqlstate, errmsg);

xmysqlnd/xmysqlnd_extension_plugin.cc

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -259,24 +259,6 @@ _xmysqlnd_session_set_methods(const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_session)
259259
}
260260
/* }}} */
261261

262-
263-
/* {{{ _xmysqlnd_session_data_get_methods */
264-
static const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_session_data) *
265-
_xmysqlnd_session_data_get_methods()
266-
{
267-
return MYSQLND_CLASS_METHODS_INSTANCE_NAME(xmysqlnd_session_data);
268-
}
269-
/* }}} */
270-
271-
/* {{{ _xmysqlnd_session_data_set_methods */
272-
static void
273-
_xmysqlnd_session_data_set_methods(const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_session_data) * const methods)
274-
{
275-
MYSQLND_CLASS_METHODS_INSTANCE_NAME(xmysqlnd_session_data) = methods;
276-
}
277-
/* }}} */
278-
279-
280262
/* {{{ _xmysqlnd_schema_get_methods */
281263
static const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_schema) *
282264
_xmysqlnd_schema_get_methods()
@@ -511,10 +493,6 @@ PHP_MYSQL_XDEVAPI_API struct st_xmysqlnd_plugin_methods_xetters xmysqlnd_plugin_
511493
_xmysqlnd_session_get_methods,
512494
_xmysqlnd_session_set_methods,
513495
},
514-
{
515-
_xmysqlnd_session_data_get_methods,
516-
_xmysqlnd_session_data_set_methods,
517-
},
518496
{
519497
_xmysqlnd_schema_get_methods,
520498
_xmysqlnd_schema_set_methods,

xmysqlnd/xmysqlnd_extension_plugin.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,6 @@ struct st_xmysqlnd_plugin_methods_xetters
101101
void (*set)(const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_session) * const methods);
102102
} session;
103103

104-
struct st_xmnd_session_data_xetters
105-
{
106-
const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_session_data) * (*get)();
107-
void (*set)(const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_session_data) * const methods);
108-
} session_data;
109-
110104
struct st_xmnd_schema_xetters
111105
{
112106
const MYSQLND_CLASS_METHODS_TYPE(xmysqlnd_schema) * (*get)();
@@ -195,9 +189,6 @@ PHP_MYSQL_XDEVAPI_API extern struct st_xmysqlnd_plugin_methods_xetters xmysqlnd_
195189
#define xmysqlnd_session_get_methods() xmysqlnd_plugin_methods_xetters.session.get()
196190
#define xmysqlnd_session_set_methods(m) xmysqlnd_plugin_methods_xetters.session.set((m))
197191

198-
#define xmysqlnd_session_data_get_methods() xmysqlnd_plugin_methods_xetters.session_data.get()
199-
#define xmysqlnd_session_data_set_methods(m) xmysqlnd_plugin_methods_xetters.session_data.set((m))
200-
201192
#define xmysqlnd_schema_get_methods() xmysqlnd_plugin_methods_xetters.schema.get()
202193
#define xmysqlnd_schema_set_methods(m) xmysqlnd_plugin_methods_xetters.schema.set((m))
203194

xmysqlnd/xmysqlnd_object_factory.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ XMYSQLND_METHOD(xmysqlnd_object_factory, get_session_data)(const MYSQLND_CLASS_M
8484
DBG_RETURN(nullptr);
8585
}
8686
object->persistent = persistent;
87-
object->m = xmysqlnd_session_data_get_methods();
8887
DBG_RETURN(object);
8988
}
9089
/* }}} */

0 commit comments

Comments
 (0)