vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| The following bug has been logged online: Bug reference: 2103 Logged by: wangshj Email address: wangshj@sduept.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? ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| ||||
| "wangshj" <wangshj@sduept.com> writes: > Description: System column oid is not unique There isn't, and never has been nor will be, any promise that it is, except to the extent that uniqueness is enforced by a unique index on a particular table. OID is just a kind of serial sequence generator. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| Thread Tools | |
| Display Modes | |
|
|