| 
					
				 | 
			
			
				@@ -79,7 +79,14 @@ module Blazer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         in_transaction do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            connection_model.connection.execute("SET statement_timeout = #{timeout.to_i * 1000}") if timeout && (postgresql? || redshift?) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if timeout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if postgresql? || redshift? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                connection_model.connection.execute("SET statement_timeout = #{timeout.to_i * 1000}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              elsif mysql? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                connection_model.connection.execute("SET max_execution_time = #{timeout.to_i * 1000}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result = connection_model.connection.select_all("#{statement} /*#{comment}*/") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.each do |untyped_row| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               row = {} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,15 +126,23 @@ module Blazer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def postgresql? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      connection_model.connection.adapter_name == "PostgreSQL" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ["PostgreSQL", "PostGIS"].include?(adapter_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def redshift? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      connection_model.connection.adapter_name == "Redshift" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ["Redshift"].include?(adapter_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def mysql? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ["MySQL", "Mysql2", "Mysql2Spatial"].include?(adapter_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     protected 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def adapter_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      connection_model.connection.adapter_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def in_transaction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if use_transaction? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         connection_model.transaction do 
			 |