From: | "wangshj" <wangshj(at)sduept(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #2103: System column oid is not unique |
Date: | 2005-12-09 08:04:37 |
Message-ID: | 20051209080437.59E20F0B80@svr2.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged online:
Bug reference: 2103
Logged by: wangshj
Email address: wangshj(at)sduept(dot)com
PostgreSQL version: 8.1.0
Operating system: CentOS 4
Description: System column oid is not unique
Details:
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?
From | Date | Subject | |
---|---|---|---|
Next Message | Kasahara Kenichi | 2005-12-09 10:02:32 | Re: There is a doubt of fatal bug on PostgreSQL 8.0.4. |
Previous Message | Tom.Zschockelt | 2005-12-09 07:33:33 | Re: BUG #2099: too many private dirs ? |