Search Postgresql Archives

to know what columns are getting updated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have bunch of rules created for tables to implement upsert functionality.      My problem is our tables gets updated from multiple places ,  non –necessarily with the same no of columns. I want to figure out  columns are being asked to be updated 

E.g. The rule for the the table base-table is 

CREATE OR REPLACE RULE base-table-rule  AS
    ON INSERT TO base-table
   WHERE (EXISTS ( SELECT 1
           FROM base-table
          WHERE bas-table::x1 = new.x1  )) 
      DO INSTEAD  UPDATE base-table  SET x1=new.x1,x2=new.x2,x3 =new.x3,x4=new.x4
  WHERE base-table.x1= new.x1;



1) user 1 comes with the below insert
 Insert into base-table(x1,x2,x3,x4) values(v1,v2,v3,v4);

2) user 2 comes with the below insert
Insert into base-table(x1,x2) values(v1,v2);

Since user 2 uses only x1 and x2 as its column the rule replaces x3 and x4 with null. 

Is there a way to figure out that only x1 and x2 is being asked for an updating. In the above example column x1 is the primary key.

Thanks,

Sajeev


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux