The docs say I'm supposed to call BackgroundWorkerInitializeConnection in a bgworker and then I can start using spi
functions,but they aren't clear on if I should call SPI_connect too.
If I call BackgroundWorkerInitializeConnection and then SPI_execute I get a return code of SPI_ERROR_UNCONNECTED. If I
callBackgroundWorkerInitializeConnection then SPI_connect I get a segfault.
I'm initialising my worker as:
strncpy(worker.bgw_name, "tds handler", sizeof(worker.bgw_name));
worker.bgw_flags = BGWORKER_SHMEM_ACCESS | BGWORKER_BACKEND_DATABASE_CONNECTION;
worker.bgw_start_time = BgWorkerStart_RecoveryFinished;
worker.bgw_restart_time = BGW_NEVER_RESTART;
//worker.bgw_main_arg = 1433;
worker.bgw_main = tdsworker;
RegisterDynamicBackgroundWorker(&worker, &handle);
What am I missing? (this is 9.4 obviously, as I'm using a dynamic bgworker)
Thanks
James