be27d36f8c 
					 
					
						
						
							
							Added dcb NULL check in mysql_send_custom_error()  
						
						 
						
						
						
						
					 
					
						2013-09-04 11:26:14 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						61df7eb07d 
					 
					
						
						
							
							Added checks against NULL in gw_read_backend_event for dcb->session and dcb->session->client  
						
						 
						
						
						
						
					 
					
						2013-09-04 10:57:08 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						db164be946 
					 
					
						
						
							
							Added spinlock protection for refcount increase in dcb_connect  
						
						 
						
						
						
						
					 
					
						2013-09-04 10:00:40 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8e97974216 
					 
					
						
						
							
							Fixed return rc after:  
						
						 
						
						... 
						
						
						
						routeQuery()
(dcb->func).close(dcb);
This will prevent setting again dcb->sate = DCB_STATE_POLLING in return_rc label.
The log entry for 
[gw_read_client_event] ioctl FIONREAD for fd 21 failed. errno 9, Bad file descriptor. dcb->state = 3
now is not present anymore. 
						
						
					 
					
						2013-09-03 14:42:47 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a605b8fd9b 
					 
					
						
						
							
							Removed unused macros.  
						
						 
						
						
						
						
					 
					
						2013-09-02 22:21:28 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3d5c40e450 
					 
					
						
						
							
							Removed unused macros. Fixed struct member order so that check field is again the last in struct and it detects memory overflows slightly better.  
						
						 
						
						
						
						
					 
					
						2013-09-02 21:54:24 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						366441a4bb 
					 
					
						
						
							
							Added debug assert for checking return value of memory allocation.  
						
						 
						
						
						
						
					 
					
						2013-09-02 21:53:49 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c4ce2efd9f 
					 
					
						
						
							
							Added debug assert for DCB states prior processing.  
						
						 
						
						
						
						
					 
					
						2013-09-02 21:52:57 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5487f84532 
					 
					
						
						
							
							Added logging to session refcount increment. Some minor improvements.  
						
						 
						
						
						
						
					 
					
						2013-09-02 21:52:09 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f80bb51db1 
					 
					
						
						
							
							dcb_close sets some session fields to NULL:  
						
						 
						
						... 
						
						
						
						dcb->session->client = NULL;
