29932f7fc8MySQL handshake has a configurable version_string
MassimilianoPinto
2014-05-07 18:08:28 +02:00
bc84dd13f8Removed this because it is deprecated.
VilhoRaatikka
2014-05-07 18:22:37 +03:00
182f25fffeIneffective write in is_commit_stmt
VilhoRaatikka
2014-04-28 23:17:38 +03:00
a1361d9c9eRelated to MAX-95, added code which makes it possible to change max_slave_connections parameter value during run time of MaxScale. The change will be effective in rwsplit sessions created after the configuration modification and reload. Note that in order to config modification to be effective, the user must connect the debug interface of MaxScale (telnet) and execute 'reload config'.
VilhoRaatikka
2014-05-02 16:35:40 +03:00
b5e9428ff7log_manager.cc fixed memory leak, block buffer mutex names weren't freed. query_classifier.cc use of uninitialized value in skygw_stmt_causes_implicit_commit config.c crashed if module load failed, use of unitialized value load_utils.c pretty-printed error service.c use of uninitialized value in service_add_qualified_param modules.h function prototype readwritesplit.c memory leaks
VilhoRaatikka
2014-04-29 14:50:09 +03:00
8a40a44823Removed this because it is deprecated.
VilhoRaatikka
2014-04-29 10:10:09 +03:00
c927057b5cFixed two bugs of which one was older. 1. in query_classifier.cc autocommit_enabled, and transaction_active variables maintained their values across different sessions. Now those values are stored in each router_client_ses object. 2. As a part of implementation of MAX-95 session variables were added to BACKEND struct which is shared with all sessions using the SERVICE which the particular BACKEND serves. Now each router_client_ses object has a backend reference struct which includes pointer to BACKEND, DCB and to session command cursor.
VilhoRaatikka
2014-04-28 23:33:49 +03:00
391157d460Ineffective write in is_commit_stmt
VilhoRaatikka
2014-04-28 23:17:38 +03:00
bdefa5c3c8These are the values that are required for MaxScale build process. If you change them, do not push unless you know what you're doing. Thanks!
VilhoRaatikka
2014-04-25 15:41:18 +03:00
28bc3509ccAdded new parameter RW Split Router.max_slave_connections=[<int>|<int>%] which specifies the maximum number of slaves which read/write split router connects in each routing session.
VilhoRaatikka
2014-04-24 22:05:26 +03:00
04313caf82Initial implementation of the support for multiple slaves in read/write split router session. Omits configuration changes.
VilhoRaatikka
2014-04-23 14:55:04 +03:00
c994c81a0eChanged the way how autocommit is searched from parse tree. Switched to use typelib instead of explicitly converting and comparing user value. Added more tests for cases where user uses literal values in SET autocommit command.
VilhoRaatikka
2014-04-15 14:32:47 +03:00
e01cbd74edBug 409: dcb_final_free now frees dcb->delayq
MassimilianoPinto
2014-04-14 10:08:34 +02:00
a253da7b9cBug 409: dcb_final_free now frees dcb->delayq
MassimilianoPinto
2014-04-14 10:06:00 +02:00
26c6c331fdChanged is_autocommit_stmt so that client character set can very and the value is compared to strings '0','1','off','on' which are converted to match with the cs of the client prior compare.
VilhoRaatikka
2014-04-11 20:02:43 +03:00
7b40c1ee70Changed how MaxScale unit test works. All tests are run by executing 'make testall' in root directory. As a result all directories which contain tests will be entered and tests executed. After tests, each directory have a test log including the last run's logs only. Created a global test log, which is specified in test.inc. Test logs from subdirectories are concatenated to this file.
VilhoRaatikka
2014-04-10 19:08:28 +03:00
bbf1bc2afaFix for bug #418 Increased skygw_query_type_t to 16 bits, and corrected the way how those bit fields are checked. Added tests for cases where autocommit is disabled and corrected old tests.
VilhoRaatikka
2014-04-10 17:09:42 +03:00
2c17dc3edfBug #418, added functions to query classifier to detect if SET autocommit is called. Note: this compiles but doesn't work yet properly.
VilhoRaatikka
2014-04-09 23:43:03 +03:00
c86e25eeb8Added a test for implicitly started trasnaction.
VilhoRaatikka
2014-04-07 17:00:31 +03:00
ce5dc19eccAdded read/write split router tests to a part of makefile structure.
VilhoRaatikka
2014-04-01 14:11:48 -07:00
c7b7b17e0dAdded INC_PATH to README according to latest change in build_gateway.inc
VilhoRaatikka
2014-03-29 12:41:59 +02:00
5e3ec5b3c8Added "--no-defaults" to arguments that are passed to mysql_library_init. It tells to embedded server not to use any external my.cnf configuration file.
VilhoRaatikka
2014-03-29 12:27:02 +02:00
f1acbc6926build_gateway.inc didn't point to all header directories. Added one base directory for pre-processor.
VilhoRaatikka
2014-03-29 10:42:30 +02:00
4408d7095aMerge branch 'release-0.5' into develop
MassimilianoPinto
2014-03-28 17:14:20 +01:00
3ffd4033bcAdded socket and address options in Listener section
MassimilianoPinto
2014-03-28 11:34:46 +01:00
02a34038ceAdded socket and address options in Listener section
MassimilianoPinto
2014-03-28 11:33:21 +01:00
8b23a59fb2Merged new tests and fix in query classifier in develop into release-0.5.
VilhoRaatikka
2014-03-28 00:22:43 +02:00
7c3a354fd8Query classifier ignored implicit commits in cases of write commands. Fixed it. Added more tests for transaction support. Mostly different cases where some command triggers implicit commit in the middle of transaction.
VilhoRaatikka
2014-03-28 00:16:18 +02:00
5c9f25cc2dMerge branch 'develop' into packaging
Timofey Turenko
2014-03-27 19:16:35 +02:00
40b7ce6d43Buffer for users' table SHA1 hash is set to zero before using it and strncopy used instead of snprintf
MassimilianoPinto
2014-03-27 17:19:03 +01:00
7cc693b572Added stricter compile flags for debug build. Temporary solution since they will be added to all builds next. Fixed strin formatting bugs in log_manager.cc .
VilhoRaatikka
2014-03-27 17:51:23 +02:00
9b1035751aMade rwsplit test select_for_var_set.sql generic so that master server's id is filled in test.inc.
VilhoRaatikka
2014-03-27 17:17:01 +02:00
88a964be65Added examples and cleared out actual values to ensure that those need to be filled in before running tests.
VilhoRaatikka
2014-03-27 17:06:51 +02:00
e9d1f04bc6Added test: set var @a via select @@server_id
MassimilianoPinto
2014-03-27 11:45:47 +01:00
10fdccdeeeAdded two tests for testing readwrite split router's ability to route read to master if in active transaction and to slave when outside transaction.
VilhoRaatikka
2014-03-27 10:27:19 +02:00
75549c6a20Added $(ROOT_PATH)/test.inc where test parameters can be added. For example, MaxScale port numbers, usernames, passwords. The file can be included in every */test/makefile so that all test directories can use same parameters if necessary. Moved checking test results to rwsplit.sh so that tests can use easily different criterias to evaluate test success.
VilhoRaatikka
2014-03-27 10:06:31 +02:00
f380c707f9In resolve_query_type type can be QUERY_TYPE_COMMIT even if lex->option_type is OPT_DEFAULT.
VilhoRaatikka
2014-03-26 22:33:57 +02:00
f49df89a0cChanged how query classifier determines which statements trigger implicit commit. Changed test makefile and rwsplit.sh script and added two example sql scripts.
VilhoRaatikka
2014-03-26 19:10:35 +02:00
e194e941c5Merge branch 'fix-375' into develop
MassimilianoPinto
2014-03-26 10:35:07 +01:00
b08c4271ebfix for bug 375
MassimilianoPinto
2014-03-26 10:31:53 +01:00
df02926321Added structure which can be cloned for multiple test cases.
VilhoRaatikka
2014-03-25 23:19:24 +02:00
a137196de0Added trace for spotting out commands which cause implicit commit before or after they are executed.
VilhoRaatikka
2014-03-25 11:41:46 +02:00
ad6566fb00Shell scripts for binary and source tarballs
MassimilianoPinto
2014-03-25 09:32:35 +01:00
f320c17834Added test for readwrite split: SET and TRANSACTION - COMMIT
MassimilianoPinto
2014-03-24 15:15:21 +01:00
d660d3590dCannot compile in readwritesplit.c
VilhoRaatikka
2014-03-20 20:30:03 +02:00
288ca68677Changed variable type which includes information of query type returned by query classifier. As a consequence, if autocommit is enabled, active transaction(s) are implicitly committed and MaxScale detects that implicit commit.
VilhoRaatikka
2014-03-20 12:15:57 +02:00
fcf7d37114Added support for router option 'synced' in read write split router. If router option is specified, backend server must be in 'joined' state to be eligible backend candidate.
VilhoRaatikka
2014-03-19 22:29:02 +02:00
5ef657d833Corrected some error messages. Added checking for protocol state in gw_MySQLWrite_backend. If protocol is in MYSQL_AUTH_FAILED state (=authentication is comleted and failed) write to backend is discarded.
VilhoRaatikka
2014-03-19 14:36:47 +02:00
d6a9a5c1d0MAX-10, Transaction support for MaxScale. Naive implementation, which routes all statements to master between BEGIN|START TRANSACTION <options> and ROLLBACK|COMMIT
VilhoRaatikka
2014-03-18 23:41:32 +02:00
709ab19744MAX-10, Transaction support for MaxScale. Naive implementation, which routes all statements to master between BEGIN|START TRANSACTION <options> and ROLLBACK|COMMIT .
VilhoRaatikka
2014-03-18 23:35:41 +02:00
d10b240ae2Changed back the first part of gw_MySQLWrite_backend so that it is protected by dcb->authlock which must wait until authentication phase is complete. If authentication fails, the error is handled before next query starts its execution.
VilhoRaatikka
2014-03-18 17:48:57 +02:00
d7e9978ac1Changed back the first part of gw_MySQLWrite_backend so that it is protected by dcb->authlock which must wait until authentication phase is complete. If authentication fails, the error is handled before next query starts its execution.
VilhoRaatikka
2014-03-18 17:00:43 +02:00
67d9b3afb9Fixed bug in how response messages from backends were handled. Now messages are examined if session command cursor is active . That means that (at least) the first packet in the message is response to session command. Then if the response is alread y forwarded to client it is discarded. Otherwise it is routed to client and the command is marked as responded so that the o ther backend knows to discard its duplicate response.
VilhoRaatikka
2014-03-17 22:26:32 +02:00
1926181119Unix socket support
MassimilianoPinto
2014-03-17 17:02:33 +01:00
68e96fb0fcUnix domain socket support
MassimilianoPinto
2014-03-17 16:57:51 +01:00
107b810c45Unix socket support
MassimilianoPinto
2014-03-17 16:19:55 +01:00
d1c4eabbe8fix for bug 216
MassimilianoPinto
2014-03-17 15:50:17 +01:00
ae2379be31Server connection counter is updated in closeSession
MassimilianoPinto
2014-03-17 11:26:35 +01:00
90f701be8ereadwritesplit.c : router is changed so that it guarantees to keep the execution order of session commands and queries when they are routed to backend servers. In the same way it maintains the order of response packets and discards duplicate responses. For each session command a sescmd property is created and added to the end of list of session commands. List is owned by router client session and it includes all session commands from the beginning of router session. Router maintains an individual session command cursor for each backend. A cursor refers to the first session command which the corresponding backend server haven't yet responded yet. When response message arrives at any time from backend, first it is checked whether backend's cursor is active. Cursor is active if a session command is routed to backend and the backend haven't responded to it yet. If cursor is active, next it is checked whether the current session command property has been responded by other backend. If both are true, then response message is sent to client as is. If session command response is routed to client already, the arrived response is discarded.
VilhoRaatikka
2014-03-16 19:43:49 +02:00
9b833b9464Added 'socket' to the parameter list and moved EPOLLERR and EPOLLHUP after processing of EPOLLIN and EPOLLOUT.
MassimilianoPinto
2014-03-14 16:43:41 +01:00
a3f7eebdc9Extended session command support to cover COM_CHANGE_USER, and COM_INIT_DB. This implementation doesn't guarantee execution order between session commands and queries if other backend server lags behind in session command execution.
VilhoRaatikka
2014-03-14 13:25:37 +02:00
cb6a976555Router has now capability value which currently tells whether router session expects stream or individual, complete statements. With read con nection router stream is used and with read/write split router individual statements are passed to router. Added new function to ROUTER_OBJECT : uint8_t (*getCapabilities)(ROUTER *instance, void* router_session); which is implemented in every route r.
VilhoRaatikka
2014-03-11 23:12:11 +02:00
9a11a3241bUNIX socket support
MassimilianoPinto
2014-03-11 13:00:34 +01:00
bef81ac7a6Update README
Mark Riddoch
2014-03-10 13:24:20 +00:00
c28892323aAdded support for session commands to readwrite split router. Added support for multi-statement packets.
VilhoRaatikka
2014-03-07 20:53:33 +02:00
513839a43dfix ldconfig file in the package
Timofey Turenko
2014-03-07 02:49:15 +02:00