/* * Initialize the shared-memory for this module. */ void PersistentRelation_ShmemInit(void) { bool found; /* Create the shared-memory structure. */ persistentRelationSharedData = (PersistentRelationSharedData *) ShmemInitStruct("Mirrored Rel File Data", PersistentRelation_SharedDataSize(), &found); if (!found) { PersistentFileSysObj_InitShared( &persistentRelationSharedData->fileSysObjSharedData); } PersistentFileSysObj_Init( &persistentRelationData.fileSysObjData, &persistentRelationSharedData->fileSysObjSharedData, PersistentFsObjType_RelationFile, /* scanTupleCallback */ NULL); Assert(persistentRelationSharedData != NULL); }
/* * Initialize the shared-memory for this module. */ void PersistentDatabase_ShmemInit(void) { bool found; /* Create the shared-memory structure. */ persistentDatabaseSharedData = (PersistentDatabaseSharedData *) ShmemInitStruct("Persistent Database Data", PersistentDatabase_SharedDataSize(), &found); if (!found) { PersistentFileSysObj_InitShared( &persistentDatabaseSharedData->fileSysObjSharedData); SharedOidSearch_InitTable( &persistentDatabaseSharedData->databaseDirSearchTable, 127, MaxPersistentDatabaseDirectories, sizeof(DatabaseDirEntryData)); } PersistentFileSysObj_Init( &persistentDatabaseData.fileSysObjData, &persistentDatabaseSharedData->fileSysObjSharedData, PersistentFsObjType_DatabaseDir, PersistentDatabase_ScanTupleCallback); Assert(persistentDatabaseSharedData != NULL); }
/* * Initialize the shared-memory for this module. */ void PersistentFilespace_ShmemInit(void) { bool found; bool ok; /* Create the shared-memory structure. */ persistentFilespaceSharedData = (PersistentFilespaceSharedData *) ShmemInitStruct("Persistent Filespace Data", PersistentFilespace_SharedDataSize(), &found); if (!found) { PersistentFileSysObj_InitShared( &persistentFilespaceSharedData->fileSysObjSharedData); } /* Create or find our shared-memory hash table. */ ok = PersistentFilespace_HashTableInit(); if (!ok) ereport(FATAL, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("Not enough shared memory for persistent filespace hash table"))); PersistentFileSysObj_Init( &persistentFilespaceData.fileSysObjData, &persistentFilespaceSharedData->fileSysObjSharedData, PersistentFsObjType_FilespaceDir, PersistentFilespace_ScanTupleCallback); Assert(persistentFilespaceSharedData != NULL); Assert(persistentFilespaceSharedHashTable != NULL); }