Skip site navigation (1) Skip section navigation (2)

Re: [PATCHES] Tablespace for temporary objects and sort files

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Albert Cervera Areny" <albertca(at)hotpop(dot)com>
Cc: pgsql-patches(at)postgresql(dot)org, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
Subject: Re: [PATCHES] Tablespace for temporary objects and sort files
Date: 2007-01-15 04:16:10
Message-ID: c2d9e70e0701142016y64e1c99cj993e75414a63c3cd@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-patches
On 1/13/07, Albert Cervera Areny <albertca(at)hotpop(dot)com> wrote:
> It was already possible to set the guc on postgresql.conf when I posted the
> patch...
>

ok... fixed... the problem was that this code only let
num_temp_tablespaces be greater than zero when we are in an
interactive command (eg. a SET command) but setting the guc from
postgresql.conf at startup time is not interactive so
num_temp_tablespaces is zero and when i try to get the first temp
tablespace to use (MyProcPid % num_temp_tablespaces) causes a floatin
exception (division by zero).

+   if (source >= PGC_S_INTERACTIVE && IsTransactionState())
+   {
+       /*
+        * Verify that all the names are valid tablspace names
+        * We do not check for USAGE rights should we?
+        */
+       foreach(l, namelist)
+       {
+           char       *curname = (char *) lfirst(l);
+
+           if (get_tablespace_oid(curname) == InvalidOid)
+               ereport((source == PGC_S_TEST) ? NOTICE : ERROR,
+                       (errcode(ERRCODE_UNDEFINED_OBJECT),
+                       errmsg("tablespace \"%s\" does not exist", curname)));
+
+           num_temp_tablespaces++;
+       }
+   }


new patch added, with that piece of code refactored to let
num_temp_tablespaces get a value greater than zero always that the guc
is setted, i also add some docs.

the patch passes all 104 regression tests and all my tests as well...

i think the patch is ready to be applied to HEAD, any committer want
to review it?

-- 
regards,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
                                       Richard Cook

Attachment: temp_tablespaces-1.2.diff
Description: text/plain (14.7 KB)

In response to

Responses

pgsql-patches by date

Next:From: ITAGAKI TakahiroDate: 2007-01-15 08:36:09
Subject: O_DIRECT support for Windows
Previous:From: Matthew T. O'ConnorDate: 2007-01-14 22:49:27
Subject: Re: Autovacuum improvements

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group