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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e6526dd9ea 
					 
					
						
						
							
							Add extra info logging to readwritesplit  
						
						... 
						
						
						
						Added logging into RWBackend reply state processing code to know more. 
						
						
					 
					
						2019-04-12 09:17:48 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2ba7e63e7e 
					 
					
						
						
							
							Merge branch '2.3' into develop  
						
						
						
						
					 
					
						2019-03-21 09:26:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0b77c3f05f 
					 
					
						
						
							
							MXS-2324: Prevent stack overflow with large results  
						
						... 
						
						
						
						If a result consists of only OK packets, they would be processed
recursively which most of the time leads to a stack overflow. This can be
prevented by consuming all OK packets in the result in one go. 
						
						
					 
					
						2019-03-20 10:29:03 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7fb80c530b 
					 
					
						
						
							
							Merge branch '2.3' into develop  
						
						
						
						
					 
					
						2019-01-21 14:05:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5a9e84d39a 
					 
					
						
						
							
							Merge branch '2.3' into develop  
						
						
						
						
					 
					
						2018-12-18 00:00:00 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						35d31801bb 
					 
					
						
						
							
							Merge branch '2.2' into 2.3  
						
						
						
						
					 
					
						2018-12-17 23:52:56 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0927a0b938 
					 
					
						
						
							
							MXS-2197 Remove most includes of maxscale/log.hh  
						
						... 
						
						
						
						All cc-files should include maxscale/ccdefs.hh, which includes
maxscale/log.hh. Consequently it need not be included again. 
						
						
					 
					
						2018-12-10 13:07:23 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c0c9a9858d 
					 
					
						
						
							
							MXS-2197 Rename maxscale/log.h to maxscale/log.hh  
						
						... 
						
						
						
						In files either include maxscale/log.hh or remove include entirelly
as maxscale/ccdefs.hh includes it. 
						
						
					 
					
						2018-12-10 12:58:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9f721f725e 
					 
					
						
						
							
							MXS-2205 Convert maxscale/protocol/mysql.h to .hh  
						
						
						
						
					 
					
						2018-12-05 11:12:20 +02:00