102 Commits

Author SHA1 Message Date
Markus Makela
fc848665e5 Added variables for RabbitMQ headers and libraries, added more error checks.
modified:   CMakeLists.txt
	modified:   README
	modified:   macros.cmake
	modified:   query_classifier/test/canonical_tests/CMakeLists.txt
	modified:   rabbitmq_consumer/CMakeLists.txt
	modified:   server/modules/filter/CMakeLists.txt
2014-09-22 13:14:53 +03:00
Markus Makela
8b1afbfe26 fixed tests not working with the normal 'make testall' 2014-09-16 20:02:28 +03:00
Markus Makela
77e0cccda6 Fix to query_classifier not being linked at all when using cmake 2014-09-16 15:41:46 +03:00
Markus Makela
0f5cfdbd1a Added dependency checks, Debian packaging and fixes to various parts of the CMake build files. 2014-09-16 15:02:43 +03:00
Markus Makela
41226692ac Merge branch 'release-1.0beta-refresh' into cmake_build 2014-09-16 12:11:17 +03:00
VilhoRaatikka
213a2dba9e Merge branch 'release-1.0beta-refresh' of https://github.com/skysql/MaxScale into release-1.0beta-refresh 2014-09-15 19:11:39 +03:00
VilhoRaatikka
a41a8d6060 Fix to bug #543, http://bugs.skysql.com/show_bug.cgi?id=543
All counters are now updated in routeQuery
Fix to bug #545, http://bugs.skysql.com/show_bug.cgi?id=545
All sql variable and session modification statements, such as autocommit-, and set <db> commands are routed to all nodes.
2014-09-15 19:01:04 +03:00
Mark Riddoch
c8fc5b712b Merge branch 'hholzgra-hartmut-gitignore' into release-1.0beta-refresh 2014-09-15 13:22:46 +01:00
Markus Makela
1f56db310d Changed variable names to closer match their usage
Changed the default values to the same as in makefiles
Added configured versions of maxscale.conf and maxscale init.d script
2014-09-15 14:12:55 +03:00
Markus Makela
48012cd571 Added more build options and README changes 2014-09-15 11:48:40 +03:00
Markus Makela
0f07c9f08c Added hint tests
Fixed readwritesplit tests looking for test input in the wrong directory
Updated the canonical query test expected output
2014-09-15 09:27:47 +03:00
Markus Makela
32b72ce474 more configuration options, README update and tests 2014-09-12 16:48:21 +03:00
Markus Makela
d8c34aabad added log manager and query classifier tests 2014-09-12 06:06:11 +03:00
Markus Makela
b3ce971020 initial implementation of the CMake build system 2014-09-11 18:24:41 +03:00
VilhoRaatikka
f74493d922 server/modules/filter/Makefile: Fixed problem which prevented cleaning and compiling hintfilter library.
server/core/config.c: Removed unused if..else block from config_get_valint. Changed it also to return value which indicates whether the operation succeed. Added config_get_valbool similar to config_get_valint.
service.c:Added typelib-like struct and array of valid boolean values. Fixed parameter type test in service_set_param_value. Completed boolean type parameter handling.
hintparser.c:Fixed error message for non-maxscale hints.
readwritesplit.c:Added loading of configuration parameters from service to instance and from instance to each new session. Fixed routing condition in get_route_target. Modified get_route_target so that it takes also rw_read_sesvars_from_slaves and rw_write_sesvars_to_all as parameters.
skygw_types.h: added array size counting macro.
2014-09-08 21:44:23 +03:00
VilhoRaatikka
d799331c50 Added support for fine-grained query classification which is needed for configurable support for user- and system variable execution. This is partial implementation to task MAX-242. Tests passed with make -C server/modules/routing/readwritesplit/test but this is intermediate commit. 2014-09-05 22:50:35 +03:00
Markus Makela
aafc891c9a Fixed canonical query test and mqfilter.c bugs 2014-09-05 10:58:54 +03:00
Markus Makela
2c470d7bf4 Fixed canonizer.c passing NULL to various functions. 2014-09-04 18:19:15 +03:00
VilhoRaatikka
36bf676a83 Fixed canonical test's makefile.
Added option for compiling MaxScale with RabbitMQ filter
2014-09-04 16:43:52 +03:00
Markus Makela
dfe2806e37 server/core/makefile: added -lmysqld to LDFLAGS so that the tests compile
query_classifier/test/canonical_tests/Makefile: Added hint.o to link flags
2014-09-04 15:44:00 +03:00
Markus Makela
c00e51fd00 Merge branch 'Z3' into Z3_rabbit_partial
Conflicts:
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-04 13:52:12 +03:00
Markus Makela
4e11ea9b06 Merged some of the rabbitmq branch changes
query_classifier.cc: updated skygw_get_table_names to allow for partial or full table names
readwritesplit.c: transferred temporary table detection to separate functions
2014-09-04 13:31:20 +03:00
VilhoRaatikka
0630b2ff46 Merge branch 'Z3' of https://github.com/skysql/MaxScale into Z3
poll.c:poll_add_dcb: Addded EPOLLHUP back to flag set.
2014-09-04 12:29:06 +03:00
VilhoRaatikka
7fcf950f8f Merge branch 'Z3' of https://github.com/skysql/MaxScale into Z3
Conflicts:
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-03 22:54:32 +03:00
VilhoRaatikka
cda39a62fb Fixes to
Includes imprvements to hints processing. If hint can't be followed query is routed possibly to slave, and eventually to master if other attempts fail.
2014-09-03 22:09:50 +03:00
VilhoRaatikka
5e5c59d322 Merge branch 'MAX-237' into Z3 2014-09-03 17:50:56 +03:00
Markus Makela
cc5922b218 Merge branch 'MAX-237' into Z3 2014-09-02 16:58:20 +03:00
Markus Makela
52f3adbf20 fixed temporary tables looking for database drops instead of table drops 2014-09-01 19:50:25 +03:00
VilhoRaatikka
0fed5c2c5b Fix to bug #510, http://bugs.skysql.com/show_bug.cgi?id=510, made every MaxScale thread to call mysql_thread_init() before entering poll_waitevents. Also main thread does this before starting services. Removed all calls to mysql_thread_init() and to mysql_thread_end() from elsewhere than from poll.c:poll_waitevents and from gateway.c:main
skygw_utils.cc: replace_literal: fixed memory leak
2014-09-01 19:37:31 +03:00
VilhoRaatikka
3c1abf4b64 Cleanup 2014-09-01 13:57:31 +03:00
Markus Makela
0e53633a37 Merge remote-tracking branch 'origin/Z3' into MAX-237 2014-09-01 13:44:24 +03:00
VilhoRaatikka
20abbbdf57 query_classifier.cc:skygw_get_canonical: Fixed bug in how strings were passed to replace_literal function. Changed to use item->str_ptr which stores all strings in the same way unlike item->name in which some string values have double quotation.
skygw_utils.cc:Fixed regexp so that it detects literals at the end of line too.
2014-09-01 13:23:04 +03:00
Markus Makela
a17e584adb Merge remote-tracking branch 'origin/Z3' into MAX-237
Conflicts:
	query_classifier/query_classifier.cc
	query_classifier/query_classifier.h
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-01 11:05:10 +03:00
Markus Makela
067ce3c886 removed unneeded QUERY_TYPE_DROP_TABLE type from query_classifier.h 2014-09-01 10:35:48 +03:00
VilhoRaatikka
40f85f9cad Fix to bug http://bugs.skysql.com/show_bug.cgi?id=488. SHOW VARIABLES was treated as if it was session write command. Instead it is a read-only query. Changed to route that to master. 2014-08-31 22:56:30 +03:00
Markus Makela
58e8c05c8a added detection of drop table targeting a temporary table 2014-08-31 20:19:47 +03:00
Markus Makela
7629c455a6 partial implementation 2014-08-30 08:27:05 +03:00
VilhoRaatikka
ed94f08b4e Added rule version.h: $(ROOT_PATH)/VERSION 2014-08-29 11:37:41 +03:00
Markus Makela
7ea53f0141 Merge remote-tracking branch 'origin/MAX-160' into MAX-237
Conflicts:
	query_classifier/query_classifier.cc
	query_classifier/query_classifier.h
