| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Александр Петросян (PAF) 03.10.2003 11:25
точка вызова rollback везде одинакова: если на ^connect{ этот момент>>}<< исключение не обработано, транзакция откатывается.PGconn *conn=(PGconn *)connection;
if(PGresult *res=PQexec(conn, "ROLLBACK"))
PQclear(res);
else
throwPQerror;
begin_transaction(services, conn);
void begin_transaction(SQL_Driver_services& services, PGconn *conn) {
if(PGresult *res=PQexec(conn, "BEGIN"))
PQclear(res);
else
throwPQerror;
}видите, открываю транзакцию после закрытия? возможно, знатоку PgSQL что-то покажется не так?