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:
Markus Makela 2016-10-31 08:38:05 +02:00
parent 282ed9f8c2
commit 5a1af968d2
8 changed files with 8 additions and 38 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}
/**

View File

@ -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;
}

View File

@ -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;
}