void ContQuerySchedulerShmemInit(void) { bool found; Size size = ContQuerySchedulerShmemSize(); ContQuerySchedulerShmem = ShmemInitStruct("ContQuerySchedulerShmem", size, &found); if (!found) { HASHCTL info; MemSet(ContQuerySchedulerShmem, 0, ContQuerySchedulerShmemSize()); info.keysize = sizeof(Oid); info.entrysize = ContQueryDatabaseMetadataSize(); info.hash = oid_hash; ContQuerySchedulerShmem->proc_table = ShmemInitHash("ContQueryDatabaseMetadata", INIT_PROC_TABLE_SZ, MAX_PROC_TABLE_SZ, &info, HASH_ELEM | HASH_FUNCTION); update_run_params(); ContQuerySchedulerShmem->tranche_id = LWLockNewTrancheId(); } LWLockRegisterTranche(ContQuerySchedulerShmem->tranche_id, &DummyLWLockTranche); }
void ContQuerySchedulerShmemInit(void) { bool found; Size size = ContQuerySchedulerShmemSize(); ContQuerySchedulerShmem = ShmemInitStruct("ContQueryScheduler Data", size, &found); if (!found) { HASHCTL info; MemSet(ContQuerySchedulerShmem, 0, ContQuerySchedulerShmemSize()); info.keysize = sizeof(Oid); info.entrysize = MAXALIGN(add_size(sizeof(ContQueryProcGroup), mul_size(sizeof(ContQueryProc), TOTAL_SLOTS))); info.hash = oid_hash; ContQuerySchedulerShmem->proc_table = ShmemInitHash("ContQueryScheduler Proc Table", INIT_PROC_TABLE_SZ, MAX_PROC_TABLE_SZ, &info, HASH_ELEM | HASH_FUNCTION); update_tuning_params(); } }