Johan Wikman
2ba7e63e7e
Merge branch '2.3' into develop
2019-03-21 09:26:06 +02:00
Markus Mäkelä
17245c4ce3
Fix false debug assertion
...
Given the following query:
PREPARE ps FROM 'PREPARE ps2 FROM \'SELECT 1\'';
The debug assertion is hit even though this is valid, albeit unsupported,
SQL. An optimization would be to ignore the query if the prepared
statement type is another prepared statement.
2019-03-18 12:17:48 +02:00
Markus Mäkelä
6038f1f386
Merge branch '2.3' into develop
2019-02-01 13:55:54 +02:00
Markus Mäkelä
16fc920d33
MXS-2299: Hints always take precedence
...
Hints should override all statement level routing decisions that would
otherwise be done based on the query type.
2019-01-28 18:36:52 +02:00
Markus Mäkelä
a3fa2f8111
Merge branch '2.3' into develop
2019-01-16 16:31:14 +02:00
Markus Mäkelä
ba40916d4a
MXS-2266: Close prepared statements with internal ID
...
The ID used to store the prepared statements uses the internal ID and
using the external ID caused unwanted memory use and a false warning.
2019-01-16 12:22:06 +02:00
Esa Korhonen
d4674faa7d
Convert maxscale/query_classifier.h to .hh
...
The header was not merged with queryclassifier.hh since the latter
does not include the former.
2019-01-15 18:18:39 +02:00
Markus Mäkelä
5a9e84d39a
Merge branch '2.3' into develop
2018-12-18 00:00:00 +02:00
Markus Mäkelä
35d31801bb
Merge branch '2.2' into 2.3
2018-12-17 23:52:56 +02:00
Esa Korhonen
9f721f725e
MXS-2205 Convert maxscale/protocol/mysql.h to .hh
2018-12-05 11:12:20 +02:00
Esa Korhonen
97bb7e7e1a
MXS-2205 Combine maxscale/modutil.h with maxscale/modutil.hh
2018-12-03 15:28:06 +02:00
Markus Mäkelä
05c9aea04d
MXS-2186: Make SHOW DATABASES a read
...
Since SHOW TABLES is a read, SHOW DATABASES should be one as well.
2018-11-27 12:52:44 +02:00
Markus Mäkelä
4d8a95d041
Merge commit '262f1d7e471bacca6b985ec3f2cd5cb76d6e2584' into 2.3
2018-10-26 12:44:57 +03:00
Markus Mäkelä
71ffef5708
Partially revert 4ba011266843857bbd3201e5b925a47e88e1808f
...
Add back leading operator enforcement.
2018-09-20 15:57:30 +03:00
Markus Mäkelä
108638b0cf
Format with Uncrustify 0.67
2018-09-10 13:31:39 +03:00
Markus Mäkelä
d11c78ad80
Format all sources with Uncrustify
...
Formatted all sources and manually tuned some files to make the code look
neater.
2018-09-10 13:22:49 +03:00
Niclas Antti
c447e5cf15
Uncrustify maxscale
...
See script directory for method. The script to run in the top level
MaxScale directory is called maxscale-uncrustify.sh, which uses
another script, list-src, from the same directory (so you need to set
your PATH). The uncrustify version was 0.66.
2018-09-09 22:26:19 +03:00
Johan Wikman
3f53eddbde
MXS-2020 Replace ss[_info]_dassert with mxb_assert[_message]
2018-08-22 11:34:59 +03:00
Johan Wikman
9a8bb95be6
MXS-2014 Rename mxs_log_priority_is_enabled
...
- Renamed to mxs_log_is_priority_enabled
- That function instead of the macro is now consistently used
2018-08-16 09:59:43 +03:00
Markus Mäkelä
6c59da77fb
Merge branch '2.2' into develop
2018-07-26 11:27:09 +03:00
Marko
2acf5f545e
MXS-1066 Add query hint to route to last used server
...
Add new hint type and support for it in the readwritesplit router.
2018-07-13 11:11:02 +03:00
Markus Mäkelä
77a1417479
Replace TR1 headers with standard headers
...
Now that the C++11 standard is the default one, we can remove the TR1
headers and classes.
2018-07-11 14:08:46 +03:00
Markus Mäkelä
b59f607471
MXS-1549: Track transaction type in the query classifier
...
The characteristics of a transaction can now be tracked by the query
classifier. This allows read-only and read-write transaction statistics to
be calculated.
2018-07-02 13:29:17 +03:00
Johan Wikman
cc0299aee6
Update change date of 2.3
2018-06-25 10:07:52 +03:00
Markus Mäkelä
92b1767fb1
Merge branch '2.2' into develop
2018-06-21 11:45:23 +03:00
Markus Mäkelä
8094c67ac2
Merge branch '2.2' into develop
2018-06-13 00:25:56 +03:00
Markus Mäkelä
df7c46fbdd
Merge branch '2.2' into develop
2018-05-18 12:45:15 +03:00
Markus Mäkelä
91cc5b1e89
MXS-1828: Simplify LOAD DATA LOCAL INFILE handling
...
By relying on the server to tell us that it is requesting the loading of a
local infile, we can remove one state from the state machine that governs
the loading of local files. It also removes the need to handle error and
success cases separately.
A side-effect of this change is that execution of multi-statement LOAD
DATA LOCAL INFILE no longer hangs. This is done by checking whether the
completion of one command initiates a new load.
The current code recursively checks the reply state and clones the
buffers. Neither of these are required nor should they be done but
refactoring the code is to be done in a separate commit.
Added two helper functions that are used to detect requests for local
infiles and to extract the total packet length from a non-contiguous
GWBUF.
2018-05-18 09:46:07 +03:00
Johan Wikman
12bd34c8d3
MXS-1625 Remove the PS manager from RWS
...
Not used as it now is in QueryClassifier
2018-04-17 10:09:37 +03:00
Johan Wikman
77a258de86
MXS-1625 Unnecessary function removed
2018-04-17 10:09:37 +03:00
Markus Mäkelä
ec33fcf87d
Merge branch '2.2' into develop
2018-04-13 14:53:00 +03:00
Johan Wikman
9be98df41c
MXS-1625 Move RouteInfo to QueryClassifier
2018-04-10 17:41:59 +03:00
Johan Wikman
d65af04d19
MXS-1625 Make as much private as possible in QueryClassifier
...
Some stuff that is manipulated from RWS must be left public
for the time being.
2018-04-10 14:14:55 +03:00
Johan Wikman
563a33ae56
MXS-1625 Move get_target_type() to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
42e72bfb81
MXS-1625 Move handle_multi_temp_and_load to QueryClasifier
2018-04-10 14:14:55 +03:00
Johan Wikman
369029b612
MXS-1625 Move check_for_multi_stmt to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
9a6d66f104
MXS-1625 Move functions to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
505d6b5889
MXS-1625 Move check_create_tmp_table() to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
c8673bc0b3
MXS-1625 Move determine_query_type() to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
18ca7018b1
MXS-1625 Move log_transaction_status() to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
5689613801
MXS-1625 Hint-handling moved to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
c8961a3d14
MXS-1625 Move QueryClassifier::Handler to RWSplitSession
2018-04-10 14:14:55 +03:00
Johan Wikman
a102ddf5de
MXS-1625 Remove final traces of RWSplitSession
...
The code for figuring out the where to send a statement does no
longer depend upon RWSplitSession but only on QueryClassifier.
So now the functionality can be moved into QueryClassifier after
which further cleanup and streamlining can be done.
2018-04-10 14:14:55 +03:00
Johan Wikman
300de4ecc6
MXS-1625 Move internal/external id map to QueryClassifier
2018-04-10 14:14:55 +03:00
Johan Wikman
59d257579c
MXS-1625 Move LOAD DATA sent statistics to QueryClassifier
...
Eventually the tracking will be internal to QueryClassifier.
2018-04-05 12:46:27 +03:00
Johan Wikman
8c0033ccb2
MXS-1625 Figure out multi statement state at startup
...
Whether or not multi statements are allowed is checked when
the QueryClassifier instance is created.
2018-04-05 10:16:23 +03:00
Johan Wikman
dbce77f9ee
MXS-1625 Add PSManager to QueryClassifier
...
A copy of the PSManager of ReadWriteSplit.
2018-04-05 10:16:23 +03:00
Johan Wikman
c08120846c
MXS-1625 large_query flag moved from RWS session to query classifier
2018-04-04 15:20:38 +03:00
Johan Wikman
bc22790e1b
MXS-1625 Move tmp table state variable to mxs::QueryClassifier
2018-04-04 15:18:51 +03:00
Johan Wikman
8220c31664
MXS-1625 Move load data state to QueryClassifier
...
Still managed from the outside, but eventually will be managed
entirelly by QueryClassifier.
2018-04-04 15:16:46 +03:00