hello again everyone,
        
        I seem to have hit what i -think- may be a bug (but i am not crying
wolf jst yet ;).

        I have three tables. action, client and order_details. action has a primary
key 'order', client references action (along with adding the client_id as 
part of its primary key), order_details references client (both parts of the 
primary key there). all foreign keys (order in client and order+client_id in
order_details) are set to INITIALLY DEFERRED. so far so good i hope.

        Now, i have a trigger that fires on insert, so i delete from the live 
database and then insert the changes rather than doing an update. not 
great, but shouldnt be a problem.

        The problem comes when i do this:
        
        mms_post=# BEGIN;
        BEGIN
        mms_post=# DELETE from client WHERE order_id = 22;
        DELETE 1
        mms_post=# INSERT INTO client 
        mms_post-#(cli_business_name,cli_chain_id,cli_business_type,cli_short_name,cl
i_sic,order_id,client_id,cli_agent_bank_id,cli_operating_name,creation_id,cli_
web_page,cli_tcc,creation_date)
        mms_post-# VALUES ('STEFS','100-000000000333',1,'FHASDLKJH HFAKSDJ 
HKALSDJ',2534,22,'100-00000000555',230,'FHASDLKJH HFAKSDJ 
HKALSDJFH','jack','[EMAIL PROTECTED]','R','2001-06-18 13:46:45-04');
        INSERT 24211 1
        mms_post=# COMMIT;
        ERROR:  <unnamed> referential integrity violation - key in client still 
referenced from order_details

        
        Now. the way i understand it, shouldnt the integrity of any foreign keys
be checked at the -end- of the transaction, after all the commands have been
processed ? it seems that the DELETE is being processed and rejected, but
the foreign key would be 'okay' due to the following INSERT.  I have tried 
SET CONSTRAINTS as well with no difference :\

        Does this make any sense or am i completely mad ? (more than likely)

        regards,
        Stefs.

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to