| From: | Michael Fuhr <mike(at)fuhr(dot)org> | 
|---|---|
| To: | pginfo <pginfo(at)t1(dot)unisoftbg(dot)com> | 
| Cc: | Richard_D_Levine(at)raytheon(dot)com, Michael Glaesemann <grzm(at)myrealbox(dot)com>, pgsql-sql(at)postgresql(dot)org, pgsql-sql-owner(at)postgresql(dot)org | 
| Subject: | Re: pg primary key bug? | 
| Date: | 2005-02-17 16:40:13 | 
| Message-ID: | 20050217164013.GA26345@winnie.fuhr.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-sql | 
On Thu, Feb 17, 2005 at 04:12:38PM +0100, pginfo wrote:
> 01=# select * from a_constants_str where constname='DOCPLAID' ;
> constname | fid | constvalue
> -----------+-----+------------
> DOCPLAID  |   0 | SOF_19738
> DOCPLAID  |   0 | SOF_19738
> (2 rows)
Do you have any inherited tables?  What's the result of the following
query?
SELECT tableoid::regclass, *
FROM a_constants_str
WHERE constname = 'DOCPLAID';
Inherited tables are documented to have deficiencies regarding
constraints.  Observe:
CREATE TABLE parent (
    constname   varchar(30) NOT NULL,
    fid         integer NOT NULL,
    constvalue  varchar(30),
    PRIMARY KEY (constname, fid)
);  
 
CREATE TABLE child () INHERITS (parent);
INSERT INTO parent VALUES ('DOCPLAID', 0, 'SOF_19738');
INSERT INTO parent VALUES ('DOCPLAID', 0, 'SOF_19738');
ERROR:  duplicate key violates unique constraint "parent_pkey"
INSERT INTO child VALUES ('DOCPLAID', 0, 'SOF_19738');
SELECT tableoid::regclass, * FROM parent;
 tableoid | constname | fid | constvalue 
----------+-----------+-----+------------
 parent   | DOCPLAID  |   0 | SOF_19738
 child    | DOCPLAID  |   0 | SOF_19738
(2 rows)
-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | pginfo | 2005-02-17 16:41:51 | Re: pg primary key bug? | 
| Previous Message | pginfo | 2005-02-17 16:01:38 | Re: pg primary key bug? |