Thread
Commits
-
Fix comment on clearing padding.
- 0c3fb8ac5f17 14.9 landed
- 596177a9222f 15.4 landed
- 876d17d62fe8 16.0 landed
-
Track identical top vs nested queries independently in pg_stat_statements
- 6b4d23feef6e 14.0 cited
-
Incorrect comment for memset() on pgssHashKey?
Japin Li <japinli@hotmail.com> — 2023-06-27T04:32:10Z
Hi, Commit 6b4d23feef introduces a toplevel field in pgssHashKey, which leads padding. In pgss_store(), it comments that memset() is required when pgssHashKey is without padding only. @@ -1224,9 +1227,14 @@ pgss_store(const char *query, uint64 queryId, query = CleanQuerytext(query, &query_location, &query_len); /* Set up key for hashtable search */ + + /* memset() is required when pgssHashKey is without padding only */ + memset(&key, 0, sizeof(pgssHashKey)); + key.userid = GetUserId(); key.dbid = MyDatabaseId; key.queryid = queryId; + key.toplevel = (exec_nested_level == 0); /* Lookup the hash table entry with shared lock. */ LWLockAcquire(pgss->lock, LW_SHARED); However, we need memset() only when pgssHashKey has padding, right? -- Regrads, Japin Li. -
Re: Incorrect comment for memset() on pgssHashKey?
Heikki Linnakangas <hlinnaka@iki.fi> — 2023-06-27T07:18:11Z
On 27/06/2023 07:32, Japin Li wrote: > > Hi, > > Commit 6b4d23feef introduces a toplevel field in pgssHashKey, which leads > padding. In pgss_store(), it comments that memset() is required when > pgssHashKey is without padding only. > > @@ -1224,9 +1227,14 @@ pgss_store(const char *query, uint64 queryId, > query = CleanQuerytext(query, &query_location, &query_len); > > /* Set up key for hashtable search */ > + > + /* memset() is required when pgssHashKey is without padding only */ > + memset(&key, 0, sizeof(pgssHashKey)); > + > key.userid = GetUserId(); > key.dbid = MyDatabaseId; > key.queryid = queryId; > + key.toplevel = (exec_nested_level == 0); > > /* Lookup the hash table entry with shared lock. */ > LWLockAcquire(pgss->lock, LW_SHARED); > > However, we need memset() only when pgssHashKey has padding, right? Yep. I changed the comment to just "clear padding". Thanks! -- Heikki Linnakangas Neon (https://neon.tech)