Re: Supporting MERGE on updatable views
От | jian he |
---|---|
Тема | Re: Supporting MERGE on updatable views |
Дата | |
Msg-id | CACJufxFzVZNFPALo+iYZX9Jsz-=JK8U=eBYUTvE0DGNqAeFP4w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Supporting MERGE on updatable views (Dean Rasheed <dean.a.rasheed@gmail.com>) |
Ответы |
Re: Supporting MERGE on updatable views
|
Список | pgsql-hackers |
hi. Excellent work! regress test passed! The code looks so intuitive! doc/src/sgml/ref/create_view.sgml. Do we need to add <<command>MERGE</command> for the following sentence? If the view or any of its base relations has an <literal>INSTEAD</literal> rule that causes the <command>INSERT</command> or <command>UPDATE</command> command to be rewritten, then all check options will be ignored in the rewritten query, including any checks from automatically updatable views defined on top of the relation with the <literal>INSTEAD</literal> rule. in src/backend/executor/nodeModifyTable.c line 3800: ExecModifyTable ` datum = ExecGetJunkAttribute(slot,resultRelInfo->ri_RowIdAttNo,&isNull); ..... oldtupdata.t_data = DatumGetHeapTupleHeader(datum); oldtupdata.t_len = HeapTupleHeaderGetDatumLength(oldtupdata.t_data); ` In ExecGetJunkAttribute(slot,resultRelInfo->ri_RowIdAttNo,&isNull); does resultRelInfo->ri_RowIdAttNo must be 1 to make sure DatumGetHeapTupleHeader(datum) works? (I am not familiar with this part.....)
В списке pgsql-hackers по дате отправления: