| From: | Xiaoran Wang <wxiaoran(at)vmware(dot)com> |
|---|---|
| To: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Add an assert to the length of shared hashtable name |
| Date: | 2022-09-26 05:08:48 |
| Message-ID: | SN6PR05MB44626B969DC352BD24370915BA529@SN6PR05MB4462.namprd05.prod.outlook.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
The max size for the shared memory hash table name is SHMEM_INDEX_KEYSIZE - 1
(shared hash table name is stored and indexed by ShmemIndex hash table,
the key size of it is SHMEM_INDEX_KEYSIZE), but when the caller uses a
longer hash table name, it doesn't report any error, instead it just
uses the first SHMEM_INDEX_KEYSIZE chars as the hash table name.
When some hash tables' names have the same prefix which is longer than
(SHMEM_INDEX_KEYSIZE - 1), issues will come: those hash tables actually
are created as the same hash table whose name is the prefix. So add the
assert to prevent it.
| Attachment | Content-Type | Size |
|---|---|---|
| fix_shmem_hash_table_name_length.patch | application/octet-stream | 473 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | bt22nakamorit | 2022-09-26 06:12:46 | Differentiate MERGE queries with different structures |
| Previous Message | wangw.fnst@fujitsu.com | 2022-09-26 04:44:00 | RE: Data is copied twice when specifying both child and parent table in publication |