🐏 Taming PostgreSQL GUC “extra” Data
New post up on on the ClickHouse blog:
I wanted to optimize away parsing the key/value pairs from the pg_clickhouse
pg_clickhouse.session_settingsGUC for every query by pre-parsing it on assignment and assigning it to a separate variable. It took a few tries, as the GUC API requires quite specific memory allocation for extra data to work properly. It took me a few tries to land on a workable and correct solution.
Struggling to understand, making missteps, and ultimately coming to a reasonable design and solution satisfies me so immensely that I always want to share. This piece gets down in the C coding weeds; my fellow extension coders might enjoy it.