On 28/03/17 04:46, Robert Haas wrote: > On Mon, Mar 27, 2017 at 10:04 PM, Andres Freund <and...@anarazel.de> wrote: >>> Btw now that I look at the code, I guess we'll want to get rid of >>> bgw_main completely in HEAD given that we can't guarantee it will be >>> valid even for shared_preload_library libraries. For older branches I >>> would leave things as they are in this regard as there don't seem to be >>> any immediate issue for standard binaries. >> >> As long as you fix it so culicidae is happy (in 9.6) ;). I think it's >> fine to just introduce bgw_builtin_id or such, and leave the bgw_main >> code in place in < HEAD. > > I wasn't thinking of introducing bgw_builtin_id. My idea was just > along the lines of > > if (bgw_library_name == NULL && bgw_function_name != NULL) > { > if (strcmp(bgw_function_name, "ParallelQueryMain") == 0) > ParallelQueryMain(blah); > else if (strcmp(bgw_function_name, "LogicalReplicationMain") == 0) > LogicalReplicationMain(blah); > } > > I think something like that is certainly better for the back-branches, > because it doesn't cause an ABI break. But I think it would also be > fine for master. >
I had something slightly more complex like the attached in mind. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
0001-Remove-bgw_main-from-bgworker-and-always-use-library.patch
Description: binary/octet-stream
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers