]> granicus.if.org Git - postgresql/commitdiff
Cosmetic improvement: use BKI_DEFAULT and BKI_LOOKUP in pg_language.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 29 Apr 2018 17:26:26 +0000 (13:26 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 29 Apr 2018 17:26:26 +0000 (13:26 -0400)
The point of this is not really to remove redundancy in pg_language.dat;
with only three entries, it's hardly worth it.  Rather, it is to get
to a point where there are exactly zero hard-coded numeric pg_proc OID
references in the catalog .dat files.  The lanvalidator column was the
only remaining location of such references, and it seems like a good
thing for future-proofing reasons to make it not be a special case.

There are still a few places in the .dat files with numeric OID references
to other catalogs, but after review I don't see any that seem worth
changing at present.  In each case there are just too few entries to make
it worth the trouble to create lookup infrastructure.

This doesn't change the emitted postgres.bki file, so no catversion bump.

src/include/catalog/pg_language.dat
src/include/catalog/pg_language.h

index c79d566d8a0c09e193ee5d464de84f7790256a2a..a835b7ee319525c81d61ea07f14177ddceac6c85 100644 (file)
 
 { oid => '12', oid_symbol => 'INTERNALlanguageId',
   descr => 'built-in functions',
-  lanname => 'internal', lanowner => 'PGUID', lanispl => 'f',
-  lanpltrusted => 'f', lanplcallfoid => '0', laninline => '0',
-  lanvalidator => '2246', lanacl => '_null_' },
+  lanname => 'internal', lanvalidator => 'fmgr_internal_validator' },
 { oid => '13', oid_symbol => 'ClanguageId',
   descr => 'dynamically-loaded C functions',
-  lanname => 'c', lanowner => 'PGUID', lanispl => 'f', lanpltrusted => 'f',
-  lanplcallfoid => '0', laninline => '0', lanvalidator => '2247',
-  lanacl => '_null_' },
+  lanname => 'c', lanvalidator => 'fmgr_c_validator' },
 { oid => '14', oid_symbol => 'SQLlanguageId',
   descr => 'SQL-language functions',
-  lanname => 'sql', lanowner => 'PGUID', lanispl => 'f', lanpltrusted => 't',
-  lanplcallfoid => '0', laninline => '0', lanvalidator => '2248',
-  lanacl => '_null_' },
+  lanname => 'sql', lanpltrusted => 't', lanvalidator => 'fmgr_sql_validator' },
 
 ]
index 83a7aa3e6a4d3609a3d07a64ed0dc9e70462143c..359701b4522b57521592954cf6b4164371c9b121 100644 (file)
  */
 CATALOG(pg_language,2612,LanguageRelationId)
 {
-       NameData        lanname;                /* Language name */
-       Oid                     lanowner;               /* Language's owner */
-       bool            lanispl;                /* Is a procedural language */
-       bool            lanpltrusted;   /* PL is trusted */
-       Oid                     lanplcallfoid;  /* Call handler for PL */
-       Oid                     laninline;              /* Optional anonymous-block handler function */
-       Oid                     lanvalidator;   /* Optional validation function */
+       /* Language name */
+       NameData        lanname;
+
+       /* Language's owner */
+       Oid                     lanowner BKI_DEFAULT(PGUID);
+
+       /* Is a procedural language */
+       bool            lanispl BKI_DEFAULT(f);
+
+       /* PL is trusted */
+       bool            lanpltrusted BKI_DEFAULT(f);
+
+       /* Call handler, if it's a PL */
+       Oid                     lanplcallfoid BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
+
+       /* Optional anonymous-block handler function */
+       Oid                     laninline BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
+
+       /* Optional validation function */
+       Oid                     lanvalidator BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
 
 #ifdef CATALOG_VARLEN                  /* variable-length fields start here */
-       aclitem         lanacl[1];              /* Access privileges */
+       /* Access privileges */
+       aclitem         lanacl[1] BKI_DEFAULT(_null_);
 #endif
 } FormData_pg_language;