relopt-toast-ff.patch
application/octet-stream
Filename: relopt-toast-ff.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
| File | + | − |
|---|---|---|
| src/backend/access/common/reloptions.c | 17 | 0 |
| src/include/access/reloptions.h | 1 | 0 |
Index: src/backend/access/common/reloptions.c
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/backend/access/common/reloptions.c,v
retrieving revision 1.28.2.2
diff -c -p -r1.28.2.2 reloptions.c
*** src/backend/access/common/reloptions.c 11 Mar 2010 21:47:25 -0000 1.28.2.2
--- src/backend/access/common/reloptions.c 18 May 2010 19:54:57 -0000
***************
*** 44,49 ****
--- 44,52 ----
*
* Note that we don't handle "oids" in relOpts because it is handled by
* interpretOidsOption().
+ *
+ * Note that any option that exists for RELOPT_KIND_HEAP must also exist for
+ * RELOPT_KIND_TOAST.
*/
static relopt_bool boolRelOpts[] =
*************** static relopt_int intRelOpts[] =
*** 81,86 ****
--- 84,97 ----
{
{
"fillfactor",
+ "Toast default fillfactor, cannot be changed",
+ RELOPT_KIND_TOAST, true
+ },
+ 100, 100, 100
+ },
+ {
+ {
+ "fillfactor",
"Packs btree index pages only to this percentage",
RELOPT_KIND_BTREE
},
*************** parse_one_reloption(relopt_value *option
*** 886,891 ****
--- 897,908 ----
errmsg("parameter \"%s\" specified more than once",
option->gen->name)));
+ if (option->gen->default_only && validate)
+ ereport(ERROR,
+ (errcode(ERRCODE_CANT_CHANGE_RUNTIME_PARAM), /* ERRCODE_INVALID_PARAMETER_VALUE */
+ errmsg("parameter \"%s\" cannot be changed",
+ option->gen->name)));
+
value_len = text_len - option->gen->namelen - 1;
value = (char *) palloc(value_len + 1);
memcpy(value, text_str + option->gen->namelen + 1, value_len);
Index: src/include/access/reloptions.h
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/include/access/reloptions.h,v
retrieving revision 1.16
diff -c -p -r1.16 reloptions.h
*** src/include/access/reloptions.h 11 Jun 2009 14:49:09 -0000 1.16
--- src/include/access/reloptions.h 18 May 2010 20:43:40 -0000
*************** typedef struct relopt_gen
*** 55,60 ****
--- 55,61 ----
* marker) */
const char *desc;
bits32 kinds;
+ bool default_only; /* not settable? */
int namelen;
relopt_type type;
} relopt_gen;