Change the way string relopts are allocated. Don't try to allocate the default value for a string relopt in the same palloc chunk as the relopt_string struct. That didn't work too well if you added a built-in string relopt in the stringRelOpts array, as it's not possible to have an initializer for a variable length struct in C. This makes the code slightly simpler too.
While we're at it, move the call to validator function in add_string_reloption to before the allocation, so that if someone does pass a bogus default value, we don't leak memory. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/77949a2913b3cbaa7b2e2a73f014d541e251f18b Modified Files -------------- src/backend/access/common/reloptions.c | 39 +++++++++---------------------- src/include/access/reloptions.h | 2 +- 2 files changed, 13 insertions(+), 28 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers