Added pepared statements and field lsit support to the command types
to duplciate
This commit is contained in:
parent
c266a2cf57
commit
1fc063b437
@ -59,9 +59,28 @@
|
||||
#include <router.h>
|
||||
#include <dcb.h>
|
||||
|
||||
#define MYSQL_COM_QUIT 0x01
|
||||
#define MYSQL_COM_INITDB 0x02
|
||||
#define MYSQL_COM_CHANGE_USER 0x11
|
||||
#define MYSQL_COM_QUIT 0x01
|
||||
#define MYSQL_COM_INITDB 0x02
|
||||
#define MYSQL_COM_FIELD_LIST 0x04
|
||||
#define MYSQL_COM_CHANGE_USER 0x11
|
||||
#define MYSQL_COM_STMT_PREPARE 0x16
|
||||
#define MYSQL_COM_STMT_EXECUTE 0x17
|
||||
#define MYSQL_COM_STMT_SEND_LONG_DATA 0x18
|
||||
#define MYSQL_COM_STMT_CLOSE 0x19
|
||||
#define MYSQL_COM_STMT_RESET 0x1a
|
||||
|
||||
|
||||
static unsigned char required_packets[] = {
|
||||
MYSQL_COM_QUIT,
|
||||
MYSQL_COM_INITDB,
|
||||
MYSQL_COM_FIELD_LIST,
|
||||
MYSQL_COM_CHANGE_USER,
|
||||
MYSQL_COM_STMT_PREPARE,
|
||||
MYSQL_COM_STMT_EXECUTE,
|
||||
MYSQL_COM_STMT_SEND_LONG_DATA,
|
||||
MYSQL_COM_STMT_CLOSE,
|
||||
MYSQL_COM_STMT_RESET,
|
||||
0 };
|
||||
|
||||
/** Defined in log_manager.cc */
|
||||
extern int lm_enabled_logfiles_bitmask;
|
||||
@ -507,12 +526,12 @@ static int
|
||||
packet_is_required(GWBUF *queue)
|
||||
{
|
||||
uint8_t *ptr;
|
||||
int i;
|
||||
|
||||
ptr = GWBUF_DATA(queue);
|
||||
if (GWBUF_LENGTH(queue) > 4 &&
|
||||
(ptr[4] == MYSQL_COM_QUIT || ptr[4] == MYSQL_COM_INITDB
|
||||
|| ptr[4] == MYSQL_COM_CHANGE_USER))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
if (GWBUF_LENGTH(queue) > 4)
|
||||
for (i = 0; required_packets[i]; i++)
|
||||
if (ptr[4] == required_packets[i])
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user