]> granicus.if.org Git - postgresql/commit
Change the way string relopts are allocated.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 9 Aug 2011 12:25:44 +0000 (15:25 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 9 Aug 2011 12:25:44 +0000 (15:25 +0300)
commit77949a2913b3cbaa7b2e2a73f014d541e251f18b
tree327ed9ef18a23e7be496212924ddf2003c488855
parent5b6c8436d7e696cced4db14c885eff23f87dc712
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.
src/backend/access/common/reloptions.c
src/include/access/reloptions.h