1. in query_classifier.cc autocommit_enabled, and transaction_active variables maintained their values across different sessions. Now those values are stored in each router_client_ses object. 2. As a part of implementation of MAX-95 session variables were added to BACKEND struct which is shared with all sessions using the SERVICE which the particular BACKEND serves. Now each router_client_ses object has a backend reference struct which includes pointer to BACKEND, DCB and to session command cursor. Added test - set_autocommit_disabled.sql, test_after_autocommit_disabled.sql - to check that session variable is discarded when session where it belongs terminates.
		
			
				
	
	
		
			8 lines
		
	
	
		
			208 B
		
	
	
	
		
			PL/PgSQL
		
	
	
	
	
	
			
		
		
	
	
			8 lines
		
	
	
		
			208 B
		
	
	
	
		
			PL/PgSQL
		
	
	
	
	
	
use test;
 | 
						|
drop table if exists t1;
 | 
						|
create table t1 (id integer);
 | 
						|
set autocommit=0;               -- open transaction
 | 
						|
begin;                         
 | 
						|
insert into t1 values(1);       -- write to master
 | 
						|
commit;
 |