Markus Makela
1656840417
Added missing freeing of service resources
...
The service resources weren't freed when the service is freed.
2016-01-15 16:23:41 +02:00
Markus Makela
a2bc15c870
Removed obsolete functions from dbfwfilter
...
The filter defined its own hashing and string comparison functions even though
there are common functions for both.
2016-01-15 16:22:18 +02:00
Markus Makela
47f6c6613e
Added missing freeing of server resources
...
The server did not release the parameters or the slave ID list.
2016-01-15 12:42:12 +02:00
counterpoint
5515c71988
Reapply MXS-504 changes subsequent to optimisation changes. Merge SSL processing into non-SSL processing so far as possible, correct usage of OpenSSL, simplify where possible.
2016-01-13 10:08:37 +00:00
Johan Wikman
d13bec0647
Reformat testprotocol.c
2016-01-12 15:52:29 +02:00
Johan Wikman
183202466d
Reformat telnetd.c
2016-01-12 15:49:09 +02:00
Johan Wikman
fd9698e705
Reformat mysql_common.c
2016-01-12 15:43:33 +02:00
Johan Wikman
da29ee0f4a
Reformat mysql_client.c
2016-01-12 15:21:33 +02:00
Johan Wikman
244d7ee86c
Reformat mysql_backend.c
2016-01-12 14:57:26 +02:00
Johan Wikman
1b94c5b519
Reformat mascaled.c
2016-01-12 14:20:11 +02:00
Johan Wikman
018b87d304
Reformat httpd.c
2016-01-12 14:14:40 +02:00
Johan Wikman
040c67127a
Reindent schemarouter.c
...
- Untabify
- 4 space indent
- Allman + other style issues.
2016-01-12 13:54:23 +02:00
Markus Makela
0a3e6b4352
MXS-498: Username and source address added to QLA filter output
...
The filter now logs the username and remote address of each client. This will
make tracking of users and their queries a lot easier.
2016-01-12 09:30:03 +02:00
Markus Makela
985543dbb2
Fixed merge conflict
...
One function in the query classifier used the old name which led to undefined
symbols.
2016-01-12 09:19:46 +02:00
Markus Makela
3030d6f398
Moved description of weightby
to the correct section.
...
The description was in router options instead of optional parameters.
2016-01-11 17:34:36 +02:00
Markus Makela
54ca1ab2de
Canonicalized queries remove non-executable comments
...
The comments which do not alter the functionality of a query are now removed
from canonicalized queries.
Also fixed missing semicolon in the comment removal regex and added tests
for comment removal.
2016-01-11 17:14:57 +02:00
Markus Makela
8ee110efa8
Fixed canonicalization and added more tests
...
Fixed mistakes in the canonicalization regular expressions and altered the
functions to use a source and destination buffers. This reduces the amount
of memory allocations that take place.
Added more canonical query tests to the internal test suite.
2016-01-11 17:14:44 +02:00
Markus Makela
e0c84e0fe3
Added removal of MySQL style comments to query canonicalization.
...
Also fixed minor issues with the canonicalization regular expressions.
2016-01-11 17:13:14 +02:00
Markus Makela
c067bbe34a
Formatted the canonical query test.
...
The file is now formatted according to the style guide.
2016-01-11 17:13:01 +02:00
Markus Makela
9c9e30fa08
Fixed value replacement and added more tests for canonicalization of queries
...
The value replacement was not taking session or system variables into notice.
2016-01-11 17:09:40 +02:00
Markus Makela
995ed8c9d2
Improved query canonicalization
...
The query does not need to be parsed for it to be canonicalized and the parsing
uses the PCRE2 library. The regular expressions were changed so that only one
call to the function which replaces literal unquoted values is made.
2016-01-11 17:08:03 +02:00
Markus Makela
b01e8b2eec
Added utils library initialization function and improved replace_quoted
...
Currently the initialization function only prepares PCRE2 patterns for use.
Added the call to the new utils_init() function to MaxScale and all relevant
tests.
The replace_quoted now uses a shared PCRE2 pattern which should remove some
of the overhead of the function.
2016-01-11 17:04:39 +02:00
Johan Wikman
f57df4b967
Hide unused public functions
...
parse_query and query_is_parsed are not used outside query classifier
anymore. Consequently, they can be made internal.
2016-01-11 15:28:00 +02:00
Johan Wikman
4d155f70b0
Remove call to parse_query.
...
Not needed anymore.
2016-01-11 15:14:27 +02:00
Johan Wikman
20bc6a4ab7
Reindent canonizer.c
...
- Untabify
- Remove trailing whitespace.
- Allman braces.
2016-01-11 15:08:27 +02:00
Johan Wikman
79fa226000
Move private type to implementation.
...
parsing_info_t is only used by the query_classifier implementation.
No need to keep it public.
2016-01-11 14:58:15 +02:00
Johan Wikman
23a7562d3a
Replace skygw_ type prefix with qc_.
...
- skygw_query_type_t renamed to qc_query_type_t.
- skygw_query_op_t renamed to qc_query_op_t.
2016-01-11 12:06:21 +02:00
Johan Wikman
2f42246880
Rename query classifier functions consistently.
...
All public query classifier functions now have the prefix qc_.
2016-01-11 12:04:52 +02:00
Johan Wikman
ec281849aa
Remove explicit calls to parse_query.
...
Now that all query classifier functions parse the query if it
has not been parsed, there is no reason for any module to call
parse_query explicitly.
2016-01-11 10:15:13 +02:00
Johan Wikman
6e6ad67504
Parse query if it has not been parsed already.
...
Now consistently all functions parse the query if it has not
been parsed already.
2016-01-11 10:02:27 +02:00
counterpoint
23ebd581dc
Fix mistake in optimise-core branch, dcb.c.
2016-01-08 14:11:50 +00:00
counterpoint
bd02835139
Fiddle around with spaces.
2016-01-08 13:47:34 +00:00
counterpoint
fb5fdb17db
Switch bitmask_clear to be locking and offer bitmask_clear_without_spinlock for non-locking version, in response to review comments. Revert poll.c to use bitmask_clear (with locking) and amend dcb.c to use the non-locking version and to take advantage of the return of an indication of whether the whole bitmask is then clearn.
2016-01-08 13:47:34 +00:00
counterpoint
4461cd9398
Streamline modutil_get_complete_packets code. No external impact.
2016-01-08 13:47:34 +00:00
counterpoint
aa79e61aac
Various optimisations of bitmask processing. External change is that bitmask_clear() does not apply a spinlock, so must be called with exclusive access to the bitmask. This affects the call in shutdown processing in poll management. The call from DCB processing is safe because zombie processing has exclusive access to DCBs.
2016-01-08 13:47:34 +00:00
counterpoint
78b363aec7
Enhance buffer handling by changing gwbuf_free to free the whole list of buffers (although it could contain only one buffer). Add gwbuf_count to give number of buffers in a buffer list (for convenience in debugging). Add gwbuf_alloc_and_load to simplify putting data into a new buffer.
2016-01-08 13:47:34 +00:00
Johan Wikman
57b79fc663
Remove unecessary calls to query_is_parsed/parse_query.
...
query_classifier_get_operation() parsed the query if it has not
yet been parsed. In the other places, the query need not be
parsed.
2016-01-08 11:52:20 +02:00
Johan Wikman
97282fca97
Make lines of mqfilter.c less that 110 characters long.
...
Untabified as well.
2016-01-08 11:43:05 +02:00
Markus Makela
cba190f84c
Checks for temporary tables are only done if they have been created
...
Previously all queries were inspected for CREATE, DROP and SELECT statements
which targeted temporary tables even if they haven't been created.
2016-01-08 11:16:43 +02:00
Markus Makela
b84e739cfa
All queries related to prepared statement are sent to the master
...
The preparation and closing of prepared statements was sent to all servers
even though the execution was always sent to the master. With this change,
all queries which interact with prepared statements are only sent to the master.
The sending of statement preparations to all servers is a problem when a
statement which depends on a database or a table is created and the DDL
statement which created that table has not yet been replicated to the
slaves.
In addition to fixing the aforementioned problem, this change should also
reduce unnecessary network traffic to slaves and improve the overall
performance of the prepared statements.
2016-01-08 11:16:30 +02:00
Markus Makela
40cfe1a864
Merge branch 'release-1.3.0' into develop
2016-01-08 11:14:02 +02:00
Markus Makela
36bd218afd
Cleaned up documentation
...
Fixed spelling mistakes, cleaned up formatting and added missing links.
2016-01-08 11:02:12 +02:00
Johan Wikman
2b83530ae9
Make dbfwfilter.c rows less than 110 character long.
2016-01-08 10:35:53 +02:00
Johan Wikman
4b21154066
Make private query_classifier functions static.
...
parsing_info_init and parsing_info_done are only used by
query_classifier. Hence they should not be public and extern.
2016-01-07 22:36:15 +02:00
MassimilianoPinto
d99cece151
Removed the 16 chars limitation for binlog file name
...
Removed the 16 chars limitation for binlog file name
2016-01-07 15:29:11 +01:00
MassimilianoPinto
5b91f98067
Removed the 16 chars limitation for binlog file name
...
Removed the 16 chars limitation for binlog file name
2016-01-07 14:36:52 +01:00
Johan Wikman
e0e0d3a5e5
Add location of source and packages to readme.
2016-01-05 16:09:10 +02:00
Markus Makela
bd95ea2d35
MXS-451: Made documentation clearer about slave_selection_criteria
...
The documentation for readwritesplit now clearly states that only connections
from MaxScale are taken into consideration when slaves are being selected.
2016-01-04 18:40:01 +02:00
Markus Makela
145abf5a53
MXS-452: Updated readwritesplit documentation
...
The documentation now mentions that weightby works with readwritesplit and
links to the configuration guide for more information.
2016-01-04 18:40:01 +02:00
Markus Makela
4ef89d213b
MXS-463: Filepaths are now properly formatted for printing
...
The various global directory setter functions now process the input they receive
and remove redundant and trailing forward slashes from the directory paths.
2016-01-04 18:40:00 +02:00