Take contiguous input capability into use in filters
The filters which require contiguous input now return the RCAP_TYPE_CONTIGUOUS_INPUT capability flag.
This commit is contained in:
parent
282ed9f8c2
commit
5a1af968d2
@ -333,11 +333,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
|
||||
if (modutil_is_SQL(queue))
|
||||
{
|
||||
if (queue->next)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Not a simple SELECT statement, possibly modifies data. If we're processing a statement
|
||||
* with unknown query type, the safest thing to do is to treat it as a data modifying statement.
|
||||
@ -422,5 +417,5 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
@ -1373,11 +1373,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
}
|
||||
}
|
||||
|
||||
if (queue->next != NULL)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
|
||||
if (modutil_extract_SQL(queue, &ptr, &length))
|
||||
{
|
||||
|
||||
@ -1713,5 +1708,5 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
@ -349,10 +349,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
|
||||
if (modutil_is_SQL(queue) && my_session->active)
|
||||
{
|
||||
if (queue->next != NULL)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
if ((sql = modutil_get_SQL(queue)) != NULL)
|
||||
{
|
||||
if (regexec(&my_instance->re, sql, 0, NULL, 0) == 0)
|
||||
@ -420,5 +416,5 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
@ -447,10 +447,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
|
||||
if (my_session->active)
|
||||
{
|
||||
if (queue->next != NULL)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
if ((ptr = modutil_get_SQL(queue)) != NULL)
|
||||
{
|
||||
if ((my_instance->match == NULL ||
|
||||
@ -524,5 +520,5 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
@ -394,10 +394,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
|
||||
if (my_session->active && modutil_is_SQL(queue))
|
||||
{
|
||||
if (queue->next != NULL)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
if ((sql = modutil_get_SQL(queue)) != NULL)
|
||||
{
|
||||
newsql = regex_replace(sql,
|
||||
@ -555,5 +551,5 @@ void log_nomatch(REGEX_INSTANCE* inst, char* re, char* old)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
@ -1133,7 +1133,7 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -528,10 +528,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
|
||||
if (my_session->active)
|
||||
{
|
||||
if (queue->next != NULL)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
if ((ptr = modutil_get_SQL(queue)) != NULL)
|
||||
{
|
||||
if ((my_instance->match == NULL ||
|
||||
@ -692,5 +688,5 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
@ -394,10 +394,6 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
|
||||
|
||||
if (my_session->active)
|
||||
{
|
||||
if (queue->next != NULL)
|
||||
{
|
||||
queue = gwbuf_make_contiguous(queue);
|
||||
}
|
||||
if ((ptr = modutil_get_SQL(queue)) != NULL)
|
||||
{
|
||||
my_session->query_end = false;
|
||||
@ -567,5 +563,5 @@ diagnostic(FILTER *instance, void *fsession, DCB *dcb)
|
||||
*/
|
||||
static uint64_t getCapabilities(void)
|
||||
{
|
||||
return RCAP_TYPE_STMT_INPUT;
|
||||
return RCAP_TYPE_CONTIGUOUS_INPUT;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user