Commit Graph

27 Commits

Author SHA1 Message Date
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
4f3d746f4e MAX-157. Added support for hints in rwsplit router.
buffer.c: added memory release for hint of a GWBUF
hint.c: added bool hint_exists()
hint.h: added placeholder for hint type HINT_ROUTE_TO_ALL which doesn't have implementation yet.
filter/Makefile: fixed dependency issue
hintparser.c: added const char* token_get_keyword(), hint_parser:added NULL check, hint_next_token: fixed off-by-one bug
readwritesplit.h: added bitfield for hints' use, which includes route targets and flag for case where user hinted to route to named backend server.
readwritesplit.c: added function route_target_t get_route_target() for resolving route target based on 1) query type (from query_classifier) 2) transaction state (active/not) and 3) hints. Modified get_dcb, which is called in routeQuery to provide pointer to correct backend DCB. Now get_dcb also takes server unique name as a parameter if such a hint was found. for hints' use, which includes  enter the commit message for your changes.
2014-07-31 23:40:02 +03:00
2dea68b9b3 Hint parsing 2014-07-25 16:33:49 +01:00
4af2e58c86 Update plugin status to BETA 2014-07-04 09:23:40 +01:00
d58682d261 Updated Makefile to resolve issue with adding extra MaxScale in the
path for a make install command.
2014-07-01 16:53:10 +01:00
f96b762478 User interface improvements
Addition of enable/disable heartbeat, enable/disable root, list monitors,
show monitors

Better filter diagnostic output
2014-06-26 16:46:19 +01:00
a652e875b5 Support for multipacket statements
Remove double free in cloned DCB's
2014-06-24 17:59:29 +01:00
e650930487 Cleanup up branch session on close. 2014-06-23 10:10:04 +01:00
7067e43b44 Core changes to support tee filter. 2014-06-20 17:49:40 +01:00
e98b5d411e Addition of tee filter 2014-06-20 11:47:07 +01:00
c759767a91 Use new session entry points to get remote and user rather than dereference
the DCB directly.
2014-06-19 16:07:21 +01:00
058d553973 Addition of user and source to all filter
Bug fix in timestamp for topfilter
2014-06-19 14:02:41 +01:00
4d257897d3 Merge branch 'develop' of github.com:skysql/MaxScale into develop
Conflicts:
	server/core/session.c
	server/modules/protocol/mysql_backend.c
	server/modules/routing/readwritesplit/readwritesplit.c

Resolved.

Addition of user in topfilter report and general tidyup
2014-06-18 17:45:57 +01:00
70ba1f028a Fixed bug in generation of execution time in report 2014-06-15 23:03:41 +01:00
480c842308 Improved diagnostics in filters 2014-06-13 08:50:28 +01:00
1868210a59 Enhancements to topfilter and qlafilter
Documentation for topfilter and qlafilter
2014-06-13 08:35:23 +01:00
d17315b2cd Updated QLA filter to allow for regex matches and client address matches
to control the statements that are logged.
2014-06-11 23:55:29 +01:00
a8def0d670 Additional error checking and documentation.
Implementation of topfilter options
2014-06-10 11:57:48 +01:00
77e1426dbf Initial upstream fitlering implementation.
Test filter with up and down stream filtering. Keeps top N queries
and prints a report of these queries on session close.
2014-06-09 21:13:28 +01:00
656c54af0a Fixed memory allocation issue when the repalcement text is considerably
longer than the match text.
2014-06-05 17:08:44 +01:00
be87556ab0 Fix for compiler warnings 2014-06-05 15:26:57 +01:00
ea177b481f Fixed for typo in modutil.h
Addition of timestamps to the query log produced by the QLA filter
2014-06-04 23:30:54 +01:00
46ca0676c0 A filter parameter fix and a new filter, the regex filter.
The regexfilter is an example of a query rewriting filter that uses
regular expressions to match the SQL text and allows a replacement text
to be used for each match of the regular expression.

Regexfilter has no special SQL undertanding, it merely uses the features
avialable inthe regex library to perform matches.

Statements that span multiple packets are not supported by the regex
filter.
2014-06-04 23:04:17 +01:00
57e910ad3d Addition of the module utilities functions 2014-06-04 18:34:24 +01:00
1d48794963 Addition of API modinfo implementation for filters 2014-06-02 18:18:31 +01:00
857ae25570 Addition of session filter tracking in order to allow the show session
command to call the diagnostic entries points of the filters in the
session.

Slight improvements to the two example filters and a fix to the
trim routine.
2014-06-02 10:56:50 +01:00
8d55be4b23 First working filters implementaton.
Only downstream filters are supported currently, i.e. no result
set filtering can be done.

A crude QLA (Query Log All) filter is included as a test harness only
2014-05-30 16:45:39 +01:00