| 
		
			| Параметры транзакций в PHP [сообщение #5083] | Mon, 20 May 2024 10:44  |  
			| 
				
				
					|  inoremap Сообщений: 13
 Зарегистрирован: August 2023
 | Junior Member |  |  |  
	| В программе на PHP надо запускать транзакции без ожидания завершения конкурирующей транзакции при появлении конфликтов. 
 В PDO драйвере Firebird SQL установка параметров транзакций отключена - firebird_driver.c#L287
 Правильно ли я понимаю что вместо
 
 можно использовать
$db->beginTransaction();
$db->commit();
$db->rollback();
 ?
$db->exec('set transaction read write no wait isolation level snapshot');
$db->exec('commit');
$db->exec('rollback');
 Можно ли смешивать
 
 c
$db->exec('set transaction read write no wait isolation level snapshot');
?
 
 ОС - Debian 11, PHP 7.4.33, Firebird SQL 3.0.7
 
 |  
	|  |  | 
	|  | 
	|  | 
	|  | 
	|  | 
	|  | 
	|  | 
	|  | 
	| 
		
			| Re: Параметры транзакций в PHP [сообщение #5095 является ответом на сообщение #5091] | Tue, 21 May 2024 08:44  |  
			| 
				
				
					|  inoremap Сообщений: 13
 Зарегистрирован: August 2023
 | Junior Member |  |  |  
	| SD писал(а) Mon, 20 May 2024 16:51 Судя по беглому осмотру исходника - можно всё. Но что тебе мешает собрать этот драйвер с включенной установкой параметров?Непонятно как это использовать, констант PDO_TRANS_CONFLICT_RESOLUTION, PDO_TRANS_RETRY и PDO_TRANS_ABORT я не нашел нигде кроме отключенного блока в firebird_handle_begin. 
 avp писал(а) Mon, 20 May 2024 22:22
 Когда я как то пытался так делать, то у меня не работало.Работает если выключить ATTR_AUTOCOMMIT 
 
$db->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
 |  
	|  |  |