| От | L J Bayuk |
|---|---|
| Тема | Re: create large object by tcl |
| Дата | |
| Msg-id | 200402230109.i1N199pP001050@mindspring.com обсуждение исходный текст |
| Список | pgsql-interfaces |
> However, I would like to ask why a transaction is > needed for accessing large object? Here's how I understand it. If I get it badly wrong, perhaps someone else will step in and correct me. The PostgreSQL database server creates a context in which to store information it needs to process commands. If you don't start a transaction block with BEGIN, a new context is created for each command, and destroyed after the command is processed. If you use BEGIN to start a transaction block, the context stays around until you use COMMIT or ROLLBACK to end the transaction block. Large object file descriptors, like cursors, are stored in this context. So if you open a large object outside a transaction block, the large object file descriptor you get back is invalid, because the context it was created in was already destroyed.
В списке pgsql-interfaces по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера