faaf7f483e
2.4.13 Update Change Date
2020-10-14 09:15:46 +03:00
babcda3eca
2.4.12 Update Change Date
2020-08-24 09:42:48 +03:00
fc9c9fcd77
2.4.11 Update change date
2020-07-07 10:01:38 +03:00
5ebae9be90
Merge branch '2.3' into 2.4
2020-06-05 09:36:24 +03:00
aa11c960b1
2.3.20 Update change date
2020-06-05 09:31:45 +03:00
d3d7054639
Merge branch '2.3' into 2.4
2020-04-24 16:09:20 +03:00
f527a8f2e6
2.3.19 Update Change Date
2020-04-23 14:23:57 +03:00
d0ab797938
Merge branch '2.3' into 2.4
2020-03-12 10:33:57 +02:00
e0cd6adb26
Update change date for 2.3.18
2020-03-10 10:45:47 +02:00
8b763fb88b
Merge branch '2.3' into 2.4
2020-02-12 08:27:48 +02:00
cfb3f79b54
Update 2.3.17 Change Date
2020-02-10 15:28:38 +02:00
a7e0142224
Merge branch '2.3' into 2.4
2020-01-15 11:29:37 +02:00
790d90f229
Update 2.3.16 Change Date
2020-01-15 11:08:51 +02:00
a9a2b753c0
Update 2.4.5 change date
2019-12-18 13:25:03 +02:00
f6731a898d
Update change date
2019-11-13 08:37:17 +02:00
fdfbf3e133
Update 2.4.3 change date
2019-11-05 12:21:00 +02:00
861e27eb00
Merge branch '2.3' into 2.4
2019-10-29 14:04:31 +02:00
df6c56e7ca
Update 2.3.13 Change Date
2019-10-29 12:51:31 +02:00
f9a6649d77
Merge branch '2.3' into 2.4
2019-09-24 21:42:32 +03:00
fcc7642328
MXS-2694: Add support for COM_BINLOG_DUMP
...
The resultset processing now understands COM_BINLOG_DUMP and treats it as
a never-ending resultset.
2019-09-24 21:41:24 +03:00
45aa40c10a
Fix RWBackend state tracking with multi-result queries
...
If a query returned multiple resultsets and the connection was broken
between the resultsets, the backend would not know that parts of the
response were already sent. This is caused by the cyclic nature of the
state machine when multi-result responses are being processed.
To fix the problem, the result size is tracked to know how many bytes have
been sent to the client. This is a backport of the
MySQLProtocol::Result::size from 2.5(develop).
2019-07-30 13:53:23 +03:00
a9b01ff4cc
Merge branch '2.3' into 2.4
2019-07-28 21:43:58 +03:00
12bd26398f
MXS-2486: Add missing schemarouter capabilities
...
The capabilities that the schemarouter declared were missing the
RCAP_TYPE_PACKET_OUTPUT which caused partial packets to be returned to it.
2019-07-23 09:57:53 +03:00
3e85500491
Merge branch '2.3' into 2.4
2019-07-02 08:38:15 +03:00
5ab5e914e7
MXS-2582: Deep-copy PS buffers in RWBackend::write
...
Deep-copying prevents subsequent modifications done by the caller from
affecting the data that can be potentially stored in the write queue of
the backend's DCB.
2019-06-28 09:46:15 +03:00
d41d4021a8
Merge branch '2.3' into 2.4.0
2019-06-26 09:20:35 +03:00
67d82146f1
Fix packet length assertion
...
The `used_len + len` can be the same as `total_len`.
2019-06-26 09:19:24 +03:00
88dae197b0
Make packet boundary assertion less costly
...
mxs::Buffer::iterator is not a random-access iterator and hence will have
linear cost. This is too costly to do on every packet with even moderately
sized resultsets.
2019-06-26 09:13:03 +03:00
f961bf1d96
Merge branch '2.3' into 2.4.0
2019-06-25 11:46:44 +03:00
2ab9aa9a94
Update 2.4.0 Change Date
2019-06-25 09:19:55 +03:00
873ea92915
Assert that packet is inside the buffer
...
The buffer containing the response should contain only complete packets.
2019-06-25 09:05:49 +03:00
7dde0edb54
Clean up unexpected error handling in readwritesplit
...
By using the Error class, the code can be cleaned up and simplified.
2019-06-14 15:18:01 +03:00
c819271cab
Merge branch '2.3' into develop
2019-06-14 09:40:19 +03:00
2accfad329
Handle trailing unexpected ERR packets
...
RWBackend did not expect that a resultset and an unexpected ERR packet
could be stored in the same buffer. This can happen for example if a
server shuts down immediately after the resultset is sent.
2019-06-14 08:12:02 +03:00
a2b046a482
MXS-2512 Use typenames consistently
2019-06-11 09:44:27 +03:00
b09a4e676d
MXS-2512 Do not recalculate information that exists
...
As the end of the error packet is known, it is better to pass
around an iterator to that instead of recalculating it.
2019-06-11 09:44:27 +03:00
b222a17ed9
MXS-2512 Update error information in additional place
...
An error may be returned directly or as part of a result set.
Both cases must be handled.
2019-06-11 09:44:27 +03:00
aa9b6cb8c5
MXS-2512 Store received error during backend processing
...
If a server returns an error, it will be retained inside RWBackend
so that it later is accessible without having to parse the GWBUF
again.
2019-06-11 09:44:27 +03:00
0e0342e657
Merge branch '2.3' into develop
2019-05-08 10:38:39 +03:00
a652b6bd5b
Add advance(int) to mxs::Buffer iterators
...
This makes iterating over packets in buffers faster while still
maintaining the requirements for forward iterators. Not using operator+=
makes it clear that this is not a random access iterator.
2019-05-08 10:33:27 +03:00
4186f39616
Merge branch '2.3' into develop
2019-04-23 12:11:09 +03:00
24fc82e160
Move large query processing inside RWBackend
...
The knowledge of which function to call can be internal to RWBackend. This
make the use of the class easier as one can simply write to the backend.
2019-04-18 13:58:34 +03:00
d3bfe0a712
Fix handling of large result packets
...
The RWBackend didn't know to skip the tail end of large packets.
2019-04-17 11:16:16 +03:00
21b4cc3944
Merge branch '2.3' into develop
2019-04-15 15:13:50 +03:00
bd54efbb3f
Fix skip_encoded_int
...
A single byte integer wasn't skipped.
2019-04-15 12:18:30 +03:00
f6bd9fefa4
Move assertion after error message
...
Logging the internal state before the assertion makes it easier to figure
out why the assertion failed in the first place.
2019-04-15 12:07:48 +03:00
b3399dccc4
Remove useless templates from RWBackend functions
...
There's no need for templates as the code is only used with one
type. Changed the code to use std::advance as that might avoid a copy of
the iterator.
2019-04-12 16:31:43 +03:00
c643f9bc8d
Merge branch '2.3' into develop
2019-04-12 13:23:49 +03:00
d2ecaa83a6
Move result start handling into separate function
...
The largest part of the code deals with the start of a response. Moving
this into a subfunction makes the function clearer as the switch statement
inside a switch statement is removed.
2019-04-12 09:18:07 +03:00
746bd53668
Simplify RWBackend result handling
...
By processing the packets one at a time, the reply state is updated
correctly regardless of how many packets are received. This removes the
need for the clunky code that used modutil_count_signal_packets to detect
the end of the result set.
2019-04-12 09:18:05 +03:00