MXS-2688 Add QC operator QUERY_OP_SET
Allows RWS to unconditionally send all SET-statements to all servers.
This commit is contained in:
parent
f46f873dc1
commit
f587ec191d
@ -121,6 +121,7 @@ typedef enum qc_query_op
|
||||
QUERY_OP_LOAD,
|
||||
QUERY_OP_REVOKE,
|
||||
QUERY_OP_SELECT,
|
||||
QUERY_OP_SET,
|
||||
QUERY_OP_SHOW,
|
||||
QUERY_OP_TRUNCATE,
|
||||
QUERY_OP_UPDATE,
|
||||
|
@ -2065,6 +2065,10 @@ int32_t qc_mysql_get_operation(GWBUF* querybuf, int32_t* operation)
|
||||
*operation = QUERY_OP_REVOKE;
|
||||
break;
|
||||
|
||||
case SQLCOM_SET_OPTION:
|
||||
*operation = QUERY_OP_SET;
|
||||
break;
|
||||
|
||||
case SQLCOM_SHOW_CREATE:
|
||||
case SQLCOM_SHOW_CREATE_DB:
|
||||
case SQLCOM_SHOW_CREATE_FUNC:
|
||||
|
@ -2651,6 +2651,7 @@ public:
|
||||
case TK_SET:
|
||||
m_status = QC_QUERY_TOKENIZED;
|
||||
m_type_mask = QUERY_TYPE_GSYSVAR_WRITE;
|
||||
m_operation = QUERY_OP_SET;
|
||||
break;
|
||||
|
||||
case TK_SHOW:
|
||||
@ -2883,6 +2884,7 @@ public:
|
||||
mxb_assert(this_thread.initialized);
|
||||
|
||||
m_status = QC_QUERY_PARSED;
|
||||
m_operation = QUERY_OP_SET; // There will be no SET in case of Oracle's "var := 1".
|
||||
m_type_mask = 0; // Reset what was set in maxscaleKeyword
|
||||
|
||||
switch (kind)
|
||||
|
@ -129,3 +129,6 @@ XA PREPARE 'xid';
|
||||
XA COMMIT 'xid';
|
||||
XA ROLLBACK 'xid'
|
||||
XA RECOVER 'xid';
|
||||
|
||||
# MXS-2688
|
||||
SET @saved_cs_client= @@character_set_client;
|
||||
|
@ -855,6 +855,9 @@ const char* qc_op_to_string(qc_query_op_t op)
|
||||
case QUERY_OP_SELECT:
|
||||
return "QUERY_OP_SELECT";
|
||||
|
||||
case QUERY_OP_SET:
|
||||
return "QUERY_OP_SET";
|
||||
|
||||
case QUERY_OP_SHOW:
|
||||
return "QUERY_OP_SHOW";
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user