Re: CustomScan in a larger structure (RE: CustomScan support on readfuncs.c)
От | Kohei KaiGai |
---|---|
Тема | Re: CustomScan in a larger structure (RE: CustomScan support on readfuncs.c) |
Дата | |
Msg-id | CADyhKSWcHPAMhiaBnJ-ZnAzRzy_0MDbbvuFz_sn5V0axKW2j8Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: CustomScan in a larger structure (RE: CustomScan support on readfuncs.c) (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
2016-02-13 0:11 GMT+09:00 Robert Haas <robertmhaas@gmail.com>: > On Fri, Feb 12, 2016 at 9:56 AM, Andres Freund <andres@anarazel.de> wrote: >> On 2016-02-10 23:26:20 -0500, Robert Haas wrote: >>> I think the part about whacking around the FDW API is a little more >>> potentially objectionable to others, so I want to hold off doing that >>> unless a few more people chime in with +1. Perhaps we could start a >>> new thread to talk about that specific idea. This is useful even >>> without that, though. >> >> FWIW, I can delete a couple hundred lines of code from citusdb thanks to >> this... >> >> A quick questions about what you committed: >> >>> @@ -527,10 +532,17 @@ extern PGDLLIMPORT Node *newNodeMacroHolder; >>> */ >>> extern char *nodeToString(const void *obj); >>> >>> +struct Bitmapset; /* not to include bitmapset.h here */ >>> +struct StringInfoData; /* not to include stringinfo.h here */ >>> +extern void outToken(struct StringInfoData *str, const char *s); >>> +extern void outBitmapset(struct StringInfoData *str, >>> + const struct Bitmapset *bms); >>> + >>> /* >>> * nodes/{readfuncs.c,read.c} >>> */ >>> extern void *stringToNode(char *str); >>> +extern struct Bitmapset *readBitmapset(void); >> >> why exactly did you expose read/writeBitmapset(), and nothing else? >> Afaics a lot of the other read routines are also pretty necessary from >> the outside? > > Because that's what KaiGai submitted and I had no reason to > second-guess it. I'm happy to expose other stuff along similar lines > if somebody writes a patch for it. > Although we have various service macro in outfuncs.c and readfuncs.c, it is not a big burden for extension authors to write equivalent code, except for string and bitmap. On the other hands, string needs _outToken, bitmap needs _outBitmap. It is not good idea to suggest extensions to have copy & paste code with no clear reason. Thanks, -- KaiGai Kohei <kaigai@kaigai.gr.jp>
В списке pgsql-hackers по дате отправления: