Merge branch 'Z3' into Z3_rabbit_partial
Conflicts: server/modules/routing/readwritesplit/readwritesplit.c
This commit is contained in:
@ -1054,6 +1054,39 @@ char* skygw_get_created_table_name(GWBUF* querybuf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether the query is a "real" query ie. SELECT,UPDATE,INSERT,DELETE or any variation of these.
|
||||||
|
* Queries that affect the underlying database are not considered as real queries and the queries that target
|
||||||
|
* specific row or variable data are regarded as the real queries.
|
||||||
|
* @param GWBUF to analyze
|
||||||
|
* @return true if the query is a real query, otherwise false
|
||||||
|
*/
|
||||||
|
bool skygw_is_real_query(GWBUF* querybuf)
|
||||||
|
{
|
||||||
|
LEX* lex = get_lex(querybuf);
|
||||||
|
if(lex){
|
||||||
|
switch(lex->sql_command){
|
||||||
|
case SQLCOM_SELECT:
|
||||||
|
return lex->all_selects_list->table_list.elements > 0;
|
||||||
|
case SQLCOM_UPDATE:
|
||||||
|
case SQLCOM_INSERT:
|
||||||
|
case SQLCOM_INSERT_SELECT:
|
||||||
|
case SQLCOM_DELETE:
|
||||||
|
case SQLCOM_TRUNCATE:
|
||||||
|
case SQLCOM_REPLACE:
|
||||||
|
case SQLCOM_REPLACE_SELECT:
|
||||||
|
case SQLCOM_PREPARE:
|
||||||
|
case SQLCOM_EXECUTE:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks whether the buffer contains a DROP TABLE... query.
|
* Checks whether the buffer contains a DROP TABLE... query.
|
||||||
* @param querybuf Buffer to inspect
|
* @param querybuf Buffer to inspect
|
||||||
|
@ -100,7 +100,7 @@ poll_add_dcb(DCB *dcb)
|
|||||||
|
|
||||||
CHK_DCB(dcb);
|
CHK_DCB(dcb);
|
||||||
|
|
||||||
ev.events = EPOLLIN | EPOLLOUT | EPOLLET;
|
ev.events = EPOLLIN | EPOLLOUT | EPOLLET | EPOLLHUP;
|
||||||
ev.data.ptr = dcb;
|
ev.data.ptr = dcb;
|
||||||
|
|
||||||
/*<
|
/*<
|
||||||
@ -480,7 +480,7 @@ poll_waitevents(void *arg)
|
|||||||
} /*< for */
|
} /*< for */
|
||||||
no_op = FALSE;
|
no_op = FALSE;
|
||||||
}
|
}
|
||||||
process_zombies:
|
process_zombies:
|
||||||
zombies = dcb_process_zombies(thread_id);
|
zombies = dcb_process_zombies(thread_id);
|
||||||
|
|
||||||
if (zombies == NULL) {
|
if (zombies == NULL) {
|
||||||
|
@ -102,9 +102,9 @@ typedef struct server {
|
|||||||
#define SERVER_SLAVE 0x0004 /**<< The server is a slave, i.e. can handle reads */
|
#define SERVER_SLAVE 0x0004 /**<< The server is a slave, i.e. can handle reads */
|
||||||
#define SERVER_JOINED 0x0008 /**<< The server is joined in a Galera cluster */
|
#define SERVER_JOINED 0x0008 /**<< The server is joined in a Galera cluster */
|
||||||
#define SERVER_NDB 0x0010 /**<< The server is part of a MySQL cluster setup */
|
#define SERVER_NDB 0x0010 /**<< The server is part of a MySQL cluster setup */
|
||||||
#define SERVER_MAINT 0x1000 /**<< Server is in maintenance mode */
|
#define SERVER_MAINT 0x0020 /**<< Server is in maintenance mode */
|
||||||
#define SERVER_SLAVE_OF_EXTERNAL_MASTER 0x0080 /**<< Server is slave of a Master outside the provided replication topology */
|
#define SERVER_SLAVE_OF_EXTERNAL_MASTER 0x0040 /**<< Server is slave of a Master outside the provided replication topology */
|
||||||
#define SERVER_STALE_STATUS 0x2000 /**<< Server stale status, monitor didn't update it */
|
#define SERVER_STALE_STATUS 0x0080 /**<< Server stale status, monitor didn't update it */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is the server running - the macro returns true if the server is marked as running
|
* Is the server running - the macro returns true if the server is marked as running
|
||||||
|
Reference in New Issue
Block a user