Commit Graph

9254 Commits

Author SHA1 Message Date
c2be579cae Merge 2013-07-02 15:16:51 +03:00
d11741130d Changed log manager API to support variable length formatted log strings. New API is as follows:
/** No change in these */
bool skygw_logmanager_init(void** buf, int argc, char* argv[]);
void skygw_logmanager_done(void** buf);
void skygw_logmanager_exit(void);
int  skygw_log_flush(logfile_id_t id);

/** writebuf remains unused, but formatted string is now possible and in case 
 * of formatted string, arbitrary long argument list is supported too. Max 
 * length for a log string is defined to BUFSIZ, whose value depends on the 
 * system but typically is 4/8KB.
 */
int  skygw_log_write(void* writebuf, logfile_id_t id, char* format, ...);
int  skygw_log_write_flush(void* writebuf, logfile_id_t id, char* format, ...);

makefile.inc includes new CFLAG : SS_PROF, which is set if PROF=Y on make command line or in build_gateway.inc .
ss_debug.h includes corresponding ss_prof(exp) macro which equals to exp if SS_PROF is defined and to empty if in other case.

mlist_t now includes datadel function which is a callback and it is executed for mlnode_data on node exit.
2013-07-02 14:46:39 +03:00
e64a141134 Added very simple parser for table replication listener for statement based replication. 2013-07-02 14:11:26 +03:00
9ca66dccf1 Test 2013-07-02 07:11:43 +03:00
471b3cbaf2 Fixed bug on memory allocation for string types and fixed linker problem on example main program 2013-07-02 07:09:44 +03:00
6b8ab60628 Added strdup in log_manager call 2013-07-01 17:59:10 +02:00
5408ec1a93 Added SS_DEBUG for logmanager 2013-07-01 17:58:32 +02:00
e3f08e392b Comment modified in gw_MySQLWrite_backend 2013-07-01 17:44:39 +02:00
b33b3753dc Removed session->backends
Added dcb->fd in some fprintf debug
2013-07-01 17:00:24 +02:00
ecf498448c Removed useless code under comments 2013-07-01 16:21:28 +02:00
6f32637315 New functions added in mysql_common for full asysncronous mysql connect
The new funcs are not yet used in the public repo
2013-07-01 14:34:47 +02:00
0457505721 Added DCB_STATE_CONNECT fro backe d connect status
Added gw_decode_mysql_server_handshake() in mysql_common.c
2013-07-01 11:37:26 +02:00
b51232c518 Fixed issues on linking and namespaces. Added example 2013-07-01 12:19:02 +03:00
5a4ae09c51 Merge 2013-06-29 00:22:32 +03:00
2bce5415dc Removed libraries and headers referred to Query classifier because Qc is not needed in gateway and gateway needs MySQL Client library functions which can connect to remote server. 2013-06-29 00:15:58 +03:00
8257eadf12 Addition of an arbitary bitmask handling set of functions
New memory deallocation routines for the DCBS
2013-06-28 17:39:43 +02:00
3e8b19733e Added example code to router.c ModuleInit and to its Makefile. Put example codes behind SS_DEBUG macros. SS_DEBUG compile flag is defined in Makefile if DEBUG is set in build_makefile.inc, or in command line - 'make DEBUG=Y ', for example. 2013-06-28 15:27:02 +03:00
a3edff47b0 Added necessary headers and example functions and calls to gateway.c. Added necessary libs, and path definitions to Makefile so that query classifier-related headers and libs can be founded. Commented out mysql client -related stuff from Makefile to avoid conflicts. 2013-06-28 12:24:53 +03:00
c0261fd627 Changed at exit function to void skygw_logmanager_exit(void) 2013-06-28 11:39:54 +03:00
1888b8a517 Prevented redefinition of bool, added function void skygw_logmanager_exit(void) to be called by atexit 2013-06-28 11:39:00 +03:00
57bfad1c8a Allocated log messsage fro heap instead of stack. 2013-06-28 10:36:21 +03:00
89a744c8e5 Removed double typedef 2013-06-28 10:23:30 +03:00
1b764eba74 Little fixes 2013-06-27 23:33:20 +03:00
fd52e967db I hope that I don't break anything. Did some changes to Makefiles and sources so that liblog_manager.so can be linked-in and used. 2013-06-27 23:28:13 +03:00
3af4089c87 Modified Makefiles so that liblog_manager.so can be linked in in compilation of core/gateway.c modules/protocol/mysql_backend.c and in modules/routing readconnroute.c.
Modified source files by adding a few logging commands (skygw_log_write) to them, and by adding includes of necessary header files.
2013-06-27 23:14:33 +03:00
33632968a8 Fixed typo which failed DEBUG=Y compilation 2013-06-27 17:41:06 +03:00
b26315cf24 Can't compile product version. 2013-06-27 16:54:54 +03:00
5c271e1925 Fixed clean-up processes in cases where initialization fails arbitrarily in the middle of startup. Added four descriptive states : UNINIT, INIT, RUN, DONE for flat stucts inside logmanager. Flat structs always have the state which tells what needs to be fred, if any. 2013-06-27 16:43:01 +03:00
17449b66d5 Addition of the structure for the read write query splitter routing module. This is
in a seperate directory to the others as it is likely to be a complex routing module.
2013-06-27 13:30:07 +02:00
2ffe34d6d2 Updates to documentation
Switch polling mechanism back to the non-debug version
2013-06-27 13:09:21 +02:00
cfe01d0940 Removed commented code 2013-06-27 12:54:58 +02:00
ce8de5a5e4 Fixed makefile rules for make depend so that it will always run 2013-06-27 12:44:45 +02:00
7bf99e48e7 Added -ldl and -pthread to Makefile 2013-06-27 13:41:05 +03:00
c48b2477e3 Add missing hangup entry point 2013-06-27 12:36:11 +02:00
d965b991e6 Fixed the server_capabilities and final_capabilities initialization 2013-06-27 12:09:28 +02:00
9630ae588e Fixed bugs and cleaned code 2013-06-27 12:18:25 +03:00
99465dd6b7 Move sending of the OK on client side authentication to the EPOLLIN event processing routine
Addition of a compile switch to make epoll block rather than timeout, useful only for debugging
2013-06-27 09:28:34 +02:00
3b8ebfd215 Misc fixes for unitialised data reads 2013-06-27 01:56:30 +02:00
c1981b4dc6 Removed othere fprintf 2013-06-27 00:38:55 +02:00
60c4ef45be Removed a fprintf with a uint8_t pointer that is not NULL terminated 2013-06-27 00:22:21 +02:00
f2455467ad Added same size for buffer in read and write to backend socket 2013-06-26 23:29:26 +02:00
70b19a0481 Fixed printing issues. 2013-06-26 23:43:57 +03:00
2b8c62a7da Added a few more testcases to increase IO and added debug printing for file handling. 2013-06-26 23:40:07 +03:00
b74423121f Removed references to epoll code. 2013-06-26 23:26:21 +03:00
c8831f0a89 I didn't know these even existed in bazaar. Now they are removed. 2013-06-26 23:18:36 +03:00
ef1d198654 Changed log manager API so that pointer reference to logmanager is not used anymore. Every call initializes logmanager now except skygw_logmanager_done and skygw_log_flush.
skygw_logmanager_init is still useful because it allows for providing memory address for log manager where it can store a list of preallocated write buffers. TBD.

Logmanager access is now protected with spinlock familiar from epoll/core/spinlock.c . It is modified to avoid trashing; misses are counted and every tenth subsequent lock acquiring attempt triggers short random sleep.
2013-06-26 23:13:40 +03:00
e3b5adad4a Unused vars removed, cating issues fixed and an error in authentication without passord is now fixed 2013-06-26 15:39:20 +02:00
fdc2b90de6 Some unused vars removed 2013-06-26 15:10:53 +02:00
d80c86cf49 MySQLListener return 1 on success 2013-06-26 15:05:10 +02:00
c3f70c863e Addition of routing module diagnostics and options
readconnroute now support the options slave and master to restrict the set of
servers it will connect to
2013-06-26 14:04:56 +02:00