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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Serious bug in edit grid?



When editing my table contents multiple rows wiht the same value all get changed.
 
Table design:
 
CREATE TABLE customer_service_attributes
(
  customer_service_attribute_id int4 NOT NULL DEFAULT nextval('public.cust_srv_features_customer_service_attributes_seq'::text),
  _service_id int4 NOT NULL, -- This can be derrived from the attrib ID, but is also here to make queries easier.
  service_attr_id int4 NOT NULL,
  _customer_id int4 NOT NULL,
  customer_service_id int4 NOT NULL,
  value text NOT NULL,
  CONSTRAINT customer_service_attributes_pkey PRIMARY KEY (customer_service_attribute_id),
  CONSTRAINT customer_service_attributes_customer_id_fkey FOREIGN KEY (_customer_id)
      REFERENCES customer (customer_id) MATCH SIMPLE
      ON UPDATE RESTRICT ON DELETE RESTRICT,
  CONSTRAINT customer_service_attributes_customer_service_id_fkey FOREIGN KEY (customer_service_id)
      REFERENCES customer_services (customer_service_id) MATCH SIMPLE
      ON UPDATE RESTRICT ON DELETE RESTRICT,
  CONSTRAINT customer_service_attributes_service_attr_id_fkey FOREIGN KEY (service_attr_id)
      REFERENCES service_attribute (service_attr_id) MATCH SIMPLE
      ON UPDATE RESTRICT ON DELETE RESTRICT,
  CONSTRAINT customer_service_attributes_service_id_fkey FOREIGN KEY (_service_id)
      REFERENCES service (service_id) MATCH SIMPLE
      ON UPDATE RESTRICT ON DELETE RESTRICT
)
WITHOUT OIDS;
 
 
When editing the value feild in rows in the grid changing value x to y, all rows with value x become y. Looking in the query log shows the following
 
STATEMENT:  UPDATE customer_service_attributes SET value='y'::pg_catalog.text WHERE value = 'x'::pg_catalog.text
 
Shouldn't this be refrencing the primary key of customer_service_attribute_id in the where clause? as in
 
STATEMENT:  UPDATE customer_service_attributes SET value='y'::pg_catalog.text WHERE customer_service_attribute_id = 620
 
 
Am I doing something wrong or is there a massive bug here??
 
 
Please reply or cc to this address, I'm not subscribed to this list.


Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group