LINUX.ORG.RU

История изменений

Исправление Xintrea, (текущая версия) :

SQL requires a savepoint to be destroyed automatically when another savepoint with the same name is established. In PostgreSQL, the old savepoint is kept, though only the more recent one will be used when rolling back or releasing. (Releasing the newer savepoint with RELEASE SAVEPOINT will cause the older one to again become accessible to ROLLBACK TO SAVEPOINT and RELEASE SAVEPOINT.) Otherwise, SAVEPOINT is fully SQL conforming.

Получается, что правильным вариантом будет вариант второй из топика. Потому что если не высвобождать точку сохранения на каждой итерации цикла, точки сохранения будут копиться (до коммита транзакции).

Тут надо понять, что сильнее дает нагрузку на систему: постоянное выделение памяти под каждую точку сохранения, или выжирание процессорного времени на очистку точки сохранения при каждой итерации. Что можешь сказать по этому вопросу?

Исходная версия Xintrea, :

SQL requires a savepoint to be destroyed automatically when another savepoint with the same name is established. In PostgreSQL, the old savepoint is kept, though only the more recent one will be used when rolling back or releasing. (Releasing the newer savepoint with RELEASE SAVEPOINT will cause the older one to again become accessible to ROLLBACK TO SAVEPOINT and RELEASE SAVEPOINT.) Otherwise, SAVEPOINT is fully SQL conforming.

Получается, что правильным вариантом будет вариант второй из топика. Потому что если не высвобождать точку сохранения на каждой итерации цикла, точки сохранения будут копиться.

Тут надо понять, что сильнее дает нагрузку на систему: постоянное выделение памяти под каждую точку сохранения, или выжирание процессорного времени на очистку точки сохранения при каждой итерации. Что можешь сказать по этому вопросу?