Tom Lane wrote: > Alvaro Herrera <alvhe...@alvh.no-ip.org> writes: > > Others: Now is the time to raise concerns related to the proposed file > > formats and tooling, so please do have a look when you have a moment. > > At this stage, the proposed data format seems a good choice to me. > > It's not very clear to me what the proposed data format actually is, > and I don't really want to read several hundred KB worth of patches > in order to reverse-engineer that information. Nor do I see > anything in the patch list that obviously looks like it updates > doc/src/sgml/bki.sgml to explain things. > > So could we have an explanation of what it is we're agreeing to?
Here's a small sample pg_proc entry: { oid => '2147', descr => 'number of input rows for which the input expression is not null', n => 'count', proisagg => 't', v => 'i', p => 's', rt => 'int8', at => 'any', s => 'aggregate_dummy' }, An pg_amop entry: { opf => 'btree/integer_ops', lt => 'int2', rt => 'int2', str => '1', oper => '<(int2,int2)', am => 'btree' }, Notes: 1. this is Perl data; it is read with 'eval' without any external modules. 2. the pg_proc entry has been compressed to two lines, to avoid content-free lines that would easily confuse git merge, but keep line length reasonable. 3. references to objects in other catalogs are by name, such as "int8" or "btree/integer_ops" rather than OID. 4. for each attribute, an abbreviation can be declared. In the pg_proc sample we have "n" which stands for proname, because we have this line: + NameData proname BKI_ABBREV(n); I think John has gone overboard with some of these choices, but we can argue the specific choices once we decide that abbreviation is a good idea. (Prior discussion seems to suggest we already agreed on that.) -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services