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

pgsql8.1: About COPY Command and system clomn oid

From: wangshj <wangshj(at)sduept(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: pgsql8.1: About COPY Command and system clomn oid
Date: 2005-12-09 06:59:24
Message-ID: dnba38$17v1$1@news.hub.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following is my test.

oidtest=# CREATE TABLE oidtest( name text ) WITH OIDS;
CREATE TABLE
oidtest=# INSERT INTO oidtest ( name ) VALUES( 'name1' ) ;
INSERT 54512 1
oidtest=# COPY oidtest (name) WITH OIDS FROM stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 54513        copyname
>> \.
oidtest=# INSERT INTO oidtest ( name ) VALUES( 'name2' ) ;
INSERT 54513 1
oidtest=# SELECT oid,name from oidtest ;
  oid  |   name
-------+----------
 54512 | name1
 54513 | copyname
 54513 | name2
(3 rows)

oidtest=#
Then I got two records with same oid(54513).

In the second test, I created two tables and added primary key (oid) to
them. As below:

oidtest=# CREATE TABLE oidtestpk (name text, PRIMARY KEY (oid) ) WITH OIDS ;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"oidtestpk_pkey" for table "oidtestpk"
CREATE TABLE
oidtest=# CREATE TABLE oidtestpk_another (name text, PRIMARY KEY (oid) )
WITH OIDS ;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"oidtestpk_another_pkey" for table "oidtestpk_another"
CREATE TABLE
oidtest=# INSERT INTO oidtestpk(name) VALUES ('name0');
INSERT 54562 1
oidtest=# COPY oidtestpk(name) WITH OIDS FROM stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 54564        copyname64
>> \.
oidtest=# INSERT INTO oidtestpk_another(name) VALUES ('name63');
INSERT 54563 1
oidtest=# INSERT INTO oidtestpk_another(name) VALUES ('name64');
INSERT 54564 1
oidtest=# SELECT oid,name FROM oidtestpk where oid=54564;
  oid  |    name
-------+------------
 54564 | copyname64
(1 row)

oidtest=# SELECT oid,name FROM oidtestpk_another where oid=54564;
  oid  |  name
-------+--------
 54564 | name64
(1 row)

And then I got records with same oid(54564).
Is it a bug?
...

Responses

pgsql-bugs by date

Next:From: Tom.ZschockeltDate: 2005-12-09 07:33:33
Subject: Re: BUG #2099: too many private dirs ?
Previous:From: Brent ReidDate: 2005-12-08 21:47:31
Subject: BUG #2102: Backend reports wrong number of affected rows for a table that uses rules

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