2014-08-29 11:02:03 +03:00
VilhoRaatikka
531d8d7b47 query_classifier.cc: added detection for CREATE TEMPORARY TABLE and setting a new query type QUERY_TYPE_CREATE_TMP_TABLE for it.
query_classifier.h: added QUERY_TYPE_CREATE_TMP_TABLE and QUERY_TYPE_READ_TMP_TABLE for use of temporary table support.
hashtable.c:Added variant of hashtable which is 'flat', that is, stored to existing memory instead of allocating memory as a part of the call. Existing function declarations don't change but added hashtable_alloc_flat for the purpose. Both hashtable_alloc and hashtable_alloc_flat now call the real allocation function, hashtable_alloc_real. hashtable_free only frees memory which is allocated in hashtable_alloc_real.
hashtable.h: added a flag to HASHTABLE struct to indicate whether hashtable owns its memory or not.
readwritesplit.h: Added RSES_PROP_TYPE_TMPTABLES property type to be used for keeping the hashtable for tablenames.
readwritesplit.c: Added comments about temporary table support implementation.
2014-08-29 10:08:48 +03:00
VilhoRaatikka
cf5821d4ef Added expected results for missing queries. 2014-08-26 11:14:51 +03:00
VilhoRaatikka
69104d7dee skygw_utils.cc:replace_literal: Fixed regular expression which, for example, accepted "200" with needle "2"
query_classifier.cc: fixed invalid argument list in logging command.
input.sql: added a few previously failed cases for canonical query test
2014-08-26 11:08:05 +03:00
VilhoRaatikka
fd125f4a42 Merge branch 'MAX-160' of https://github.com/skysql/MaxScale into MAX-160
Conflicts:
	query_classifier/test/canonical_tests/input.sql
