Commit Graph

1400 Commits

Author SHA1 Message Date
c501d4d4e1 Changes related to canonical query format implementation.
query_classifier.cc: Now query can be parsed outside query_classifier_get_type by calling function parse_query. It creates parsing_info_t struct which is then added to the GWBUF which also includes the query. Parsing information follows the buffered query and it is freed at the same time with query buffer, in gwbuf_free.
buffer.c: additions of parsing information to gwbuf struct.
modutil.c: added function which returns query from GWBUF in plain text string.
readwritesplit.c:routeQuery now only calls query_classifier_get_type to get the query type instead of extracting plain text query from the GWBUF buffer.
2014-08-20 22:10:36 +03:00
a853b72baf Modify build_gateway.inc so that variables are used, thus avoiding a need for editing. Please review the file to see the variables that are used - they should be obvious. 2014-08-20 17:22:58 +01:00
65b25a825a Addition of adminusers unit test
Fix to filters unit test
2014-08-20 14:50:44 +01:00
c432d052e5 Merge pull request #29 from skysql/null_filter_fix
Fix to bug #479, http://bugs.skysql.com/show_bug.cgi?id=479
2014-08-20 15:37:05 +03:00
e329d8cf13 Fix to bug #479, http://bugs.skysql.com/show_bug.cgi?id=479
service.c was counting unfound filters towards the filter chain size.
2014-08-20 15:15:45 +03:00
baa655182c Merge branch 'master' into develop 2014-08-20 11:07:55 +01:00
24e16e97ed Updates for unit tests 2014-08-20 11:07:28 +01:00
d6a2ef6996 Misc fixes to doxygen comments 2014-08-19 13:22:40 +01:00
13dfd34d5d Test use for cacnonical query function. Effective in debug build only. 2014-08-19 09:39:40 +03:00
fb3a950a18 Completed skygw_get_canonical by adding NULL checks and debug assertions. Replacable literal types are now INT_ITEM, STRING_ITEM, DECIMAL_ITEM, REAL_ITEM, VARBIN_ITEM and NULL_ITEM. 2014-08-19 09:07:18 +03:00
3dc09dfe43 Addition of spinlock unit test 2014-08-18 18:26:14 +01:00
544e64a301 query_classifier: implemented skygw_get_canonical which returns a copy of original string with given substrings being replaced with questionmarks.
skygw_utils.cc: added string replacement function for use of skygw_get_canonical
2014-08-18 14:19:46 +03:00
34f6884920 Merge pull request #24 from hholzgra/hartmut-DEL
Hartmut del
2014-08-18 09:20:30 +03:00
087c4720bb Merge pull request #23 from hholzgra/hartmut-DEL
Hartmut del
2014-08-18 09:20:03 +03:00
85c88dbd6b Merge pull request #22 from hholzgra/hartmut-DEL
consistently use DEL instead of rm in Makefiles
2014-08-18 09:10:58 +03:00
fb87f68368 consistently use DEL instead of rm in Makefiles 2014-08-17 21:02:24 +00:00
dcb2070736 Merge branch 'release-1.0beta' of https://github.com/skysql/MaxScale into release-1.0beta
Conflicts:
	server/modules/protocol/mysql_common.c
2014-08-15 18:43:05 +03:00
677a44f497 Merge from release-1.0beta to Z2 2014-08-15 18:00:39 +03:00
85ebc6d543 add gcov patch 2014-08-15 17:41:46 +03:00
c2bee45a10 Merge pull request #19 from skysql/session_variable_test
more stress tests for rwsplit router
2014-08-15 13:55:01 +03:00
d174740b08 Merge remote-tracking branch 'origin/release-1.0beta' into session_variable_test 2014-08-15 13:48:04 +03:00
be52b3a71e more stress tests for rwsplit router 2014-08-15 13:41:56 +03:00
285605b33f Merge pull request #18 from hholzgra/hartmut_README
fixed wrong server port in README
2014-08-15 08:31:21 +03:00
7f18914d90 fixed wrong server port in README 2014-08-15 02:51:16 +02:00
cefadaeb75 add gcov patch 2014-08-14 23:35:29 +03:00
28cc98d33a add gcov patch file 2014-08-14 23:22:21 +03:00
902004c1ee Fix to bug #463, http://bugs.skysql.com/show_bug.cgi?id=463
mysql_common.c:gw_MySQL_get_next_packet didn't handle case where an insert command followed by alter table in the same read buffer. It shouldn't been possible without multi-statement being set.
2014-08-14 22:33:57 +03:00
2393ac57e9 mysql_common.c:protocol_add_srv_command didn't check that protocol status was MYSQL_PROTOCOL_ACTIVE and wrote to freed memory. 2014-08-14 17:23:46 +03:00
15e3ef6950 Merge branch 'release-1.0beta' of https://github.com/skysql/MaxScale into release-1.0beta 2014-08-14 15:19:23 +03:00
77e5525436 mysql_client.c:gw_error_client_event & gw_client_hangup_event: added session state check, if session is already closing, don't start redundant call to dcb_close.
mysql_common.c:mysql_protocol_done: added protocol state check. Used not to check it which caused double free of allocated memory.
2014-08-14 15:15:22 +03:00
35f64ff33a Merge pull request #17 from skysql/session_variable_test
rwsplit router tests for session variables
2014-08-14 14:38:26 +03:00
01eb9822e0 rwsplit router tests for session variables 2014-08-14 14:34:22 +03:00
d3a79ce7c4 Partial fix to #463, http://bugs.skysql.com/show_bug.cgi?id=463
log_manager.cc: fixed block buffer overflow. Queries are logged to trace log and long queries exceed the bufsize in length. Those were written beyond allocated memory areas.
mysql_client_server_protocol.h: added mysql_protocol_state_t to indicate whether MySQL protocol object is allocated, usable or freed. Freed means that memory allocations made by the protocol are freed. That is, command history etc.
mysql_backend.c: gw_backend_hangup and gw_error_backend_event used to call error handling function although session was already closing. Added check for session state.
mysql_client.c: route_by_statement lost some packets in case where query was sent in multiple packets.
mysql_common.c: gw_MySQL_get_next_packet failed in packet handling with route_by_statement. When multi-packet query was merged into one, packet type wasn't copied.
	protocol_archive_srv_command and mysql_protocol_done didn't have proper locking in place which lead to occasional crashes.
