111 (
errmsg(
"key too long")));
#define TextDatumGetCString(d)
void * dsa_get_address(dsa_area *area, dsa_pointer dp)
void dsa_free(dsa_area *area, dsa_pointer dp)
#define dsa_allocate(area, size)
void dshash_strcpy(void *dest, const void *src, size_t size, void *arg)
void dshash_release_lock(dshash_table *hash_table, void *entry)
void * dshash_find(dshash_table *hash_table, const void *key, bool exclusive)
dshash_hash dshash_strhash(const void *v, size_t size, void *arg)
int dshash_strcmp(const void *a, const void *b, size_t size, void *arg)
void * dshash_find_or_insert(dshash_table *hash_table, const void *key, bool *found)
dsa_area * GetNamedDSA(const char *name, bool *found)
dshash_table * GetNamedDSHash(const char *name, const dshash_parameters *params, bool *found)
void * GetNamedDSMSegment(const char *name, size_t size, void(*init_callback)(void *ptr), bool *found)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define PG_GETARG_DATUM(n)
#define PG_RETURN_TEXT_P(x)
#define PG_RETURN_INT32(x)
#define PG_GETARG_INT32(n)
bool LWLockAcquire(LWLock *lock, LWLockMode mode)
int LWLockNewTrancheId(const char *name)
void LWLockRelease(LWLock *lock)
void LWLockInitialize(LWLock *lock, int tranche_id)
static dshash_table * tdr_hash
struct TestDSMRegistryHashEntry TestDSMRegistryHashEntry
Datum set_val_in_shmem(PG_FUNCTION_ARGS)
static void init_tdr_dsm(void *ptr)
Datum get_val_in_shmem(PG_FUNCTION_ARGS)
static void tdr_attach_shmem(void)
Datum set_val_in_hash(PG_FUNCTION_ARGS)
static const dshash_parameters dsh_params
static dsa_area * tdr_dsa
Datum get_val_in_hash(PG_FUNCTION_ARGS)
static TestDSMRegistryStruct * tdr_dsm
PG_FUNCTION_INFO_V1(set_val_in_shmem)
struct TestDSMRegistryStruct TestDSMRegistryStruct
text * cstring_to_text(const char *s)