2014-08-25 22:22:44 +03:00
VilhoRaatikka
c5fbb1f295 query_classifier.cc:parsing_info_done: calling mysql_thread_end caused segfauls when same thread tried next time call free_embedded_thd because thread's sysvar was set to NULL in mysql_thread_end.
Added a few lines to canonical query test's input script which are not handled correctly.
2014-08-25 22:17:21 +03:00
Markus Makela
4ab7112db7 more test cases for canonical queries and makefile typo fixes 2014-08-25 15:24:23 +03:00
Markus Makela
662b4b00ee the errmsg.sys file is now copied during test building 2014-08-22 20:50:54 +03:00
Markus Makela
73707cc9da canonical query tests for query classifier 2014-08-22 20:44:26 +03:00
VilhoRaatikka
ee52ac64a9 query_classifier.cc:skygw_get_canonical: if the item to be replaced is an empty string "", it is processed differently from the other cases due to difficulties to get wanted result by adding special rule for that to regex.
query_classifier.h: added parsing information structure to query classifier away from buffer.h.
buffer.c:introduced a buffer object which includes object pointer and a clean-up call-back function. Buffer objects form a list which is cleaned up by the last referrer of the buffer, as a part of gwbuf_free. Buffer object list is protected by a spinlock gwbuf_lock.
	Also added identifier type, bufobj_id_t which is enumerated type and currently includes one value only, GWBUF_PARSING_INFO. Added also a bitfield for information about the buffer. It currently has one type only, GWBUF_INFO_PARSED indicating that buffer content is parsed and there is buffer object of type GWBUF_PARSING_INFO.
skygw_utils.cc:replace_literal:changed regexec matching to case insensitive because user-defined literals are sometimes converted to upper-case ones.
2014-08-22 19:01:56 +03:00
VilhoRaatikka
3bc88e4eb9 skygw_get_canonical didn't return NULL pointerin cases where parsing info didn't exist or something went wrong. 2014-08-21 23:31:23 +03:00
VilhoRaatikka
3a5b8ef64c query_classifier.cc: cleaned up and simplified skygw_get_canonical
skygw_util.cc:fixed memory allocation issue where terminating byte wasn't counted. Added some error checks.
2014-08-21 23:08:21 +03:00