Fixed binlogrouter not working with C99 flags.
This commit is contained in:
@ -34,7 +34,7 @@
|
|||||||
#include <dcb.h>
|
#include <dcb.h>
|
||||||
#include <buffer.h>
|
#include <buffer.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <memlog.h>
|
#include <memlog.h>
|
||||||
#include <zlib.h>
|
#include <zlib.h>
|
||||||
|
|
||||||
@ -477,4 +477,5 @@ extern int blr_statistics(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
|||||||
extern int blr_ping(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
extern int blr_ping(ROUTER_INSTANCE *, ROUTER_SLAVE *, GWBUF *);
|
||||||
extern int blr_send_custom_error(DCB *, int, int, char *);
|
extern int blr_send_custom_error(DCB *, int, int, char *);
|
||||||
extern int blr_file_next_exists(ROUTER_INSTANCE *, ROUTER_SLAVE *);
|
extern int blr_file_next_exists(ROUTER_INSTANCE *, ROUTER_SLAVE *);
|
||||||
|
uint32_t extract_field(uint8_t *src, int bits);
|
||||||
#endif
|
#endif
|
||||||
|
@ -111,6 +111,7 @@ static void rses_end_locked_router_action(ROUTER_SLAVE *);
|
|||||||
void my_uuid_init(ulong seed1, ulong seed2);
|
void my_uuid_init(ulong seed1, ulong seed2);
|
||||||
void my_uuid(char *guid);
|
void my_uuid(char *guid);
|
||||||
GWBUF *blr_cache_read_response(ROUTER_INSTANCE *router, char *response);
|
GWBUF *blr_cache_read_response(ROUTER_INSTANCE *router, char *response);
|
||||||
|
|
||||||
static SPINLOCK instlock;
|
static SPINLOCK instlock;
|
||||||
static ROUTER_INSTANCE *instances;
|
static ROUTER_INSTANCE *instances;
|
||||||
|
|
||||||
@ -1342,3 +1343,24 @@ GWBUF *errbuf = NULL;
|
|||||||
|
|
||||||
return dcb->func.write(dcb, errbuf);
|
return dcb->func.write(dcb, errbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extract a numeric field from a packet of the specified number of bits
|
||||||
|
*
|
||||||
|
* @param src The raw packet source
|
||||||
|
* @param birs The number of bits to extract (multiple of 8)
|
||||||
|
*/
|
||||||
|
uint32_t
|
||||||
|
extract_field(uint8_t *src, int bits)
|
||||||
|
{
|
||||||
|
uint32_t rval = 0, shift = 0;
|
||||||
|
|
||||||
|
while (bits > 0)
|
||||||
|
{
|
||||||
|
rval |= (*src++) << shift;
|
||||||
|
shift += 8;
|
||||||
|
bits -= 8;
|
||||||
|
}
|
||||||
|
return rval;
|
||||||
|
}
|
||||||
|
@ -58,7 +58,6 @@ extern __thread log_info_t tls_log_info;
|
|||||||
|
|
||||||
static int blr_file_create(ROUTER_INSTANCE *router, char *file);
|
static int blr_file_create(ROUTER_INSTANCE *router, char *file);
|
||||||
static void blr_file_append(ROUTER_INSTANCE *router, char *file);
|
static void blr_file_append(ROUTER_INSTANCE *router, char *file);
|
||||||
static uint32_t extract_field(uint8_t *src, int bits);
|
|
||||||
static void blr_log_header(logfile_id_t file, char *msg, uint8_t *ptr);
|
static void blr_log_header(logfile_id_t file, char *msg, uint8_t *ptr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -599,26 +598,6 @@ blr_close_binlog(ROUTER_INSTANCE *router, BLFILE *file)
|
|||||||
free(file);
|
free(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Extract a numeric field from a packet of the specified number of bits
|
|
||||||
*
|
|
||||||
* @param src The raw packet source
|
|
||||||
* @param birs The number of bits to extract (multiple of 8)
|
|
||||||
*/
|
|
||||||
static uint32_t
|
|
||||||
extract_field(uint8_t *src, int bits)
|
|
||||||
{
|
|
||||||
uint32_t rval = 0, shift = 0;
|
|
||||||
|
|
||||||
while (bits > 0)
|
|
||||||
{
|
|
||||||
rval |= (*src++) << shift;
|
|
||||||
shift += 8;
|
|
||||||
bits -= 8;
|
|
||||||
}
|
|
||||||
return rval;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log the event header of binlog event
|
* Log the event header of binlog event
|
||||||
*
|
*
|
||||||
|
@ -77,7 +77,6 @@ static int blr_rotate_event(ROUTER_INSTANCE *router, uint8_t *pkt, REP_HEADER *
|
|||||||
void blr_distribute_binlog_record(ROUTER_INSTANCE *router, REP_HEADER *hdr, uint8_t *ptr);
|
void blr_distribute_binlog_record(ROUTER_INSTANCE *router, REP_HEADER *hdr, uint8_t *ptr);
|
||||||
static void *CreateMySQLAuthData(char *username, char *password, char *database);
|
static void *CreateMySQLAuthData(char *username, char *password, char *database);
|
||||||
void blr_extract_header(uint8_t *pkt, REP_HEADER *hdr);
|
void blr_extract_header(uint8_t *pkt, REP_HEADER *hdr);
|
||||||
inline uint32_t extract_field(uint8_t *src, int bits);
|
|
||||||
static void blr_log_packet(logfile_id_t file, char *msg, uint8_t *ptr, int len);
|
static void blr_log_packet(logfile_id_t file, char *msg, uint8_t *ptr, int len);
|
||||||
static void blr_master_close(ROUTER_INSTANCE *);
|
static void blr_master_close(ROUTER_INSTANCE *);
|
||||||
static char *blr_extract_column(GWBUF *buf, int col);
|
static char *blr_extract_column(GWBUF *buf, int col);
|
||||||
@ -1161,26 +1160,6 @@ blr_extract_header(register uint8_t *ptr, register REP_HEADER *hdr)
|
|||||||
hdr->flags = EXTRACT16(&ptr[22]);
|
hdr->flags = EXTRACT16(&ptr[22]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Extract a numeric field from a packet of the specified number of bits
|
|
||||||
*
|
|
||||||
* @param src The raw packet source
|
|
||||||
* @param bits The number of bits to extract (multiple of 8)
|
|
||||||
*/
|
|
||||||
inline uint32_t
|
|
||||||
extract_field(register uint8_t *src, int bits)
|
|
||||||
{
|
|
||||||
register uint32_t rval = 0, shift = 0;
|
|
||||||
|
|
||||||
while (bits > 0)
|
|
||||||
{
|
|
||||||
rval |= (*src++) << shift;
|
|
||||||
shift += 8;
|
|
||||||
bits -= 8;
|
|
||||||
}
|
|
||||||
return rval;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process a binlog rotate event.
|
* Process a binlog rotate event.
|
||||||
*
|
*
|
||||||
|
@ -60,7 +60,6 @@
|
|||||||
#include <log_manager.h>
|
#include <log_manager.h>
|
||||||
#include <version.h>
|
#include <version.h>
|
||||||
|
|
||||||
static uint32_t extract_field(uint8_t *src, int bits);
|
|
||||||
static void encode_value(unsigned char *data, unsigned int value, int len);
|
static void encode_value(unsigned char *data, unsigned int value, int len);
|
||||||
static int blr_slave_query(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, GWBUF *queue);
|
static int blr_slave_query(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, GWBUF *queue);
|
||||||
static int blr_slave_replay(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, GWBUF *master);
|
static int blr_slave_replay(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, GWBUF *master);
|
||||||
@ -1303,28 +1302,6 @@ uint32_t chksum;
|
|||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Extract a numeric field from a packet of the specified number of bits,
|
|
||||||
* the number of bits must be a multiple of 8.
|
|
||||||
*
|
|
||||||
* @param src The raw packet source
|
|
||||||
* @param bits The number of bits to extract (multiple of 8)
|
|
||||||
* @return The extracted value
|
|
||||||
*/
|
|
||||||
static uint32_t
|
|
||||||
extract_field(uint8_t *src, int bits)
|
|
||||||
{
|
|
||||||
uint32_t rval = 0, shift = 0;
|
|
||||||
|
|
||||||
while (bits > 0)
|
|
||||||
{
|
|
||||||
rval |= (*src++) << shift;
|
|
||||||
shift += 8;
|
|
||||||
bits -= 8;
|
|
||||||
}
|
|
||||||
return rval;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encode a value into a number of bits in a MySQL packet
|
* Encode a value into a number of bits in a MySQL packet
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user