dcb->session = NULL;
There is a local copy of dcb->seesion before setting it to NULL 
						
						
					 
					
						2013-09-02 19:33:55 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						31cda5ad65 
					 
					
						
						
							
							Added session refcount in session.h  
						
						 
						
						... 
						
						
						
						The refcount is incremented in dcb_connect and in mysql_client.c after session_alloc 
						
						
					 
					
						2013-09-02 10:26:34 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b86d3f3dfd 
					 
					
						
						
							
							Holding error log's block buffer registration until all logs were written caused deadlock if block buffers were full. Now buffer registrations don't overlap.  
						
						 
						
						
						
						
					 
					
						2013-09-02 10:30:50 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ce0085a078 
					 
					
						
						
							
							Clean up.  
						
						 
						
						
						
						
					 
					
						2013-09-01 00:37:49 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						757a043386 
					 
					
						
						
							
							Replaced oinlined protocol creation with call to mysql_protocol_init. Clean up.  
						
						 
						
						
						
						
					 
					
						2013-09-01 00:36:31 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9df2040a8a 
					 
					
						
						
							
							Removed unused variables, changed call to mysql_protocol_init to reflect new prototype.  
						
						 
						
						
						
						
					 
					
						2013-09-01 00:32:57 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						88ffcaa3d4 
					 
					
						
						
							
							Removed 'extern' keyword from function declaration in headers. Functions are 'extern' by default.  
						
						 
						
						... 
						
						
						
						Changed mysql_protocol_init prototype and implementation to return MySQLProtocol pointer instead of boolean. 
						
						
					 
					
						2013-09-01 00:30:46 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9bf0f58526 
					 
					
						
						
							
							introduce mysql_protocol_init.  
						
						 
						
						
						
						
					 
					
						2013-08-31 23:54:35 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3dff91e80f 
					 
					
						
						
							
							In gw_create_backend_connection, replaced inlined protocol init with call to mysql_protocol_init (mysql_common.c). Replaced fprintfs with logging commands.  
						
						 
						
						
						
						
					 
					
						2013-08-31 23:51:54 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c23168ed71 
					 
					
						
						
							
							gw_do_connect_to_backend returned zero in case where connect failed with errno EINPROGRESS. Should have returned 1 to indicate that connection will be established asynchronously.  
						
						 
						
						... 
						
						
						
						In the same case, checking for error by using getsockopt should be done when select returns, not after connect (man 2 connect). 
						
						
					 
					
						2013-08-31 23:45:40 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9d6b13c288 
					 
					
						
						
							
							Replaced macros with enumereted type.  
						
						 
						
						
						
						
					 
					
						2013-08-31 12:04:02 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a445b6ff37 
					 
					
						
						
							
							Fixes for NULL test for function returns such as malloc() - as reported by Coverity  
						
						 
						
						
						
						
					 
					
						2013-08-29 13:34:21 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						03725cabe3 
					 
					
						
						
							
							Fixed compile issue in dcb.h  
						
						 
						
						
						
						
					 
					
						2013-08-29 13:17:19 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						94a8ad68d3 
					 
					
						
						
							
							Checked for bug  #178 . Added error logs to suitabl places.  
						
						 
						
						
						
						
					 
					
						2013-08-29 09:50:16 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						527df6c7f3 
					 
					
						
						
							
							Merge, mostly.  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:26:09 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						48165bf5cd 
					 
					
						
						
							
							Removed unused protocol_mutex and references to it.  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:25:27 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						134c33776e 
					 
					
						
						
							
							Added consistency check fields, and switched macros to enumerated types.  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:23:05 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						50a3cfdf49 
					 
					
						
						
							
							Commented out some dead code.  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:17:18 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ae9fce8591 
					 
					
						
						
							
							Added write and read lock to DCB to protect concurrent threads fro executing EPOLLIN and EPOLLOUT events on same descriptor, respectively. Added consistency checks and trace logging.  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:09:37 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f2f119f692 
					 
					
						
						
							
							Removed some dead code  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:08:51 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9a8e271417 
					 
					
						
						
							
							client->data is copied to session->data already in session_alloc to ensure that authentication information is set when background connection is started to establish in concurrent thread.  
						
						 
						
						
						
						
					 
					
						2013-08-28 23:06:09 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						786468fc5d 
					 
					
						
						
							
							Added status checks, removed some dead code, changed macros to enumerated types, renamed variables to reflect better what they mean.  
						
						 
						
						
						
						
					 
					
						2013-08-28 22:59:53 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8c8475740a 
					 
					
						
						
							
							Switched to booleans defined in stdbool.h  
						
						 
						
						
						
						
					 
					
						2013-08-28 22:49:27 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						34b26ad85f 
					 
					
						
						
							
							Changed enum-type boolean to whta is defined in stdbool.h, and in practise replaced TRUEs and FALSEs with true, and false, respectively.  
						
						 
						
						
						
						
					 
					
						2013-08-28 22:47:14 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ff109c6319 
					 
					
						
						
							
							dcb->state set wheere missing or changed  
						
						 
						
						
						
						
					 
					
						2013-08-27 10:52:43 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d0d68a69ca 
					 
					
						
						
							
							Added DCB_STATE_XXX in EPOLLIN/EPOLLOUT handlers and in accept()  
						
						 
						
						
						
						
					 
					
						2013-08-27 10:08:03 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						49036894f5 
					 
					
						
						
							
							In gw_connect_to_backend, first create socket, and establish socket connection, then in the end, dcb is added to epoll set.  
						
						 
						
						
						
						
					 
					
						2013-08-24 00:18:46 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						df5f2f29b2 
					 
					
						
						
							
							Removed undefined function declaration. Added trace and error log.  
						
						 
						
						
						
						
					 
					
						2013-08-23 23:25:12 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e345b23bcf 
					 
					
						
						
							
							Merge  
						
						 
						
						
						
						
					 
					
						2013-08-23 22:47:16 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6f0ccd7b42 
					 
					
						
						
							
							Added static simple_mutex_t epoll_wait_mutex, which is acquired and released in poll_waitevents.  
						
						 
						
						
						
						
					 
					
						2013-08-23 22:45:06 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0a182913a1 
					 
					
						
						
							
							in gw_MySQLAccept moved authentication packet send before adding new dcb to epoll set.  
						
						 
						
						
						
						
					 
					
						2013-08-23 22:39:42 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0612dae890 
					 
					
						
						
							
							Added error log printing.  
						
						 
						
						
						
						
					 
					
						2013-08-23 22:31:08 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						17975a1252 
					 
					
						
						
							
							Fixed indentation.  
						
						 
						
						
						
						
					 
					
						2013-08-23 22:29:31 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c9ff06e0f5 
					 
					
						
						
							
							Increased maximum path length from 180 to 255, and replaced sprintf with snprintf to prevent buffer overflow.  
						
						 
						
						
						
						
					 
					
						2013-08-23 22:27:40 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						52c30c3e58 
					 
					
						
						
							
							Removed dcb->state set after func.close()  
						
						 
						
						
						
						
					 
					
						2013-08-23 14:17:00 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						68a5a389ee 
					 
					
						
						
							
							Removed SS_DEBUG macros around necessary include directives.  
						
						 
						
						
						
						
					 
					
						2013-08-23 13:42:10 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						481096ccef 
					 
					
						
						
							
							Added trace log to newSession and to closeSession.  
						
						 
						
						
						
						
					 
					
						2013-08-22 10:46:14 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0401290021 
					 
					
						
						
							
							Added spinlock ses_lock to struct SESSION to ensure that for each session closeSession is called only once.  
						
						 
						
						... 
						
						
						
						closeSession is called from mysql_backend.c:gw_read_backend_event, and from dcb.c:dcb_close.
This is part of Bug #163 . 
						
						
					 
					
						2013-08-22 10:42:18 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4138281183 
					 
					
						
						
							
							setvbuf was called before testing whether file creation succeed. That caused server to fail if MAXSCALE_HOME was exceptionally long.  
						
						 
						
						
						
						
					 
					
						2013-08-22 00:32:49 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b18d89300d 
					 
					
						
						
							
							Bug 179  
						
						 
						
						
						
						
					 
					
						2013-08-22 00:26:24 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8dfd5de923 
					 
					
						
						
							
							Fix merge  
						
						 
						
						
						
						
					 
					
						2013-08-22 00:01:44 +03:00