postgresql/src/include
Michael Paquier 4cb658af70 Refactor reloption handling for index AMs in-core
This reworks the reloption parsing and build of a couple of index AMs by
creating new structures for each index AM's options.  This split was
already done for BRIN, GIN and GiST (which actually has a fillfactor
parameter), but not for hash, B-tree and SPGiST which relied on
StdRdOptions due to an overlap with the default option set.

This saves a couple of bytes for rd_options in each relcache entry with
indexes making use of relation options, and brings more consistency
between all index AMs.  While on it, add a couple of AssertMacro() calls
to make sure that utility macros to grab values of reloptions are used
with the expected index AM.

Author: Nikolay Shaplov
Reviewed-by: Amit Langote, Michael Paquier, Álvaro Herrera, Dent John
Discussion: https://postgr.es/m/4127670.gFlpRb6XCm@x200m
2019-11-25 09:40:53 +09:00
..
access Refactor reloption handling for index AMs in-core 2019-11-25 09:40:53 +09:00
bootstrap Remove more unreferenced function declarations 2019-07-07 09:58:33 +09:00
catalog Stabilize the results of pg_notification_queue_usage(). 2019-11-24 14:09:33 -05:00
commands Make DROP DATABASE command generate less WAL records. 2019-11-21 21:10:37 +09:00
common Fix use of term "verifier" 2019-10-12 21:41:59 +02:00
datatype Update copyright for 2019 2019-01-02 12:44:25 -05:00
executor Minor code review for tuple slot rewrite. 2019-11-06 12:00:17 -05:00
fe_utils Fix parallel restore of FKs to partitioned tables 2019-10-17 09:58:01 +02:00
foreign Fix inconsistencies and typos in the tree 2019-07-16 13:23:53 +09:00
jit Remove fmgr.h includes from headers that don't really need it. 2019-08-16 10:35:31 -07:00
lib Add reusable routine for making arrays unique. 2019-11-07 17:00:48 +13:00
libpq In the postmaster, rely on the signal infrastructure to block signals. 2019-10-13 15:48:26 -04:00
mb Fix inconsistencies and typos in the tree, take 9 2019-08-05 12:14:58 +09:00
nodes Introduce the 'force' option for the Drop Database command. 2019-11-13 08:25:33 +05:30
optimizer Generate EquivalenceClass members for partitionwise child join rels. 2019-11-05 11:42:24 -05:00
parser Require the schema qualification in pg_temp.type_name(arg). 2019-08-05 07:48:41 -07:00
partitioning Improve pruning of a default partition 2019-08-04 11:18:45 -04:00
port Update comment about __sync_lock_test_and_set() bug. 2019-10-26 12:55:06 -07:00
portability Update copyright for 2019 2019-01-02 12:44:25 -05:00
postmaster Fix inconsistencies and typos in the tree 2019-07-16 13:23:53 +09:00
regex Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
replication Track statistics for spilling of changes from ReorderBuffer. 2019-11-21 08:06:51 +05:30
rewrite Defend against self-referential views in relation_is_updatable(). 2019-11-21 16:21:43 -05:00
snowball Sync our Snowball stemmer dictionaries with current upstream 2019-07-04 13:26:48 +02:00
statistics Allow setting statistics target for extended statistics 2019-09-11 00:25:51 +02:00
storage Introduce the 'force' option for the Drop Database command. 2019-11-13 08:25:33 +05:30
tcop Revert hooks for session start and end, take two 2019-10-02 09:55:27 +09:00
tsearch Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
utils Refactor reloption handling for index AMs in-core 2019-11-25 09:40:53 +09:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
Makefile Get rid of jsonpath_gram.h and jsonpath_scanner.h 2019-03-20 11:13:34 +03:00
c.h Fix ecpglib.h to declare bool consistently with c.h. 2019-11-12 13:00:04 -05:00
fmgr.h Remove configure --disable-float4-byval 2019-11-21 18:29:21 +01:00
funcapi.h Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
getaddrinfo.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
getopt_long.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
miscadmin.h Fix inconsistencies and typos in the tree, take 11 2019-08-19 16:21:39 +09:00
pg_config.h.in Remove configure --disable-float4-byval 2019-11-21 18:29:21 +01:00
pg_config.h.win32 Fix ecpglib.h to declare bool consistently with c.h. 2019-11-12 13:00:04 -05:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pg_getopt.h Use our own getopt() on OpenBSD. 2019-01-18 15:06:26 -05:00
pg_trace.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pgstat.h Remove fmgr.h includes from headers that don't really need it. 2019-08-16 10:35:31 -07:00
pgtar.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
pgtime.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
port.h In the postmaster, rely on the signal infrastructure to block signals. 2019-10-13 15:48:26 -04:00
postgres.h Remove configure --disable-float4-byval 2019-11-21 18:29:21 +01:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
rusagestub.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
windowapi.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00