pgsql: Rationalize handling of array type names in bootstrap data.
От | Tom Lane |
---|---|
Тема | pgsql: Rationalize handling of array type names in bootstrap data. |
Дата | |
Msg-id | E1f8Z6M-0000jj-G3@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Rationalize handling of array type names in bootstrap data. Formerly, Catalog.pm turned a C array type declaration in the catalog header files into a SQL type, e.g., 'foo[]'. Along the way, genbki.pl turned this into '_foo' for the purpose of type lookups, but wrote 'foo[]' to postgres.bki. During bootstrap, bootscanner.l had to have a special case rule to tokenize this, and then MapArrayTypeName() would turn 'foo[]' into '_foo' one more time. This seems unnecessarily complicated, especially since nobody cares that much about the readability of postgres.bki. Instead, make Catalog.pm convert the C declaration into '_foo' to start with, and preserve that representation of the type name throughout bootstrap data processing. Then rip out the special-case code in bootscanner.l and bootstrap.c. This changes postgres.bki to the extent that array fields are now declared like proconfig = _text , rather than proconfig = text[] , No documentation update, since the SGML docs didn't mention any of this in the first place, and it's all pretty transparent to writers of catalog header files anyway. John Naylor Discussion: https://postgr.es/m/CAJVSVGUNao=-Q2-vAN3PYcdF5tnL5JAHwGwzZGuYHtq+Mk_9ng@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/9ffcccdb958d38db5051bf64143330ff445a26cc Modified Files -------------- src/backend/bootstrap/bootscanner.l | 6 ------ src/backend/bootstrap/bootstrap.c | 30 ------------------------------ src/backend/catalog/Catalog.pm | 8 ++++++-- src/backend/catalog/genbki.pl | 8 ++------ src/include/bootstrap/bootstrap.h | 2 -- 5 files changed, 8 insertions(+), 46 deletions(-)
В списке pgsql-committers по дате отправления: