On Wed, Sep 13, 2017 at 1:27 PM, Amit Langote <langote_amit...@lab.ntt.co.jp> wrote: > On 2017/09/13 16:42, Ashutosh Bapat wrote: >> On Wed, Sep 13, 2017 at 7:49 AM, Amit Langote wrote: >>> In the attached updated patch, I created separate .source files in >>> src/test/regress/input and output directories called fdw_handler.source >>> and put the test_fdw_handler function definition there. When I had >>> originally thought of it back when I wrote the patch, it seemed to be an >>> overkill, because we're just normally defining a single C function there >>> to be used in the newly added foreign_data tests. In any case, we need to >>> go the .source file way, because that's the only way to refer to paths to >>> .so library when defining C language functions. >> >> It still looks like an overkill to add a new file to define a dummy >> FDW handler. Why do we need to define a handler as a C function? Can't >> we define handler as a SQL function. If we could do that we could add >> the function definition in foreign_data.sql itself. > > I guess that's because the last time I tried to define the handler as a > SQL function, I couldn't: > > create function test_fdw_handler() returns fdw_handler as '' language sql; > ERROR: SQL functions cannot return type fdw_handler > > fdw_handler is a pseudo-type, which neither SQL nor plpgsql function can > return. > > Am I missing something?
Ok. May be then create_function_1.sql is the right place. Just add it to the section of passing tests and annotate that it's testing creating an FDW handler. Sorry for jumping back and forth. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers