Yes, it works. Thanks.

I will just have to alter some 50 scripts, but that's better than
having to revert my DBs (~18 GB) to 7.2.3 while waiting for 7.4.

On Wed, Dec 25, 2002 at 10:58:41PM -0500, Bruce Momjian wrote:
> 
> This is a known problem with 7.3.X.  It doesn't create an oid column as
> part of SELECT INTO ....
> 
> We have a TODO item:
> 
>       * Fix SELECT ... INTO and CREATE TABLE AS to have appopriate OID column
> 
> so this will be fixed, hopefully in 7.4.  We couldn't fix it in 7.3.X
> without causing more serious problems.  If you specify the oid column as
> part of the SELECT INTO, it will take the oid from the original table
> and put it in your new table.  Does that help you?
> 
> ---------------------------------------------------------------------------
> 
> [EMAIL PROTECTED] wrote:
> > jmm ([EMAIL PROTECTED]) reports a bug with a severity of 2
> > The lower the number the more severe it is.
> > 
> > Short Description
> > [7.3] Attribute oid not found in a temporary table creted by a SELECT
> > 
> > Long Description
> > I ran on a problem today while running a SQL script that used
> > to perfectly run from 7.0.2 to 7.2.3.
> > 
> > (I dont know if it is exactly a bug or an intended design change as
> > searchable online 7.3 docs are still not yet available. I browsed
> > through the locally installed without success).
> > 
> > In this SQL script, I create a temporary table with two columns from
> > another table where I poured all data collected from various sources.
> > My aim is to elmiminate doublons (id is a unique identifier in the
> > finally resulting table). Therefore I take the max oid for each
> > distinct id from the original table and do deletion for all rows
> > with same id and oids lower than max oid. I do this on a temporary
> > table processing it by chunks of 1000 ids for processing time reasons. 
> > 
> > It is quite simplistic way of doing it, but it used to work and does
> > not any longer with 7.3. Temporary tables do have select table oids
> > when explicitely created insted of using SELECT INTO.
> > 
> > Sample Code
> > toto=# create table toto (f1 integer, f2 integer) ;
> > CREATE TABLE
> > toto=# insert into toto values (1,2);
> > INSERT 69204710 1
> > toto=# insert into toto values (3,4);
> > INSERT 69204711 1
> > toto=# select * into temp table titi from toto ;
> > SELECT
> > toto=# select oid from titi ;
> > ERROR:  Attribute "oid" not found
> > 
> > toto=# create temp table titi (f1 integer, f2 integer) ;
> > ERROR:  Relation 'titi' already exists
> > toto=# create temp table tutu (f1 integer, f2 integer) ;
> > CREATE TABLE
> > toto=# insert into tutu select * from toto ;
> > INSERT 0 2
> > toto=# select oid from tutu ;
> >    oid
> > ----------
> >  69204716
> >  69204717
> > (2 rows)
> > 
> > 
> > No file was uploaded with this report
> > 
> > 
> > ---------------------------(end of broadcast)---------------------------
> > TIP 4: Don't 'kill -9' the postmaster
> > 
> 
> -- 
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   [EMAIL PROTECTED]               |  (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 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to