parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

egr 05.10.2004 14:02 / 05.10.2004 14:03

^connect[pgsql://...]{
	^string:sql{select 2*2 from object}<br>
	^try{
		^string:sql{select 2*2x from object}
	}{
		$exception.handled(1)
		exception($exception.comment) handled<br>
	}
	^string:sql{select 2*2 from task}<br>
}
result must not contain more then one row

это раз.

Делаем нормальный синтаксис:
^connect[pgsql://...]{
	^string:sql{select path from object where object_id = 0}<br>
	^try{
		^string:sql{select 2*2x from object}
	}{
		$exception.handled(1)
		exception($exception.comment) handled<br>
	}
	^string:sql{select path from object where object_id = 1}<br>
}
имеем:
select path from object where object_id = 1

ERROR: current transaction is aborted, queries ignored until end of transaction block
работает только так:
^connect[pgsql://...]{
	^string:sql{select path from object where object_id = 0}<br>
	^try{
		^string:sql{select 2*2x from object}
	}{
		$exception.handled(1)
		exception($exception.comment) handled<br>
	}<br>
}
выводит:
main
exception(ERROR: parser: parse error at or near "x" at character 11 ) handled
Т.е. работает когда после ошибочного запроса нет более никаких SQL запросов, тогда да, все ОК. Собственно поэтому и просил управляемые транзакции.