Hi All,

I am getting an error I do not understand from the following setup

CREATE TABLE timesheet_booking
(
 timesheet_booking_id bigserial NOT NULL,
 operator_id integer,
 booking_item_id integer,
 "day" date NOT NULL,
 minutes integer NOT NULL,
 CONSTRAINT timesheet_booking_pkey PRIMARY KEY (timesheet_booking_id),
CONSTRAINT timesheet_booking_booking_item_id_fkey FOREIGN KEY (booking_item_id)
     REFERENCES booking_item (booking_item_id) MATCH SIMPLE
     ON UPDATE NO ACTION ON DELETE CASCADE,
 CONSTRAINT timesheet_booking_operator_id_fkey FOREIGN KEY (operator_id)
     REFERENCES "operator" (operator_id) MATCH SIMPLE
     ON UPDATE NO ACTION ON DELETE SET NULL
)
WITHOUT OIDS;


CREATE UNIQUE INDEX timesheet_booking_unique_idx
 ON timesheet_booking
 USING btree
 (operator_id, booking_item_id, "day");

Now the timesheet booking contains the following data:

timesheet_booking_id, operator_id,booking_item_id,day,minutes
2;284;1;"2007-01-18";10
4;284;2;"2007-01-18";10

If I try the following query:
   delete from operator where operator_id=283;
I get the following error message:

ERROR: could not open relation with OID 438427
SQL state: XX000
Context: SQL statement "UPDATE ONLY "public"."timesheet_booking" SET "operator_id" = NULL WHERE "operator_id" = $1"

If I try this sql statement directly it works OK. What does this error mean and how can I get rid of it?

Thanks
Howard.

---------------------------(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

Reply via email to