Re: [HACKERS] [PATCHES] - WIP Patch Updatable Cursor

2007-03-01 Thread John Bartlett
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

2007-02-27 Thread John Bartlett
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

2007-02-27 Thread Gavin Sherry
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