mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
Expand comment for isset_offset.
This field was added in commit 0164a0f9ee
to provide a way to
determine whether a storage parameter was explicitly set for the
relation or if it just picked up the default value. In most cases,
this can be accomplished by giving the storage parameter a special
out-of-range default value (e.g., the
autovacuum_vacuum_insert_threshold storage parameter defaults to
-2), but this approach doesn't work in all cases. For example, a
Boolean storage parameter cannot be given an out-of-range default,
so we need another way to discover the source of its value.
Reported-by: "David G. Johnston" <david.g.johnston@gmail.com>
Reviewed-by: "David G. Johnston" <david.g.johnston@gmail.com>
Discussion: https://postgr.es/m/CAKFQuwYKtEUYKS%2B18gRs-xPhn0qOJgM2KGyyWVCODHuVn9F-XQ%40mail.gmail.com
This commit is contained in:
@ -152,7 +152,19 @@ typedef struct
|
||||
const char *optname; /* option's name */
|
||||
relopt_type opttype; /* option's datatype */
|
||||
int offset; /* offset of field in result struct */
|
||||
int isset_offset; /* if > 0, offset of "is set" field */
|
||||
|
||||
/*
|
||||
* isset_offset is an optional offset of a field in the result struct that
|
||||
* stores whether the option is explicitly set for the relation or if it
|
||||
* just picked up the default value. In most cases, this can be
|
||||
* accomplished by giving the reloption a special out-of-range default
|
||||
* value (e.g., some integer reloptions use -2), but this isn't always
|
||||
* possible. For example, a Boolean reloption cannot be given an
|
||||
* out-of-range default, so we need another way to discover the source of
|
||||
* its value. This offset is only used if given a value greater than
|
||||
* zero.
|
||||
*/
|
||||
int isset_offset;
|
||||
} relopt_parse_elt;
|
||||
|
||||
/* Local reloption definition */
|
||||
|
Reference in New Issue
Block a user