From: Bruce Momjian Date: Fri, 23 May 2003 16:34:36 +0000 (+0000) Subject: Place statement_timeout in proper order in docs, from Bruno Wolff III. X-Git-Tag: REL7_4_BETA1~554 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=27330595d38a368e6c26e8d8b30b4d6d392f07e4;p=postgresql Place statement_timeout in proper order in docs, from Bruno Wolff III. --- diff --git a/doc/TODO.detail/win32 b/doc/TODO.detail/win32 index f35c5c6fe1..cddd59cc47 100644 --- a/doc/TODO.detail/win32 +++ b/doc/TODO.detail/win32 @@ -6475,7 +6475,7 @@ X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-Spam-Status: Yes, hits=5.0 required=5.0 tests=RCVD_IN_OSIRUSOFT_COM,X_OSIRU_SPAM_SRC version=2.20 X-Spam-Flag: YES X-Spam-Level: ***** -X-Spam-Checker-Version: SpamAssassin 2.20 (devel $Id: win32,v 1.4 2002/09/23 01:59:40 momjian Exp $) +X-Spam-Checker-Version: SpamAssassin 2.20 (devel $Id: win32,v 1.5 2003/05/23 16:34:35 momjian Exp $) X-Spam-Report: Detailed Report SPAM: -------------------- Start SpamAssassin results ---------------------- SPAM: This mail is probably spam. The original message has been altered @@ -7359,7 +7359,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO I wrote: > scott.marlowe wrote: @@ -7447,7 +7447,7 @@ References: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-MailScanner: Found to be clean -Status: OR +Status: RO scott.marlowe wrote: > On Fri, 13 Sep 2002, Justin Clift wrote: @@ -7538,7 +7538,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: ORr +Status: ROr Curt Sampson writes: > On Thu, 12 Sep 2002, Justin Clift wrote: @@ -7610,7 +7610,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO On Wed, Sep 18, 2002 at 08:01:42PM -0400, Bruce Momjian wrote: @@ -7626,91 +7626,6 @@ Ross ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -From mascarm@mascari.com Thu Sep 19 01:24:42 2002 -Return-path: -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8J5ObE18446 - for ; Thu, 19 Sep 2002 01:24:40 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id BAA15293; - Thu, 19 Sep 2002 01:23:54 -0400 -Message-ID: <3D895F60.4010902@mascari.com> -Date: Thu, 19 Sep 2002 01:23:45 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian -cc: PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209190001.g8J01gG13849@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: OR - -Bruce Momjian wrote: -> I am working with several groups getting the Win32 port ready for 7.4 -> and I have a few questions: -> -> What is the standard workaround for the fact that rename() isn't atomic -> on Win32? Do we need to create our own locking around the -> reading/writing of files that are normally updated in place using -> rename()? - -Visual C++ comes with the source to Microsoft's C library: - -rename() calls MoveFile() which will error if: - -1. The target file exists -2. The source file is in use - -MoveFileEx() (not available on 95/98) can overwrite the target -file if it exists. The Apache APR portability library uses -MoveFileEx() to rename files if under NT/XP/2K vs. a sequence of : - -1. CreateFile() to test for target file existence -2. DeleteFile() to remove the target file -3. MoveFile() to rename the old file to new - -under Windows 95/98. Of course, some other process could create -the target file between 2 and 3, so their rename() would just -error out in that situation. I haven't tested it, but I recall -reading somewhere that MoveFileEx() has the ability to rename an -opened file. I'm 99% sure MoveFile() will fail if the source -file is open. - -> -> Second, when you unlink() a file on Win32, do applications continue -> accessing the old file contents if they had the file open before the -> unlink? -> - -unlink() just calls DeleteFile() which will error if: - -1. The target file is in use - -CreateFile() has the option: - -FILE_FLAG_DELETE_ON_CLOSE - -which might be able to be used to simulate traditional unlink() -behavior. - -Hope that helps, - -Mike Mascari -mascarm@mascari.com - - - - - - - - - - From pgsql-hackers-owner+M29091@postgresql.org Thu Sep 19 01:24:54 2002 Return-path: Received: from postgresql.org (postgresql.org [64.49.215.8]) @@ -7748,7 +7663,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: ORr +Status: ROr Bruce Momjian wrote: > I am working with several groups getting the Win32 port ready for 7.4 @@ -7862,7 +7777,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO > On Wed, Sep 18, 2002 at 08:01:42PM -0400, Bruce Momjian wrote: > @@ -7922,7 +7837,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Christopher Kings-Lynne wrote: >>On Wed, Sep 18, 2002 at 08:01:42PM -0400, Bruce Momjian wrote: @@ -7996,7 +7911,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: ORr +Status: ROr Mike Mascari wrote: > Bruce Momjian wrote: @@ -8094,82 +8009,7 @@ X-Mailer: ELM [version 2.4ME+ PL99 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII -Status: OR - -Bruce Momjian wrote: -> > > Second, when you unlink() a file on Win32, do applications continue -> > > accessing the old file contents if they had the file open before the -> > > unlink? -> > > -> > -> > unlink() just calls DeleteFile() which will error if: -> > -> > 1. The target file is in use -> > -> > CreateFile() has the option: -> > -> > FILE_FLAG_DELETE_ON_CLOSE -> > -> > which might be able to be used to simulate traditional unlink() -> > behavior. -> -> No, that flag isn't going to help us. I wonder what MoveFileEx does if -> the target file exists _and_ is open by another user? I don't see any -> loop in that Win32 rename() routine, and I looked at the Unix version of -> apr_file_rename and its just a straight rename() call. - -This says that if the target is in use, it is overwritten: - - http://support.microsoft.com/default.aspx?scid=KB;EN-US;q140570& - -While I think that is good news, does it open the problem of other -readers reading partial updates to the file and therefore seeing -garbage. Not sure how to handle that, nor am I even sure how I would -test it. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - -From pgsql-hackers-owner+M29166@postgresql.org Thu Sep 19 22:52:08 2002 -Return-path: -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K2q7E29312 - for ; Thu, 19 Sep 2002 22:52:07 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 5B1CE47620D; Thu, 19 Sep 2002 22:51:36 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 6CC8F47651C; Thu, 19 Sep 2002 22:51:13 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 77E1F476476 - for ; Thu, 19 Sep 2002 22:50:57 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id 8CF61476459 - for ; Thu, 19 Sep 2002 22:50:55 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8K2ofr29042; - Thu, 19 Sep 2002 22:50:41 -0400 (EDT) -From: Bruce Momjian -Message-ID: <200209200250.g8K2ofr29042@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <200209192024.g8JKO1g10337@candle.pha.pa.us> -To: Bruce Momjian -Date: Thu, 19 Sep 2002 22:50:41 -0400 (EDT) -cc: Mike Mascari , - PostgreSQL-development -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Bruce Momjian wrote: > > > Second, when you unlink() a file on Win32, do applications continue @@ -8208,9 +8048,6 @@ test it. + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - From mascarm@mascari.com Fri Sep 20 00:02:33 2002 Return-path: Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) @@ -8232,7 +8069,7 @@ References: <200209200250.g8K2ofr29042@candle.pha.pa.us> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-MailScanner: Found to be clean -Status: ORr +Status: ROr Bruce Momjian wrote: > Bruce Momjian wrote: @@ -8313,7 +8150,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: > I read the article and did not come away with that conclusion. @@ -8382,7 +8219,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Bruce Momjian wrote: > Mike Mascari wrote: @@ -8419,72 +8256,6 @@ mascarm@mascari.com ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -From mascarm@mascari.com Fri Sep 20 01:01:37 2002 -Return-path: -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K51WE17352 - for ; Fri, 20 Sep 2002 01:01:35 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id BAA18603; - Fri, 20 Sep 2002 01:00:49 -0400 -Message-ID: <3D8AAB8F.8010001@mascari.com> -Date: Fri, 20 Sep 2002 01:01:03 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Mike Mascari -cc: Bruce Momjian , - PostgreSQL-development - -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209200405.g8K45RV12655@candle.pha.pa.us> <3D8AA4B2.8090507@mascari.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: ORr - -Mike Mascari wrote: -> Bruce Momjian wrote: -> ->> Mike Mascari wrote: ->> ->>> I will do some testing with concurrency and let you know. But don't ->>> get your hopes up. This is one of the many advantages that ->>> TABLESPACEs have when more than one relation is stored in a single ->>> DATAFILE. There was Oracle for MS-DOS, after all.. ->> ->> ->> ->> I was focusing on handling of pg_pwd and other config file that are ->> written by various backend while other backends are reading them. The ->> actual data files should be OK because we have an exclusive lock when we ->> are adding/removing them. ->> -> -> OK. So you want to test: -> -> 1. Process 1 opens "foo" -> 2. Process 2 opens "foo" -> 3. Process 1 renames "foo" to "bar" -> 4. Process 2 can safely read from its open file handle - -Actually, looking at the pg_pwd code, you want to determine a -way for: - -1. Process 1 opens "foo" -2. Process 2 opens "foo" -3. Process 1 creates "bar" -4. Process 1 renames "bar" to "foo" -5. Process 2 can continue to read data from the open file handle -and get the original "foo" data. - -Is that correct? - -Mike Mascari -mascarm@mascari.com - - From pgsql-hackers-owner+M29180@postgresql.org Fri Sep 20 01:02:47 2002 Return-path: Received: from postgresql.org (postgresql.org [64.49.215.8]) @@ -8523,7 +8294,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: > Bruce Momjian wrote: @@ -8606,7 +8377,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: > Actually, looking at the pg_pwd code, you want to determine a @@ -8668,7 +8439,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Bruce Momjian wrote: > Mike Mascari wrote: @@ -8701,11 +8472,23 @@ mascarm@mascari.com ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster -From sszabo@megazone23.bigpanda.com Fri Sep 20 01:50:39 2002 -Return-path: +From pgsql-hackers-owner+M29183@postgresql.org Fri Sep 20 01:50:47 2002 +Return-path: +Received: from postgresql.org (postgresql.org [64.49.215.8]) + by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K5ojE22893 + for ; Fri, 20 Sep 2002 01:50:46 -0400 (EDT) +Received: from localhost (postgresql.org [64.49.215.8]) + by postgresql.org (Postfix) with ESMTP + id A8A20476D3B; Fri, 20 Sep 2002 01:50:46 -0400 (EDT) +Received: from postgresql.org (postgresql.org [64.49.215.8]) + by postgresql.org (Postfix) with SMTP + id 70EBC476B1F; Fri, 20 Sep 2002 01:50:44 -0400 (EDT) +Received: from localhost (postgresql.org [64.49.215.8]) + by postgresql.org (Postfix) with ESMTP id 8B227475EEE + for ; Fri, 20 Sep 2002 01:50:40 -0400 (EDT) Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K5oaE22843 - for ; Fri, 20 Sep 2002 01:50:38 -0400 (EDT) + by postgresql.org (Postfix) with ESMTP id AE58D476D2C + for ; Fri, 20 Sep 2002 01:50:36 -0400 (EDT) Received: by megazone.bigpanda.com (Postfix, from userid 1001) id 709D1D61E; Thu, 19 Sep 2002 22:50:36 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) @@ -8721,83 +8504,11 @@ In-Reply-To: <3D8AB39B.80708@mascari.com> Message-ID: <20020919224718.H36366-100000@megazone23.bigpanda.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII -Status: OR - - -On Fri, 20 Sep 2002, Mike Mascari wrote: - -> Bruce Momjian wrote: -> > Mike Mascari wrote: -> > -> >>Actually, looking at the pg_pwd code, you want to determine a -> >>way for: -> >> -> >>1. Process 1 opens "foo" -> >>2. Process 2 opens "foo" -> >>3. Process 1 creates "bar" -> >>4. Process 1 renames "bar" to "foo" -> >>5. Process 2 can continue to read data from the open file handle -> >>and get the original "foo" data. -> > -> > -> > Yep, that's it. -> > -> -> So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) -> returns "Access Denied" when Process 1 attempts the rename. But -> I'm continuing to investigate the possibilities... - -Does a sequence like -Process 1 opens "foo" -Process 2 opens "foo" -Process 1 creates "bar" -Process 1 renames "foo" to - - where something is generated to not overlap an existing file -Process 1 renames "bar" to "foo" -Process 2 continues reading -let you do the replace and keep reading (at the penalty that -you've now got to have a way to know when to remove the -various s) - - - -From pgsql-hackers-owner+M29183@postgresql.org Fri Sep 20 01:50:47 2002 -Return-path: -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K5ojE22893 - for ; Fri, 20 Sep 2002 01:50:46 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id A8A20476D3B; Fri, 20 Sep 2002 01:50:46 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 70EBC476B1F; Fri, 20 Sep 2002 01:50:44 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 8B227475EEE - for ; Fri, 20 Sep 2002 01:50:40 -0400 (EDT) -Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by postgresql.org (Postfix) with ESMTP id AE58D476D2C - for ; Fri, 20 Sep 2002 01:50:36 -0400 (EDT) -Received: by megazone.bigpanda.com (Postfix, from userid 1001) - id 709D1D61E; Thu, 19 Sep 2002 22:50:36 -0700 (PDT) -Received: from localhost (localhost [127.0.0.1]) - by megazone.bigpanda.com (Postfix) with ESMTP - id 624665C02; Thu, 19 Sep 2002 22:50:36 -0700 (PDT) -Date: Thu, 19 Sep 2002 22:50:36 -0700 (PDT) -From: Stephan Szabo -To: Mike Mascari -cc: Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8AB39B.80708@mascari.com> -Message-ID: <20020919224718.H36366-100000@megazone23.bigpanda.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +X-Virus-Scanned: by AMaViS new-20020517 +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-Virus-Scanned: by AMaViS new-20020517 +Status: RO On Fri, 20 Sep 2002, Mike Mascari wrote: @@ -8841,90 +8552,6 @@ various s) TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) -From pgsql-hackers-owner+M29184@postgresql.org Fri Sep 20 02:06:47 2002 -Return-path: -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K66jE24908 - for ; Fri, 20 Sep 2002 02:06:45 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id E6AB6476994; Fri, 20 Sep 2002 02:06:43 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 5626C4760AB; Fri, 20 Sep 2002 02:06:41 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 0BFDC475EEE - for ; Fri, 20 Sep 2002 02:05:04 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id BFD01475E83 - for ; Fri, 20 Sep 2002 02:05:02 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id CAA18737; - Fri, 20 Sep 2002 02:03:29 -0400 -Message-ID: <3D8ABA3F.6030002@mascari.com> -Date: Fri, 20 Sep 2002 02:03:43 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Stephan Szabo -cc: Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020919224718.H36366-100000@megazone23.bigpanda.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: ORr - -Stephan Szabo wrote: -> On Fri, 20 Sep 2002, Mike Mascari wrote: ->>Bruce Momjian wrote: ->>>Mike Mascari wrote: ->>>>Actually, looking at the pg_pwd code, you want to determine a ->>>>way for: ->>>> ->>>>1. Process 1 opens "foo" ->>>>2. Process 2 opens "foo" ->>>>3. Process 1 creates "bar" ->>>>4. Process 1 renames "bar" to "foo" ->>>>5. Process 2 can continue to read data from the open file handle ->>>>and get the original "foo" data. ->>> ->>> ->>>Yep, that's it. ->>> ->> ->>So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) ->>returns "Access Denied" when Process 1 attempts the rename. But ->>I'm continuing to investigate the possibilities... -> -> -> Does a sequence like -> Process 1 opens "foo" -> Process 2 opens "foo" -> Process 1 creates "bar" -> Process 1 renames "foo" to -> - where something is generated to not overlap an existing file -> Process 1 renames "bar" to "foo" -> Process 2 continues reading -> let you do the replace and keep reading (at the penalty that -> you've now got to have a way to know when to remove the -> various s) - -Yes! Indeed that does work. - -Mike Mascari -mascarm@mascari.com - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - From mascarm@mascari.com Fri Sep 20 02:04:41 2002 Return-path: Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) @@ -8948,7 +8575,7 @@ References: <20020919224718.H36366-100000@megazone23.bigpanda.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-MailScanner: Found to be clean -Status: OR +Status: RO Stephan Szabo wrote: > On Fri, 20 Sep 2002, Mike Mascari wrote: @@ -8991,57 +8618,6 @@ Mike Mascari mascarm@mascari.com -From sszabo@megazone23.bigpanda.com Fri Sep 20 02:14:23 2002 -Return-path: -Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K6EDE25582 - for ; Fri, 20 Sep 2002 02:14:21 -0400 (EDT) -Received: by megazone.bigpanda.com (Postfix, from userid 1001) - id B10E9D61E; Thu, 19 Sep 2002 23:14:14 -0700 (PDT) -Received: from localhost (localhost [127.0.0.1]) - by megazone.bigpanda.com (Postfix) with ESMTP - id A6B475C03; Thu, 19 Sep 2002 23:14:14 -0700 (PDT) -Date: Thu, 19 Sep 2002 23:14:14 -0700 (PDT) -From: Stephan Szabo -To: Mike Mascari -cc: Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8ABA3F.6030002@mascari.com> -Message-ID: <20020919230827.A36505-100000@megazone23.bigpanda.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Status: OR - -On Fri, 20 Sep 2002, Mike Mascari wrote: - -> Stephan Szabo wrote: -> > On Fri, 20 Sep 2002, Mike Mascari wrote: -> >>So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) -> >>returns "Access Denied" when Process 1 attempts the rename. But -> >>I'm continuing to investigate the possibilities... -> > -> > -> > Does a sequence like -> > Process 1 opens "foo" -> > Process 2 opens "foo" -> > Process 1 creates "bar" -> > Process 1 renames "foo" to -> > - where something is generated to not overlap an existing file -> > Process 1 renames "bar" to "foo" -> > Process 2 continues reading -> > let you do the replace and keep reading (at the penalty that -> > you've now got to have a way to know when to remove the -> > various s) -> -> Yes! Indeed that does work. - -Thinking back, I think that may still fail on Win95 (using MoveFile). -Once in the past I had to work on (un)installers for Win* and I -vaguely remember Win95 being more strict than Win98 but that may just -have been with moving the executable you're currently running. - - From pgsql-hackers-owner+M29185@postgresql.org Fri Sep 20 02:14:29 2002 Return-path: Received: from postgresql.org (postgresql.org [64.49.215.8]) @@ -9078,7 +8654,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO On Fri, 20 Sep 2002, Mike Mascari wrote: @@ -9109,98 +8685,6 @@ vaguely remember Win95 being more strict than Win98 but that may just have been with moving the executable you're currently running. ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29189@postgresql.org Fri Sep 20 03:22:41 2002 -Return-path: -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K7MdE01450 - for ; Fri, 20 Sep 2002 03:22:39 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 211C1476DAC; Fri, 20 Sep 2002 03:20:05 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D76C4475F73; Fri, 20 Sep 2002 03:18:20 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 8C2E0476D57 - for ; Fri, 20 Sep 2002 03:15:32 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id 5098F476839 - for ; Fri, 20 Sep 2002 03:15:26 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id DAA18894; - Fri, 20 Sep 2002 03:13:06 -0400 -Message-ID: <3D8ACA96.80504@mascari.com> -Date: Fri, 20 Sep 2002 03:13:26 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Stephan Szabo -cc: Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020919230827.A36505-100000@megazone23.bigpanda.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: ORr - -Stephan Szabo wrote: -> On Fri, 20 Sep 2002, Mike Mascari wrote: ->> ->>Yes! Indeed that does work. -> -> -> Thinking back, I think that may still fail on Win95 (using MoveFile). -> Once in the past I had to work on (un)installers for Win* and I -> vaguely remember Win95 being more strict than Win98 but that may just -> have been with moving the executable you're currently running. - -Well, here's the test: - -foo.txt contains "This is FOO!" -bar.txt contains "This is BAR!" - -Process 1 opens foo.txt -Process 2 opens foo.txt -Process 1 sleeps 7.5 seconds -Process 2 sleeps 15 seconds -Process 1 uses MoveFile() to rename "foo.txt" to "foo2.txt" -Process 1 uses MoveFile() to rename "bar.txt" to "foo.txt" -Process 1 uses DeleteFile() to remove "foo2.txt" -Process 2 awakens and displays "This is FOO!" - -On the filesystem, we then have: - -foo.txt containing "This is BAR!" - -The good news is that this works fine under NT 4 using just -MoveFile(). The bad news is that it requires the files be opened -using CreateFile() with the FILE_SHARE_DELETE flag set. The C -library which ships with Visual C++ 6 ultimately calls -CreateFile() via fopen() but with no opportunity through the -standard C library routines to use the FILE_SHARE_DELETE flag. -And the FILE_SHARE_DELETE flag cannot be used under Windows -95/98 (Bad Parameter). Which means, on those platforms, there -still doesn't appear to be a solution. Under NT/XP/2K, -AllocateFile() will have to modified to call CreateFile() -instead of fopen(). I'm not sure about ME, but I suspect it -behaves similarly to 95/98. - -Mike Mascari -mascarm@mascari.com - - - - - ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org @@ -9227,7 +8711,7 @@ References: <20020919230827.A36505-100000@megazone23.bigpanda.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-MailScanner: Found to be clean -Status: OR +Status: RO Stephan Szabo wrote: > On Fri, 20 Sep 2002, Mike Mascari wrote: @@ -9278,42 +8762,6 @@ mascarm@mascari.com -From tgl@sss.pgh.pa.us Fri Sep 20 10:28:40 2002 -Return-path: -Received: from sss.pgh.pa.us (root@[192.204.191.242]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KESbE13042 - for ; Fri, 20 Sep 2002 10:28:39 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.12.5/8.12.5) with ESMTP id g8KERq5D016068; - Fri, 20 Sep 2002 10:27:52 -0400 (EDT) -To: Stephan Szabo -cc: Mike Mascari , Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <20020919224718.H36366-100000@megazone23.bigpanda.com> -References: <20020919224718.H36366-100000@megazone23.bigpanda.com> -Comments: In-reply-to Stephan Szabo - message dated "Thu, 19 Sep 2002 22:50:36 -0700" -Date: Fri, 20 Sep 2002 10:27:52 -0400 -Message-ID: <16067.1032532072@sss.pgh.pa.us> -From: Tom Lane -Status: OR - -Stephan Szabo writes: -> ... let you do the replace and keep reading (at the penalty that -> you've now got to have a way to know when to remove the -> various s) - -That is the hard part. Mike's description omitted one crucial step: - -6. The old "foo" goes away when the last open file handle for it is -closed. - -I doubt there is any practical way for Postgres to cause that to happen -if the OS itself does not have any support for it. - - regards, tom lane - From pgsql-hackers-owner+M29205@postgresql.org Fri Sep 20 10:36:48 2002 Return-path: Received: from postgresql.org (postgresql.org [64.49.215.8]) @@ -9349,7 +8797,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Stephan Szabo writes: > ... let you do the replace and keep reading (at the penalty that @@ -9405,7 +8853,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO I don't think we are not going to be supporting Win9X so there isn't an @@ -9448,95 +8896,44 @@ Mike Mascari wrote: > Process 1 uses DeleteFile() to remove "foo2.txt" > Process 2 awakens and displays "This is FOO!" > -> On the filesystem, we then have: -> -> foo.txt containing "This is BAR!" -> -> The good news is that this works fine under NT 4 using just -> MoveFile(). The bad news is that it requires the files be opened -> using CreateFile() with the FILE_SHARE_DELETE flag set. The C -> library which ships with Visual C++ 6 ultimately calls -> CreateFile() via fopen() but with no opportunity through the -> standard C library routines to use the FILE_SHARE_DELETE flag. -> And the FILE_SHARE_DELETE flag cannot be used under Windows -> 95/98 (Bad Parameter). Which means, on those platforms, there -> still doesn't appear to be a solution. Under NT/XP/2K, -> AllocateFile() will have to modified to call CreateFile() -> instead of fopen(). I'm not sure about ME, but I suspect it -> behaves similarly to 95/98. -> -> Mike Mascari -> mascarm@mascari.com -> -> -> -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From mascarm@mascari.com Fri Sep 20 10:57:31 2002 -Return-path: -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KEvRE16100 - for ; Fri, 20 Sep 2002 10:57:29 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id KAA20019; - Fri, 20 Sep 2002 10:56:39 -0400 -Message-ID: <3D8B373C.7060102@mascari.com> -Date: Fri, 20 Sep 2002 10:57:00 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian -cc: Stephan Szabo , - PostgreSQL-development - -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209201431.g8KEVMg13344@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: ORr - -Bruce Momjian wrote: -> I don't think we are not going to be supporting Win9X so there isn't an -> issue there. We will be supporting Win2000/NT/XP. +> On the filesystem, we then have: > -> I don't understand FILE_SHARE_DELETE. I read the description at: +> foo.txt containing "This is BAR!" > -> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp +> The good news is that this works fine under NT 4 using just +> MoveFile(). The bad news is that it requires the files be opened +> using CreateFile() with the FILE_SHARE_DELETE flag set. The C +> library which ships with Visual C++ 6 ultimately calls +> CreateFile() via fopen() but with no opportunity through the +> standard C library routines to use the FILE_SHARE_DELETE flag. +> And the FILE_SHARE_DELETE flag cannot be used under Windows +> 95/98 (Bad Parameter). Which means, on those platforms, there +> still doesn't appear to be a solution. Under NT/XP/2K, +> AllocateFile() will have to modified to call CreateFile() +> instead of fopen(). I'm not sure about ME, but I suspect it +> behaves similarly to 95/98. > -> but I don't understand it: +> Mike Mascari +> mascarm@mascari.com +> +> +> +> +> +> ---------------------------(end of broadcast)--------------------------- +> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -> FILE_SHARE_DELETE - Windows NT/2000/XP: Subsequent open operations on -> the object will succeed only if delete access is requested. - -I think that's a rather poor description. I think it just means -that if the file is opened once via CreateFile() with -FILE_SHARE_DELETE, then any subsequent CreateFile() calls will -fail unless they too have FILE_SHARE_DELETE. In other words, if -one of us can delete this file while its open, any of us can. - -Mike Mascari -mascarm@mascari.com - +-- + Bruce Momjian | http://candle.pha.pa.us + pgman@candle.pha.pa.us | (610) 359-1001 + + If your life is a hard drive, | 13 Roberts Road + + Christ can be your backup. | Newtown Square, Pennsylvania 19073 +---------------------------(end of broadcast)--------------------------- +TIP 6: Have you searched our list archives? +http://archives.postgresql.org From pgsql-hackers-owner+M29208@postgresql.org Fri Sep 20 11:30:26 2002 Return-path: @@ -9579,7 +8976,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Bruce Momjian wrote: > I don't think we are not going to be supporting Win9X so there isn't an @@ -9646,7 +9043,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: > Bruce Momjian wrote: @@ -9676,73 +9073,6 @@ I don't understand what that gets us. + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M29210@postgresql.org Fri Sep 20 11:26:52 2002 -Return-path: -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFQoE24268 - for ; Fri, 20 Sep 2002 11:26:51 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 7ED2C476E31; Fri, 20 Sep 2002 11:25:32 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 89A6C476E66; Fri, 20 Sep 2002 11:25:18 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 4033C476DD3 - for ; Fri, 20 Sep 2002 11:11:44 -0400 (EDT) -Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by postgresql.org (Postfix) with ESMTP id A46C9476D7C - for ; Fri, 20 Sep 2002 11:11:43 -0400 (EDT) -Received: by megazone.bigpanda.com (Postfix, from userid 1001) - id 5F343D61C; Fri, 20 Sep 2002 08:10:19 -0700 (PDT) -Received: from localhost (localhost [127.0.0.1]) - by megazone.bigpanda.com (Postfix) with ESMTP - id 54E705C02; Fri, 20 Sep 2002 08:10:19 -0700 (PDT) -Date: Fri, 20 Sep 2002 08:10:19 -0700 (PDT) -From: Stephan Szabo -To: Mike Mascari -cc: Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8B373C.7060102@mascari.com> -Message-ID: <20020920080949.H40440-100000@megazone23.bigpanda.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: OR - -On Fri, 20 Sep 2002, Mike Mascari wrote: - -> Bruce Momjian wrote: -> > I don't think we are not going to be supporting Win9X so there isn't an -> > issue there. We will be supporting Win2000/NT/XP. -> > -> > I don't understand FILE_SHARE_DELETE. I read the description at: -> > -> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp -> > -> > but I don't understand it: -> > -> > FILE_SHARE_DELETE - Windows NT/2000/XP: Subsequent open operations on -> > the object will succeed only if delete access is requested. -> -> I think that's a rather poor description. I think it just means -> that if the file is opened once via CreateFile() with -> FILE_SHARE_DELETE, then any subsequent CreateFile() calls will -> fail unless they too have FILE_SHARE_DELETE. In other words, if -> one of us can delete this file while its open, any of us can. - -The question is, what happens if two people have the file open -and one goes and tries to delete it? Can the other still read -from it? - - ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster @@ -9769,7 +9099,7 @@ In-Reply-To: <3D8B373C.7060102@mascari.com> Message-ID: <20020920080949.H40440-100000@megazone23.bigpanda.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII -Status: OR +Status: RO On Fri, 20 Sep 2002, Mike Mascari wrote: @@ -9797,49 +9127,6 @@ and one goes and tries to delete it? Can the other still read from it? -From JanWieck@Yahoo.com Fri Sep 20 11:36:53 2002 -Return-path: -Received: from smtp017.mail.yahoo.com (smtp017.mail.yahoo.com [216.136.174.114]) - by candle.pha.pa.us (8.11.6/8.10.1) with SMTP id g8KFalE25760 - for ; Fri, 20 Sep 2002 11:36:52 -0400 (EDT) -Received: from psc.progress.com (HELO Yahoo.com) (janwieck@192.233.92.200 with plain) - by smtp.mail.vip.sc5.yahoo.com with SMTP; 20 Sep 2002 15:36:41 -0000 -Message-ID: <3D8B4087.AF0CD803@Yahoo.com> -Date: Fri, 20 Sep 2002 11:36:39 -0400 -From: Jan Wieck -Organization: Home -X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) -X-Accept-Language: en,ru -MIME-Version: 1.0 -To: Mike Mascari -cc: Stephan Szabo , - Bruce Momjian , - PostgreSQL-development -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020919230827.A36505-100000@megazone23.bigpanda.com> <3D8ACA96.80504@mascari.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Status: OR - -Mike Mascari wrote: - -> instead of fopen(). I'm not sure about ME, but I suspect it -> behaves similarly to 95/98. - -I just checked with Katie and the good news (tm) is that the Win32 port -we did here at PeerDirect doesn't support 95/98 and ME anyway. It does -support NT4, 2000 and XP. So don't bother. - - -Jan - --- - -#======================================================================# -# It's easier to get forgiveness for being wrong than for being right. # -# Let's break this rule - forgive me. # -#================================================== JanWieck@Yahoo.com # - From pgsql-hackers-owner+M29216@postgresql.org Fri Sep 20 11:45:47 2002 Return-path: Received: from postgresql.org (postgresql.org [64.49.215.8]) @@ -9878,7 +9165,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: @@ -9942,7 +9229,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Stephan Szabo wrote: > On Fri, 20 Sep 2002, Mike Mascari wrote: @@ -9986,132 +9273,6 @@ mascarm@mascari.com ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -From mascarm@mascari.com Fri Sep 20 11:55:47 2002 -Return-path: -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFthE27924 - for ; Fri, 20 Sep 2002 11:55:45 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id LAA20244; - Fri, 20 Sep 2002 11:54:31 -0400 -Message-ID: <3D8B44CC.6070802@mascari.com> -Date: Fri, 20 Sep 2002 11:54:52 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Stephan Szabo -cc: Bruce Momjian , - PostgreSQL-development - -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020920080949.H40440-100000@megazone23.bigpanda.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: OR - -Stephan Szabo wrote: -> On Fri, 20 Sep 2002, Mike Mascari wrote: -> -> ->>I think that's a rather poor description. I think it just means ->>that if the file is opened once via CreateFile() with ->>FILE_SHARE_DELETE, then any subsequent CreateFile() calls will ->>fail unless they too have FILE_SHARE_DELETE. In other words, if ->>one of us can delete this file while its open, any of us can. -> -> -> The question is, what happens if two people have the file open -> and one goes and tries to delete it? Can the other still read -> from it? - -Yes. I just tested it and it worked. I'll test Bruce's scenario -as well: - -foo contains: "FOO" -bar contains: "BAR" - -1. Process 1 opens "foo" -2. Process 2 opens "foo" -3. Process 1 calls MoveFile("foo", "foo2"); -4. Process 3 opens "foo" <- Successful? -5. Process 1 calls MoveFile("bar", "foo"); -6. Process 4 opens "foo" <- Successful? -7. Process 1 calls DeleteFile("foo2"); -8. Process 1, 2, 3, 4 all read from their respective handles. - -I think the thing to worry about is a race condition between the -two MoveFile() attempts. A very ugly hack would be to loop in a -CreateFile() in an attempt to open "foo", giving up if the error -is not a NOT EXISTS error code. - -Mike Mascari -mascarm@mascari.com - - -From mascarm@mascari.com Fri Sep 20 12:29:18 2002 -Return-path: -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KGTEE01796 - for ; Fri, 20 Sep 2002 12:29:17 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id MAA20365; - Fri, 20 Sep 2002 12:27:10 -0400 -Message-ID: <3D8B4C74.2050708@mascari.com> -Date: Fri, 20 Sep 2002 12:27:32 -0400 -From: Mike Mascari -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: PostgreSQL-development -cc: Stephan Szabo , - Bruce Momjian - -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020920080949.H40440-100000@megazone23.bigpanda.com> <3D8B44CC.6070802@mascari.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: ORr - -I wrote: -> Stephan Szabo wrote: - >> ->> The question is, what happens if two people have the file open ->> and one goes and tries to delete it? Can the other still read ->> from it? -> -> Yes. I just tested it and it worked. I'll test Bruce's scenario as well: -> -> foo contains: "FOO" -> bar contains: "BAR" -> -> 1. Process 1 opens "foo" -> 2. Process 2 opens "foo" -> 3. Process 1 calls MoveFile("foo", "foo2"); -> 4. Process 3 opens "foo" <- Successful? -> 5. Process 1 calls MoveFile("bar", "foo"); -> 6. Process 4 opens "foo" <- Successful? -> 7. Process 1 calls DeleteFile("foo2"); -> 8. Process 1, 2, 3, 4 all read from their respective handles. - -Process 1: "FOO" -Process 2: "FOO" -Process 3: Error - File does not exist -Process 4: "BAR" - -Its interesting in that it allows for Unix-style rename() and -unlink() behavior, but with a race condition. Without Stephan's -two MoveFile() trick and the FILE_SHARE_DELETE flag, however, -the result would be Access Denied. Are the places in the backend -that use rename() and unlink() renaming and unlinking files that -are only opened for a brief moment by other backends? - -Mike Mascari -mascarm@mascari.com - - From pgsql-hackers-owner+M29230@postgresql.org Fri Sep 20 13:12:45 2002 Return-path: Received: from postgresql.org (postgresql.org [64.49.215.8]) @@ -10150,7 +9311,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: ORr +Status: ROr I wrote: > Stephan Szabo wrote: @@ -10230,7 +9391,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: > Its interesting in that it allows for Unix-style rename() and @@ -10289,7 +9450,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Mike Mascari wrote: > > foo contains: "FOO" @@ -10373,7 +9534,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO It is good that moving the file out of the way works, but it doesn't @@ -10475,7 +9636,7 @@ Comments: In-reply-to Bruce Momjian Date: Fri, 20 Sep 2002 11:50:17 -0400 Message-ID: <16739.1032537017@sss.pgh.pa.us> From: Tom Lane -Status: ORr +Status: ROr Bruce Momjian writes: > I think we may be best just looping on MoveFileEx() until is succeeds. @@ -10529,7 +9690,7 @@ X-Virus-Scanned: by AMaViS new-20020517 Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org X-Virus-Scanned: by AMaViS new-20020517 -Status: OR +Status: RO Tom Lane wrote: > Bruce Momjian writes: diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index f20a8931e3..fd70e6ac79 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ @@ -1858,16 +1858,6 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir' - - STATEMENT_TIMEOUT (integer) - - - Aborts any statement that takes over the specified number of - milliseconds. A value of zero turns off the timer. - - - - SHARED_BUFFERS (integer) @@ -1958,6 +1948,16 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir' + + STATEMENT_TIMEOUT (integer) + + + Aborts any statement that takes over the specified number of + milliseconds. A value of zero turns off the timer. + + + + SUPERUSER_RESERVED_CONNECTIONS (integer)