Re: [HACKERS] [PATCHES] - WIP Patch Updatable Cursor
Hi Gavin, Thanks for your comments. I shall set up the ctids list to be stored in memory initially and dump to a temp file if needed. Regards, John Bartlett -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gavin Sherry Sent: Wednesday, 28 February 2007 3:23 PM To: John Bartlett Cc: pgsql-hackers@postgresql.org; pgsql-patches@postgresql.org; 'Heikki Linnakangas' Subject: Re: [HACKERS] [PATCHES] - WIP Patch Updatable Cursor On Wed, 28 Feb 2007, John Bartlett wrote: Hi, A list of ctids is stored in the file. I would have thought these would be stored in memory. If the set got large, you'd use a temporary file the way other systems which overflow to disk do? The file is used to store the ctids during an updatable cursor transaction. It is set up as a permanent file as it has a potential lifetime of preserving data between crashes of the backend. Temporary files tend to be used for data that is defined within a single command. In this case the file needs to exist within a transaction and across backend processes. It does not. Cursors are implicitly closed when a session is closed. A backend crash or system restart closes all open sessions. The file gram.y has been corrected in my version. The files ctidListStore.c and ctidListStore.h were pasted into the patch file, as the diff -N command produced a file of several hundred thousand lines. Edit the file with a text editor. If you know which files should be excluded (like tags files), use diff --exclude=pattern. Thanks, Gavin ---(end of broadcast)--- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly This is an email from Fujitsu Australia Software Technology Pty Ltd, ABN 27 003 693 481. It is confidential to the ordinary user of the email address to which it was addressed and may contain copyright and/or legally privileged information. No one else may read, print, store, copy or forward all or any of it or its attachments. If you receive this email in error, please return to sender. Thank you. If you do not wish to receive commercial email messages from Fujitsu Australia Software Technology Pty Ltd, please email [EMAIL PROTECTED] ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [HACKERS] [PATCHES] - WIP Patch Updatable Cursor
Hi, A list of ctids is stored in the file. The file is used to store the ctids during an updatable cursor transaction. It is set up as a permanent file as it has a potential lifetime of preserving data between crashes of the backend. Temporary files tend to be used for data that is defined within a single command. In this case the file needs to exist within a transaction and across backend processes. The file gram.y has been corrected in my version. The files ctidListStore.c and ctidListStore.h were pasted into the patch file, as the diff -N command produced a file of several hundred thousand lines. Regards, John Bartlett -Original Message- From: Heikki Linnakangas [mailto:[EMAIL PROTECTED] On Behalf Of Heikki Linnakangas Sent: Tuesday, 27 February 2007 10:03 PM To: John Bartlett Cc: pgsql-patches@postgresql.org; pgsql-hackers@postgresql.org Subject: Re: [PATCHES] John Bartlett wrote: The community may wish to comment on the following issue: 1)At present the file that will contain the list of ctids is going into a new directory called pg_ctids, analogous to pg_twophase, and also stored in the pg_data directory. I don't understand this. What's stored in the file and why? If they're only needed within the transaction, surely a temp file would be more appropriate? The new ctidListStore.c file in the patch is not in a valid diff-format. I also noticed that you've moved the line beginning with CREATE_ROLE in gram.y so that it's not in alphabetical order anymore. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com This is an email from Fujitsu Australia Software Technology Pty Ltd, ABN 27 003 693 481. It is confidential to the ordinary user of the email address to which it was addressed and may contain copyright and/or legally privileged information. No one else may read, print, store, copy or forward all or any of it or its attachments. If you receive this email in error, please return to sender. Thank you. If you do not wish to receive commercial email messages from Fujitsu Australia Software Technology Pty Ltd, please email [EMAIL PROTECTED] ---(end of broadcast)--- TIP 2: Don't 'kill -9' the postmaster
Re: [HACKERS] [PATCHES] - WIP Patch Updatable Cursor
On Wed, 28 Feb 2007, John Bartlett wrote: Hi, A list of ctids is stored in the file. I would have thought these would be stored in memory. If the set got large, you'd use a temporary file the way other systems which overflow to disk do? The file is used to store the ctids during an updatable cursor transaction. It is set up as a permanent file as it has a potential lifetime of preserving data between crashes of the backend. Temporary files tend to be used for data that is defined within a single command. In this case the file needs to exist within a transaction and across backend processes. It does not. Cursors are implicitly closed when a session is closed. A backend crash or system restart closes all open sessions. The file gram.y has been corrected in my version. The files ctidListStore.c and ctidListStore.h were pasted into the patch file, as the diff -N command produced a file of several hundred thousand lines. Edit the file with a text editor. If you know which files should be excluded (like tags files), use diff --exclude=pattern. Thanks, Gavin ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq