From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | John Naylor <jcnaylor(at)gmail(dot)com> |
Cc: | David Fetter <david(at)fetter(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: WIP: a way forward on bootstrap data |
Date: | 2017-12-21 22:32:37 |
Message-ID: | 20171221223237.tweqapdglenjek45@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hmm, patch 0008 removes data lines from the .h but leaves the dependent
OID define lines around:
#define BTREE_AM_OID 403
This is not good, because then the define depends on data that appears
in a distant file. Another consideration is that the current system has
the property that these OIDs are discoverable by a hacker by navigating
to the containing .h file; and a missing symbol is easily fixable if
they need to hardcode the OID for which there isn't a symbol yet.
Maybe a generated .h file containing defines for OIDs from all catalogs
is okay. Of course, not all symbols are to be listed -- we should have
a special marker in the data lines for those that are. Maybe something
like this
{ oid => '403', descr => 'b-tree index access method',
amname => 'btree', amhandler => 'bthandler', amtype => 'i',
cpp_symbol => 'BTREE_AM_OID' },
(where 'cpp_symbol' would be skipped by genbki explicitly).
Any better ideas?
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Gene Selkov | 2017-12-21 22:42:51 | Re: genomic locus |
Previous Message | Alvaro Herrera | 2017-12-21 22:16:23 | Re: WIP: a way forward on bootstrap data |