mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
Const-ify the parse table passed to fillRelOptions. The previous coding
meant it had to be built on-the-fly at each entry to default_reloptions.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/access/reloptions.h,v 1.12 2009/02/02 19:31:39 alvherre Exp $
|
||||
* $PostgreSQL: pgsql/src/include/access/reloptions.h,v 1.13 2009/03/23 16:36:27 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -106,12 +106,12 @@ typedef struct relopt_string
|
||||
char default_val[1]; /* variable length, zero-terminated */
|
||||
} relopt_string;
|
||||
|
||||
/* This is the input type for fillRelOptions */
|
||||
/* This is the table datatype for fillRelOptions */
|
||||
typedef struct
|
||||
{
|
||||
char *optname;
|
||||
relopt_type opttype;
|
||||
int offset;
|
||||
const char *optname; /* option's name */
|
||||
relopt_type opttype; /* option's datatype */
|
||||
int offset; /* offset of field in result struct */
|
||||
} relopt_parse_elt;
|
||||
|
||||
|
||||
@@ -149,8 +149,8 @@ typedef struct
|
||||
* }
|
||||
*
|
||||
* Note that this is more or less the same that fillRelOptions does, so only
|
||||
* use this if you need to do something non-standard within some options'
|
||||
* block.
|
||||
* use this if you need to do something non-standard within some option's
|
||||
* code block.
|
||||
*/
|
||||
#define HAVE_RELOPTION(optname, option) \
|
||||
(pg_strncasecmp(option.gen->name, optname, option.gen->namelen + 1) == 0)
|
||||
@@ -252,9 +252,10 @@ extern relopt_value *parseRelOptions(Datum options, bool validate,
|
||||
relopt_kind kind, int *numrelopts);
|
||||
extern void *allocateReloptStruct(Size base, relopt_value *options,
|
||||
int numoptions);
|
||||
extern void fillRelOptions(void *rdopts, Size basesize, relopt_value *options,
|
||||
int numoptions, bool validate, relopt_parse_elt *elems,
|
||||
int nelems);
|
||||
extern void fillRelOptions(void *rdopts, Size basesize,
|
||||
relopt_value *options, int numoptions,
|
||||
bool validate,
|
||||
const relopt_parse_elt *elems, int nelems);
|
||||
|
||||
extern bytea *default_reloptions(Datum reloptions, bool validate,
|
||||
relopt_kind kind);
|
||||
|
||||
Reference in New Issue
Block a user