2014-08-14 13:05:05 +03:00
ccdf326d07 Merge pull request #16 from skysql/testing_makefile_fix
Testing makefile fix
2014-08-13 10:46:40 +03:00
430cd8d140 Merge branch 'Z2' of https://github.com/skysql/MaxScale into testing_makefile_fix 2014-08-12 14:43:30 +03:00
e84f7a0a00 Merge branch 'Z2' of https://github.com/skysql/MaxScale into Z2 2014-08-12 10:27:51 +03:00
c02bb41a9d Added logging for case where route hint is to slave. 2014-08-12 10:27:15 +03:00
3a639403bf added fixes to core tests failing even though they passed, hint syntax test only checking for a partial logfile and readwritesplit tests being run twice. 2014-08-11 14:27:33 +03:00
b050167cba Documentation update
Documentation update
2014-08-08 15:00:46 +02:00
4228ecac53 Merge pull request #15 from skysql/hint_tests
tests for hints and changes in makefiles and configuration files to enab...
2014-08-08 13:52:33 +03:00
f23a9e2b72 tests for hints and changes in makefiles and configuration files to enable testing them through 'make testall' 2014-08-08 13:19:23 +03:00
d4de582e16 Fix to #471, http://bugs.skysql.com/show_bug.cgi?id=471
Replication lag is not checked in precense of routing hint.
2014-08-08 11:11:28 +03:00
86a4c3ba90 Fix to #472, http://bugs.skysql.com/show_bug.cgi?id=472
Fix to #473, http://bugs.skysql.com/show_bug.cgi?id=473

Several memory issues. Read the code.
In general one-off hint is only added to gwbuf and freed in gwbuf_free. Stacked hint is copied to stack and to gwbuf. gwbuf is freed after routing but stacked hint is freed either in stop or when session is closed. All this applies to named hint as well except that in addition, it has one more copy in named hint struct which is emptied when session is closed.
2014-08-08 01:28:07 +03:00
183428c48b Fix to bug #470, http://bugs.skysql.com/show_bug.cgi?id=470, in hint_dup: the value field of the duplicated hint was not set. Instead data field was set twice. 2014-08-07 00:14:15 +03:00
0659d7abd0 Partial fix to Bug #470, http://bugs.skysql.com/show_bug.cgi?id=470.
hintparser.c:token_get_keyword: Handling for TOK_STRING was missing.
2014-08-06 18:09:06 +03:00
bcc04b840b Merge branch 'Z2' of https://github.com/skysql/MaxScale 2014-08-06 16:48:50 +03:00
b72e80b464 Fix for Bug #466, http://bugs.skysql.com/show_bug.cgi?id=466
hintparser.c:hint_parser:when string token is found, create a copy of the token value instead of copying the its address because token will be freed before the value is used.
	hint_next_token:didn't recognize '=' as TOK_EQUAL, fixed that. Read the code.
hint.c:hint_create_parameter: copy the pointer to parameter name instead of creating copy of it - pname is already copied from token before the call
readwritesplit.c:routeQuery:Hint name was copied when hint value was supposed to be copied, thus resulting invalid value for hinted parameter. Also fixed server type in trace log command.
skygw_debug.h:Added string for Relay server to macro STRSRVSTATUS.
2014-08-06 16:39:22 +03:00
d06cad1457 Documentation update
Documentation update
2014-08-06 09:33:55 +02:00
cf38dad43a Merge branch 'Z2' of https://github.com/skysql/MaxScale into Z2
Conflicts:
	server/core/modutil.c
2014-08-05 18:26:55 +03:00
08b99c121e Bug #468, http://bugs.skysql.com/show_bug.cgi?id=468, Query classifier accessed freed thread context. If parsing fails thd doesn't need to be freed because it holds correct information about command type.
session.c:session_setup_filters : fixed memory leak
hintparser.c: added token_free for HINT_TOKENs and fixed a few memory leaks.
mysql_client_server_protocol.h: added mysql_protocol_done which frees memory blocks pointed to by protocol members. Those can't be freed in dcb.c because dcb.c doesn't know about protocol's members.
mysql_backend.c:gw_backend_close: fixed memory leak
mysql_client.c: gw_client_close: fixed memory leak
mysql_common.c: added implementation of mysql_protocol_done
        :protocol_archive_srv_command: tried to fix memory leak. Some memory is still leaking according to valgrind. Removed use of uninitialized local variable len.
readwritesplit.c: Fix to bug #469, http://bugs.skysql.com/show_bug.cgi?id=469,  rwsplit counts every connection twice in master - counnection counts leak
	execute_sescmd_in_backend: fixed a memory leak - visible only in DEBUG=Y build.
readwritesplit/test/makefile: added target for hints tests
2014-08-05 18:14:06 +03:00