On Fri, 08 Jul 2022 09:44:10 +0900 (JST) Kyotaro Horiguchi <horikyota....@gmail.com> wrote:
> At Fri, 8 Jul 2022 01:06:18 +0900, Fujii Masao <masao.fu...@oss.nttdata.com> > wrote in > > > > > > On 2022/07/08 0:33, Tom Lane wrote: > > > Fujii Masao <masao.fu...@oss.nttdata.com> writes: > > >> On 2022/06/30 10:48, Yugo NAGATA wrote: > > >>> When a foreign table has handler but doesn't support TRUNCATE, > > >>> an error "cannot truncate foreign table xxx" occurs. So, what > > >>> about adding a test this message output? We can add this test > > >>> for file_fdw because it is one of the such foreign data wrappers. > > > > > >> Thanks for the patch! It looks good to me. > > >> I changed the status of this patch to ready-for-committer, > > >> and will commit it barring any objeciton. > > > This seems like a fairly pointless expenditure of test cycles > > > to me. Perhaps more importantly, what will you do when > > > somebody adds truncate support to that FDW? > > As Fujii-san mentioned below, file_fdw has tests for INSERT/UPDATE and > DELETE. If somebody added DELETE to file_fdw, the test for DELETE > rejection would be turned into a normal test of the DELETE function. > I don't see a difference between TRUNCATE and other updating commands > from this point of view. > > > One idea is to create dummy FDW (like foreign_data.sql regression test > > does) not supporting TRUNCATE and use it for the test. > > I think the proposed test is not that for FDW framework, but for a > specific FDW module, file_fdw. Yes, the patch is an improvement for the test of flie_fdw. If we want to test foreign table modifications for the FDW framework, we will have to add such tests in foreign_data.sql, because foreign table modifications are tested only for postgres_fdw and file_fdw. > > BTW, file_fdw already has the similar test cases for INSERT, UPDATE > > and DELETE, as follows. > > > > -- updates aren't supported > > INSERT INTO agg_csv VALUES(1,2.0); > > ERROR: cannot insert into foreign table "agg_csv" > > UPDATE agg_csv SET a = 1; > > ERROR: cannot update foreign table "agg_csv" > > DELETE FROM agg_csv WHERE a = 100; > > ERROR: cannot delete from foreign table "agg_csv" > > Agreed. > > regards. > > -- > Kyotaro Horiguchi > NTT Open Source Software Center Regards, Yugo Nagata -- Yugo NAGATA <nag...@sraoss.co.jp>