The current catalog files all do this:
CATALOG(pg_aggregate,2600,AggregateRelationId)
{
...
} FormData_pg_aggregate;
typedef FormData_pg_aggregate *Form_pg_aggregate;
The bottom part of this seems redundant. With the attached patch, we
can generate that automatically, so this becomes just
CATALOG(pg_aggregate,2600,AggregateRelationId)
{
...
};
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 2b1b7e4c6d8b1f9f66bef0fd32992812425bb739 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jun 2019 13:17:55 +0200
Subject: [PATCH] Catalog files simplification
Extend the CATALOG() macro used in src/include/catalog/ to also create
the Form_pg_foo and FormData_pg_foo typedefs automatically.
---
src/include/catalog/genbki.h | 2 +-
src/include/catalog/pg_aggregate.h | 9 +--------
src/include/catalog/pg_am.h | 9 +--------
src/include/catalog/pg_amop.h | 9 +--------
src/include/catalog/pg_amproc.h | 9 +--------
src/include/catalog/pg_attrdef.h | 9 +--------
src/include/catalog/pg_attribute.h | 9 +--------
src/include/catalog/pg_auth_members.h | 9 +--------
src/include/catalog/pg_authid.h | 9 +--------
src/include/catalog/pg_cast.h | 9 +--------
src/include/catalog/pg_class.h | 9 +--------
src/include/catalog/pg_collation.h | 9 +--------
src/include/catalog/pg_constraint.h | 9 +--------
src/include/catalog/pg_conversion.h | 9 +--------
src/include/catalog/pg_database.h | 9 +--------
src/include/catalog/pg_db_role_setting.h | 4 +---
src/include/catalog/pg_default_acl.h | 9 +--------
src/include/catalog/pg_depend.h | 9 +--------
src/include/catalog/pg_description.h | 9 +--------
src/include/catalog/pg_enum.h | 9 +--------
src/include/catalog/pg_event_trigger.h | 9 +--------
src/include/catalog/pg_extension.h | 9 +--------
src/include/catalog/pg_foreign_data_wrapper.h | 9 +--------
src/include/catalog/pg_foreign_server.h | 9 +--------
src/include/catalog/pg_foreign_table.h | 9 +--------
src/include/catalog/pg_index.h | 9 +--------
src/include/catalog/pg_inherits.h | 9 +--------
src/include/catalog/pg_init_privs.h | 9 +--------
src/include/catalog/pg_language.h | 9 +--------
src/include/catalog/pg_largeobject.h | 9 +--------
src/include/catalog/pg_largeobject_metadata.h | 9 +--------
src/include/catalog/pg_namespace.h | 9 +--------
src/include/catalog/pg_opclass.h | 9 +--------
src/include/catalog/pg_operator.h | 9 +--------
src/include/catalog/pg_opfamily.h | 9 +--------
src/include/catalog/pg_partitioned_table.h | 9 +--------
src/include/catalog/pg_pltemplate.h | 9 +--------
src/include/catalog/pg_policy.h | 9 +--------
src/include/catalog/pg_proc.h | 9 +--------
src/include/catalog/pg_publication.h | 9 +--------
src/include/catalog/pg_publication_rel.h | 9 +--------
src/include/catalog/pg_range.h | 9 +--------
src/include/catalog/pg_replication_origin.h | 4 +---
src/include/catalog/pg_rewrite.h | 9 +--------
src/include/catalog/pg_seclabel.h | 2 +-
src/include/catalog/pg_sequence.h | 9 +--------
src/include/catalog/pg_shdepend.h | 9 +--------
src/include/catalog/pg_shdescription.h | 9 +--------
src/include/catalog/pg_shseclabel.h | 4 +---
src/include/catalog/pg_statistic.h | 10 +---------
src/include/catalog/pg_statistic_ext.h | 9 +--------
src/include/catalog/pg_subscription.h | 4 +---
src/include/catalog/pg_subscription_rel.h | 4 +---
src/include/catalog/pg_tablespace.h | 9 +--------
src/include/catalog/pg_transform.h | 9 +--------
src/include/catalog/pg_trigger.h | 9 +--------
src/include/catalog/pg_ts_config.h | 4 +---
src/include/catalog/pg_ts_config_map.h | 4 +---
src/include/catalog/pg_ts_dict.h | 4 +---
src/include/catalog/pg_ts_parser.h | 4 +---
src/include/catalog/pg_ts_template.h | 4 +---
src/include/catalog/pg_type.h | 9 +--------
src/include/catalog/pg_user_mapping.h | 9 +--------
63 files changed, 63 insertions(+), 441 deletions(-)
diff --git a/src/include/catalog/genbki.h b/src/include/catalog/genbki.h
index 1b8e4e9e19..43e667af25 100644
--- a/src/include/catalog/genbki.h
+++ b/src/include/catalog/genbki.h
@@ -20,7 +20,7 @@
#define GENBKI_H
/* Introduces a catalog's structure definition */
-#define CATALOG(name,oid,oidmacro) typedef struct CppConcat(FormData_,name)
+#define CATALOG(name,oid,oidmacro) typedef struct
CppConcat(FormData_,name) CppConcat(FormData_,name); typedef
CppConcat(FormData_,name) *CppConcat(Form_,name); struct
CppConcat(FormData_,name)
/* Options that may appear after CATALOG (on the same line) */
#define BKI_BOOTSTRAP
diff --git a/src/include/catalog/pg_aggregate.h
b/src/include/catalog/pg_aggregate.h
index ff8a21daa8..83fd30c471 100644
--- a/src/include/catalog/pg_aggregate.h
+++ b/src/include/catalog/pg_aggregate.h
@@ -99,14 +99,7 @@ CATALOG(pg_aggregate,2600,AggregateRelationId)
/* initial value for moving-agg state (can be NULL) */
text aggminitval BKI_DEFAULT(_null_);
#endif
-} FormData_pg_aggregate;
-
-/* ----------------
- * Form_pg_aggregate corresponds to a pointer to a tuple with
- * the format of pg_aggregate relation.
- * ----------------
- */
-typedef FormData_pg_aggregate *Form_pg_aggregate;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_am.h b/src/include/catalog/pg_am.h
index 706b5e81cb..1c852cc862 100644
--- a/src/include/catalog/pg_am.h
+++ b/src/include/catalog/pg_am.h
@@ -38,14 +38,7 @@ CATALOG(pg_am,2601,AccessMethodRelationId)
/* see AMTYPE_xxx constants below */
char amtype;
-} FormData_pg_am;
-
-/* ----------------
- * Form_pg_am corresponds to a pointer to a tuple with
- * the format of pg_am relation.
- * ----------------
- */
-typedef FormData_pg_am *Form_pg_am;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_amop.h b/src/include/catalog/pg_amop.h
index aa2be7b643..4c5313f56d 100644
--- a/src/include/catalog/pg_amop.h
+++ b/src/include/catalog/pg_amop.h
@@ -78,14 +78,7 @@ CATALOG(pg_amop,2602,AccessMethodOperatorRelationId)
/* ordering opfamily OID, or 0 if search op */
Oid amopsortfamily BKI_DEFAULT(0)
BKI_LOOKUP(pg_opfamily);
-} FormData_pg_amop;
-
-/* ----------------
- * Form_pg_amop corresponds to a pointer to a tuple with
- * the format of pg_amop relation.
- * ----------------
- */
-typedef FormData_pg_amop *Form_pg_amop;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_amproc.h b/src/include/catalog/pg_amproc.h
index 62ca564130..ee680e8c73 100644
--- a/src/include/catalog/pg_amproc.h
+++ b/src/include/catalog/pg_amproc.h
@@ -58,13 +58,6 @@ CATALOG(pg_amproc,2603,AccessMethodProcedureRelationId)
/* OID of the proc */
regproc amproc BKI_LOOKUP(pg_proc);
-} FormData_pg_amproc;
-
-/* ----------------
- * Form_pg_amproc corresponds to a pointer to a tuple with
- * the format of pg_amproc relation.
- * ----------------
- */
-typedef FormData_pg_amproc *Form_pg_amproc;
+};
#endif /* PG_AMPROC_H */
diff --git a/src/include/catalog/pg_attrdef.h b/src/include/catalog/pg_attrdef.h
index 4ec371bc4a..c2fa86e441 100644
--- a/src/include/catalog/pg_attrdef.h
+++ b/src/include/catalog/pg_attrdef.h
@@ -37,13 +37,6 @@ CATALOG(pg_attrdef,2604,AttrDefaultRelationId)
pg_node_tree adbin BKI_FORCE_NOT_NULL; /* nodeToString representation
of
* default */
#endif
-} FormData_pg_attrdef;
-
-/* ----------------
- * Form_pg_attrdef corresponds to a pointer to a tuple with
- * the format of pg_attrdef relation.
- * ----------------
- */
-typedef FormData_pg_attrdef *Form_pg_attrdef;
+};
#endif /* PG_ATTRDEF_H */
diff --git a/src/include/catalog/pg_attribute.h
b/src/include/catalog/pg_attribute.h
index 04004b5703..611c0de648 100644
--- a/src/include/catalog/pg_attribute.h
+++ b/src/include/catalog/pg_attribute.h
@@ -181,7 +181,7 @@ CATALOG(pg_attribute,1249,AttributeRelationId)
BKI_BOOTSTRAP BKI_ROWTYPE_OID(75,
*/
anyarray attmissingval BKI_DEFAULT(_null_);
#endif
-} FormData_pg_attribute;
+};
/*
* ATTRIBUTE_FIXED_PART_SIZE is the size of the fixed-layout,
@@ -192,13 +192,6 @@ CATALOG(pg_attribute,1249,AttributeRelationId)
BKI_BOOTSTRAP BKI_ROWTYPE_OID(75,
#define ATTRIBUTE_FIXED_PART_SIZE \
(offsetof(FormData_pg_attribute,attcollation) + sizeof(Oid))
-/* ----------------
- * Form_pg_attribute corresponds to a pointer to a tuple with
- * the format of pg_attribute relation.
- * ----------------
- */
-typedef FormData_pg_attribute *Form_pg_attribute;
-
#ifdef EXPOSE_TO_CLIENT_CODE
#define ATTRIBUTE_IDENTITY_ALWAYS 'a'
diff --git a/src/include/catalog/pg_auth_members.h
b/src/include/catalog/pg_auth_members.h
index 644a25d1e5..a98e35f43a 100644
--- a/src/include/catalog/pg_auth_members.h
+++ b/src/include/catalog/pg_auth_members.h
@@ -33,13 +33,6 @@ CATALOG(pg_auth_members,1261,AuthMemRelationId)
BKI_SHARED_RELATION BKI_ROWTYPE_
Oid member; /* ID of a member of
that role */
Oid grantor; /* who granted the
membership */
bool admin_option; /* granted with admin option? */
-} FormData_pg_auth_members;
-
-/* ----------------
- * Form_pg_auth_members corresponds to a pointer to a tuple with
- * the format of pg_auth_members relation.
- * ----------------
- */
-typedef FormData_pg_auth_members *Form_pg_auth_members;
+};
#endif /* PG_AUTH_MEMBERS_H */
diff --git a/src/include/catalog/pg_authid.h b/src/include/catalog/pg_authid.h
index 6fcf645c01..b687a427c7 100644
--- a/src/include/catalog/pg_authid.h
+++ b/src/include/catalog/pg_authid.h
@@ -46,13 +46,6 @@ CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION
BKI_ROWTYPE_OID(284
text rolpassword; /* password, if any */
timestamptz rolvaliduntil; /* password expiration time, if any */
#endif
-} FormData_pg_authid;
-
-/* ----------------
- * Form_pg_authid corresponds to a pointer to a tuple with
- * the format of pg_authid relation.
- * ----------------
- */
-typedef FormData_pg_authid *Form_pg_authid;
+};
#endif /* PG_AUTHID_H */
diff --git a/src/include/catalog/pg_cast.h b/src/include/catalog/pg_cast.h
index 85e31b0448..6e1c0abcc3 100644
--- a/src/include/catalog/pg_cast.h
+++ b/src/include/catalog/pg_cast.h
@@ -46,14 +46,7 @@ CATALOG(pg_cast,2605,CastRelationId)
/* cast method */
char castmethod;
-} FormData_pg_cast;
-
-/* ----------------
- * Form_pg_cast corresponds to a pointer to a tuple with
- * the format of pg_cast relation.
- * ----------------
- */
-typedef FormData_pg_cast *Form_pg_cast;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_class.h b/src/include/catalog/pg_class.h
index 090b6ba907..606258ca1d 100644
--- a/src/include/catalog/pg_class.h
+++ b/src/include/catalog/pg_class.h
@@ -136,19 +136,12 @@ CATALOG(pg_class,1259,RelationRelationId) BKI_BOOTSTRAP
BKI_ROWTYPE_OID(83,Relat
/* partition bound node tree */
pg_node_tree relpartbound;
#endif
-} FormData_pg_class;
+};
/* Size of fixed part of pg_class tuples, not counting var-length fields */
#define CLASS_TUPLE_SIZE \
(offsetof(FormData_pg_class,relminmxid) + sizeof(TransactionId))
-/* ----------------
- * Form_pg_class corresponds to a pointer to a tuple with
- * the format of pg_class relation.
- * ----------------
- */
-typedef FormData_pg_class *Form_pg_class;
-
#ifdef EXPOSE_TO_CLIENT_CODE
#define RELKIND_RELATION 'r' /* ordinary
table */
diff --git a/src/include/catalog/pg_collation.h
b/src/include/catalog/pg_collation.h
index d3366f361d..6d5ac60015 100644
--- a/src/include/catalog/pg_collation.h
+++ b/src/include/catalog/pg_collation.h
@@ -41,14 +41,7 @@ CATALOG(pg_collation,3456,CollationRelationId)
text collversion; /* provider-dependent version of
collation
* data */
#endif
-} FormData_pg_collation;
-
-/* ----------------
- * Form_pg_collation corresponds to a pointer to a row with
- * the format of pg_collation relation.
- * ----------------
- */
-typedef FormData_pg_collation *Form_pg_collation;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_constraint.h
b/src/include/catalog/pg_constraint.h
index c1e60c7dfd..7e27c3ceeb 100644
--- a/src/include/catalog/pg_constraint.h
+++ b/src/include/catalog/pg_constraint.h
@@ -145,14 +145,7 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
*/
pg_node_tree conbin;
#endif
-} FormData_pg_constraint;
-
-/* ----------------
- * Form_pg_constraint corresponds to a pointer to a tuple with
- * the format of pg_constraint relation.
- * ----------------
- */
-typedef FormData_pg_constraint *Form_pg_constraint;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_conversion.h
b/src/include/catalog/pg_conversion.h
index 49c70700ab..c6d56d0852 100644
--- a/src/include/catalog/pg_conversion.h
+++ b/src/include/catalog/pg_conversion.h
@@ -52,14 +52,7 @@ CATALOG(pg_conversion,2607,ConversionRelationId)
/* true if this is a default conversion */
bool condefault BKI_DEFAULT(t);
-} FormData_pg_conversion;
-
-/* ----------------
- * Form_pg_conversion corresponds to a pointer to a tuple with
- * the format of pg_conversion relation.
- * ----------------
- */
-typedef FormData_pg_conversion *Form_pg_conversion;
+};
extern ObjectAddress ConversionCreate(const char *conname, Oid connamespace,
diff --git a/src/include/catalog/pg_database.h
b/src/include/catalog/pg_database.h
index 06fea45f53..91668ef8c1 100644
--- a/src/include/catalog/pg_database.h
+++ b/src/include/catalog/pg_database.h
@@ -71,13 +71,6 @@ CATALOG(pg_database,1262,DatabaseRelationId)
BKI_SHARED_RELATION BKI_ROWTYPE_OID
/* access permissions */
aclitem datacl[1];
#endif
-} FormData_pg_database;
-
-/* ----------------
- * Form_pg_database corresponds to a pointer to a tuple with
- * the format of pg_database relation.
- * ----------------
- */
-typedef FormData_pg_database *Form_pg_database;
+};
#endif /* PG_DATABASE_H */
diff --git a/src/include/catalog/pg_db_role_setting.h
b/src/include/catalog/pg_db_role_setting.h
index 078586d841..47e12210f0 100644
--- a/src/include/catalog/pg_db_role_setting.h
+++ b/src/include/catalog/pg_db_role_setting.h
@@ -39,9 +39,7 @@ CATALOG(pg_db_role_setting,2964,DbRoleSettingRelationId)
BKI_SHARED_RELATION
#ifdef CATALOG_VARLEN /* variable-length fields start here */
text setconfig[1]; /* GUC settings to apply at login */
#endif
-} FormData_pg_db_role_setting;
-
-typedef FormData_pg_db_role_setting * Form_pg_db_role_setting;
+};
/*
* prototypes for functions in pg_db_role_setting.h
diff --git a/src/include/catalog/pg_default_acl.h
b/src/include/catalog/pg_default_acl.h
index 601b11e11c..cb4c2ead0d 100644
--- a/src/include/catalog/pg_default_acl.h
+++ b/src/include/catalog/pg_default_acl.h
@@ -38,14 +38,7 @@ CATALOG(pg_default_acl,826,DefaultAclRelationId)
aclitem defaclacl[1] BKI_FORCE_NOT_NULL; /* permissions
to add at
* CREATE time */
#endif
-} FormData_pg_default_acl;
-
-/* ----------------
- * Form_pg_default_acl corresponds to a pointer to a tuple with
- * the format of pg_default_acl relation.
- * ----------------
- */
-typedef FormData_pg_default_acl *Form_pg_default_acl;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_depend.h b/src/include/catalog/pg_depend.h
index f786445fb2..024a9d9b8c 100644
--- a/src/include/catalog/pg_depend.h
+++ b/src/include/catalog/pg_depend.h
@@ -61,13 +61,6 @@ CATALOG(pg_depend,2608,DependRelationId)
* field. See DependencyType in catalog/dependency.h.
*/
char deptype; /* see codes in dependency.h */
-} FormData_pg_depend;
-
-/* ----------------
- * Form_pg_depend corresponds to a pointer to a row with
- * the format of pg_depend relation.
- * ----------------
- */
-typedef FormData_pg_depend *Form_pg_depend;
+};
#endif /* PG_DEPEND_H */
diff --git a/src/include/catalog/pg_description.h
b/src/include/catalog/pg_description.h
index bdf72b09d4..7c8e453c59 100644
--- a/src/include/catalog/pg_description.h
+++ b/src/include/catalog/pg_description.h
@@ -54,13 +54,6 @@ CATALOG(pg_description,2609,DescriptionRelationId)
#ifdef CATALOG_VARLEN /* variable-length fields start here */
text description BKI_FORCE_NOT_NULL; /* description of
object */
#endif
-} FormData_pg_description;
-
-/* ----------------
- * Form_pg_description corresponds to a pointer to a tuple with
- * the format of pg_description relation.
- * ----------------
- */
-typedef FormData_pg_description * Form_pg_description;
+};
#endif /* PG_DESCRIPTION_H */
diff --git a/src/include/catalog/pg_enum.h b/src/include/catalog/pg_enum.h
index e963cea0b2..b252f2db1f 100644
--- a/src/include/catalog/pg_enum.h
+++ b/src/include/catalog/pg_enum.h
@@ -34,14 +34,7 @@ CATALOG(pg_enum,3501,EnumRelationId)
Oid enumtypid; /* OID of owning enum
type */
float4 enumsortorder; /* sort position of this enum value */
NameData enumlabel; /* text representation of enum
value */
-} FormData_pg_enum;
-
-/* ----------------
- * Form_pg_enum corresponds to a pointer to a tuple with
- * the format of pg_enum relation.
- * ----------------
- */
-typedef FormData_pg_enum *Form_pg_enum;
+};
/*
* prototypes for functions in pg_enum.c
diff --git a/src/include/catalog/pg_event_trigger.h
b/src/include/catalog/pg_event_trigger.h
index 0c95563192..27e93fcca9 100644
--- a/src/include/catalog/pg_event_trigger.h
+++ b/src/include/catalog/pg_event_trigger.h
@@ -39,13 +39,6 @@ CATALOG(pg_event_trigger,3466,EventTriggerRelationId)
#ifdef CATALOG_VARLEN
text evttags[1]; /* command TAGs this event
trigger targets */
#endif
-} FormData_pg_event_trigger;
-
-/* ----------------
- * Form_pg_event_trigger corresponds to a pointer to a tuple with
- * the format of pg_event_trigger relation.
- * ----------------
- */
-typedef FormData_pg_event_trigger *Form_pg_event_trigger;
+};
#endif /* PG_EVENT_TRIGGER_H */
diff --git a/src/include/catalog/pg_extension.h
b/src/include/catalog/pg_extension.h
index 9bdf06da31..cf0b2145f8 100644
--- a/src/include/catalog/pg_extension.h
+++ b/src/include/catalog/pg_extension.h
@@ -40,13 +40,6 @@ CATALOG(pg_extension,3079,ExtensionRelationId)
Oid extconfig[1]; /* dumpable configuration
tables */
text extcondition[1]; /* WHERE clauses for config
tables */
#endif
-} FormData_pg_extension;
-
-/* ----------------
- * Form_pg_extension corresponds to a pointer to a tuple with
- * the format of pg_extension relation.
- * ----------------
- */
-typedef FormData_pg_extension *Form_pg_extension;
+};
#endif /* PG_EXTENSION_H */
diff --git a/src/include/catalog/pg_foreign_data_wrapper.h
b/src/include/catalog/pg_foreign_data_wrapper.h
index 9ee9afd97c..5eb4ad5fce 100644
--- a/src/include/catalog/pg_foreign_data_wrapper.h
+++ b/src/include/catalog/pg_foreign_data_wrapper.h
@@ -38,13 +38,6 @@
CATALOG(pg_foreign_data_wrapper,2328,ForeignDataWrapperRelationId)
aclitem fdwacl[1]; /* access permissions */
text fdwoptions[1]; /* FDW options */
#endif
-} FormData_pg_foreign_data_wrapper;
-
-/* ----------------
- * Form_pg_fdw corresponds to a pointer to a tuple with
- * the format of pg_fdw relation.
- * ----------------
- */
-typedef FormData_pg_foreign_data_wrapper *Form_pg_foreign_data_wrapper;
+};
#endif /*
PG_FOREIGN_DATA_WRAPPER_H */
diff --git a/src/include/catalog/pg_foreign_server.h
b/src/include/catalog/pg_foreign_server.h
index bc155cd2d0..a45ac6f5fb 100644
--- a/src/include/catalog/pg_foreign_server.h
+++ b/src/include/catalog/pg_foreign_server.h
@@ -38,13 +38,6 @@ CATALOG(pg_foreign_server,1417,ForeignServerRelationId)
aclitem srvacl[1]; /* access permissions */
text srvoptions[1]; /* FDW-specific options */
#endif
-} FormData_pg_foreign_server;
-
-/* ----------------
- * Form_pg_foreign_server corresponds to a pointer to a tuple with
- * the format of pg_foreign_server relation.
- * ----------------
- */
-typedef FormData_pg_foreign_server *Form_pg_foreign_server;
+};
#endif /* PG_FOREIGN_SERVER_H
*/
diff --git a/src/include/catalog/pg_foreign_table.h
b/src/include/catalog/pg_foreign_table.h
index 1b77996ef8..bcfa3d6700 100644
--- a/src/include/catalog/pg_foreign_table.h
+++ b/src/include/catalog/pg_foreign_table.h
@@ -33,13 +33,6 @@ CATALOG(pg_foreign_table,3118,ForeignTableRelationId)
#ifdef CATALOG_VARLEN /* variable-length fields start here */
text ftoptions[1]; /* FDW-specific options */
#endif
-} FormData_pg_foreign_table;
-
-/* ----------------
- * Form_pg_foreign_table corresponds to a pointer to a tuple with
- * the format of pg_foreign_table relation.
- * ----------------
- */
-typedef FormData_pg_foreign_table *Form_pg_foreign_table;
+};
#endif /* PG_FOREIGN_TABLE_H */
diff --git a/src/include/catalog/pg_index.h b/src/include/catalog/pg_index.h
index 2438374078..22d94e565e 100644
--- a/src/include/catalog/pg_index.h
+++ b/src/include/catalog/pg_index.h
@@ -56,14 +56,7 @@ CATALOG(pg_index,2610,IndexRelationId) BKI_SCHEMA_MACRO
pg_node_tree indpred; /* expression tree for predicate, if a
partial
* index; else
NULL */
#endif
-} FormData_pg_index;
-
-/* ----------------
- * Form_pg_index corresponds to a pointer to a tuple with
- * the format of pg_index relation.
- * ----------------
- */
-typedef FormData_pg_index *Form_pg_index;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_inherits.h
b/src/include/catalog/pg_inherits.h
index a2061ef787..b171c37a10 100644
--- a/src/include/catalog/pg_inherits.h
+++ b/src/include/catalog/pg_inherits.h
@@ -34,14 +34,7 @@ CATALOG(pg_inherits,2611,InheritsRelationId)
Oid inhrelid;
Oid inhparent;
int32 inhseqno;
-} FormData_pg_inherits;
-
-/* ----------------
- * Form_pg_inherits corresponds to a pointer to a tuple with
- * the format of pg_inherits relation.
- * ----------------
- */
-typedef FormData_pg_inherits *Form_pg_inherits;
+};
extern List *find_inheritance_children(Oid parentrelId, LOCKMODE lockmode);
diff --git a/src/include/catalog/pg_init_privs.h
b/src/include/catalog/pg_init_privs.h
index f1c9776b03..f397afccf6 100644
--- a/src/include/catalog/pg_init_privs.h
+++ b/src/include/catalog/pg_init_privs.h
@@ -53,14 +53,7 @@ CATALOG(pg_init_privs,3394,InitPrivsRelationId)
#ifdef CATALOG_VARLEN /* variable-length fields start here */
aclitem initprivs[1] BKI_FORCE_NOT_NULL; /* initial
privs on object */
#endif
-} FormData_pg_init_privs;
-
-/* ----------------
- * Form_pg_init_privs corresponds to a pointer to a tuple with
- * the format of pg_init_privs relation.
- * ----------------
- */
-typedef FormData_pg_init_privs * Form_pg_init_privs;
+};
/*
* It is important to know if the initial privileges are from initdb or from an
diff --git a/src/include/catalog/pg_language.h
b/src/include/catalog/pg_language.h
index 8aaba6ad20..1dd9713325 100644
--- a/src/include/catalog/pg_language.h
+++ b/src/include/catalog/pg_language.h
@@ -55,13 +55,6 @@ CATALOG(pg_language,2612,LanguageRelationId)
/* Access privileges */
aclitem lanacl[1] BKI_DEFAULT(_null_);
#endif
-} FormData_pg_language;
-
-/* ----------------
- * Form_pg_language corresponds to a pointer to a tuple with
- * the format of pg_language relation.
- * ----------------
- */
-typedef FormData_pg_language *Form_pg_language;
+};
#endif /* PG_LANGUAGE_H */
diff --git a/src/include/catalog/pg_largeobject.h
b/src/include/catalog/pg_largeobject.h
index db5ca8a765..def895696c 100644
--- a/src/include/catalog/pg_largeobject.h
+++ b/src/include/catalog/pg_largeobject.h
@@ -34,14 +34,7 @@ CATALOG(pg_largeobject,2613,LargeObjectRelationId)
/* data has variable length, but we allow direct access; see inv_api.c
*/
bytea data BKI_FORCE_NOT_NULL; /* Data for page (may be
* zero-length) */
-} FormData_pg_largeobject;
-
-/* ----------------
- * Form_pg_largeobject corresponds to a pointer to a tuple with
- * the format of pg_largeobject relation.
- * ----------------
- */
-typedef FormData_pg_largeobject *Form_pg_largeobject;
+};
extern Oid LargeObjectCreate(Oid loid);
extern void LargeObjectDrop(Oid loid);
diff --git a/src/include/catalog/pg_largeobject_metadata.h
b/src/include/catalog/pg_largeobject_metadata.h
index b628b34cf8..b36c451dcc 100644
--- a/src/include/catalog/pg_largeobject_metadata.h
+++ b/src/include/catalog/pg_largeobject_metadata.h
@@ -36,13 +36,6 @@
CATALOG(pg_largeobject_metadata,2995,LargeObjectMetadataRelationId)
#ifdef CATALOG_VARLEN /* variable-length fields start here */
aclitem lomacl[1]; /* access permissions */
#endif
-} FormData_pg_largeobject_metadata;
-
-/* ----------------
- * Form_pg_largeobject_metadata corresponds to a pointer to a tuple
- * with the format of pg_largeobject_metadata relation.
- * ----------------
- */
-typedef FormData_pg_largeobject_metadata *Form_pg_largeobject_metadata;
+};
#endif /*
PG_LARGEOBJECT_METADATA_H */
diff --git a/src/include/catalog/pg_namespace.h
b/src/include/catalog/pg_namespace.h
index bc349e9c73..93d23dc17f 100644
--- a/src/include/catalog/pg_namespace.h
+++ b/src/include/catalog/pg_namespace.h
@@ -41,14 +41,7 @@ CATALOG(pg_namespace,2615,NamespaceRelationId)
#ifdef CATALOG_VARLEN /* variable-length fields start here */
aclitem nspacl[1];
#endif
-} FormData_pg_namespace;
-
-/* ----------------
- * Form_pg_namespace corresponds to a pointer to a tuple with
- * the format of pg_namespace relation.
- * ----------------
- */
-typedef FormData_pg_namespace *Form_pg_namespace;
+};
/*
* prototypes for functions in pg_namespace.c
diff --git a/src/include/catalog/pg_opclass.h b/src/include/catalog/pg_opclass.h
index 84853c14d3..61bd85d051 100644
--- a/src/include/catalog/pg_opclass.h
+++ b/src/include/catalog/pg_opclass.h
@@ -73,13 +73,6 @@ CATALOG(pg_opclass,2616,OperatorClassRelationId)
/* type of data in index, or InvalidOid */
Oid opckeytype BKI_DEFAULT(0) BKI_LOOKUP(pg_type);
-} FormData_pg_opclass;
-
-/* ----------------
- * Form_pg_opclass corresponds to a pointer to a tuple with
- * the format of pg_opclass relation.
- * ----------------
- */
-typedef FormData_pg_opclass *Form_pg_opclass;
+};
#endif /* PG_OPCLASS_H */
diff --git a/src/include/catalog/pg_operator.h
b/src/include/catalog/pg_operator.h
index 7c4f6862a8..7f1b94aa19 100644
--- a/src/include/catalog/pg_operator.h
+++ b/src/include/catalog/pg_operator.h
@@ -74,14 +74,7 @@ CATALOG(pg_operator,2617,OperatorRelationId)
/* OID of join estimator, or 0 */
regproc oprjoin BKI_DEFAULT(-) BKI_LOOKUP(pg_proc);
-} FormData_pg_operator;
-
-/* ----------------
- * Form_pg_operator corresponds to a pointer to a tuple with
- * the format of pg_operator relation.
- * ----------------
- */
-typedef FormData_pg_operator *Form_pg_operator;
+};
extern ObjectAddress OperatorCreate(const char *operatorName,
diff --git a/src/include/catalog/pg_opfamily.h
b/src/include/catalog/pg_opfamily.h
index 0e672d5052..2d3d10807e 100644
--- a/src/include/catalog/pg_opfamily.h
+++ b/src/include/catalog/pg_opfamily.h
@@ -41,14 +41,7 @@ CATALOG(pg_opfamily,2753,OperatorFamilyRelationId)
/* opfamily owner */
Oid opfowner BKI_DEFAULT(PGUID);
-} FormData_pg_opfamily;
-
-/* ----------------
- * Form_pg_opfamily corresponds to a pointer to a tuple with
- * the format of pg_opfamily relation.
- * ----------------
- */
-typedef FormData_pg_opfamily *Form_pg_opfamily;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_partitioned_table.h
b/src/include/catalog/pg_partitioned_table.h
index 806905489f..2d50e730bd 100644
--- a/src/include/catalog/pg_partitioned_table.h
+++ b/src/include/catalog/pg_partitioned_table.h
@@ -51,13 +51,6 @@ CATALOG(pg_partitioned_table,3350,PartitionedRelationId)
pg_node_tree partexprs; /* list of expressions in the partition
key;
* one item for
each zero entry in partattrs[] */
#endif
-} FormData_pg_partitioned_table;
-
-/* ----------------
- * Form_pg_partitioned_table corresponds to a pointer to a tuple
with
- * the format of pg_partitioned_table relation.
- * ----------------
- */
-typedef FormData_pg_partitioned_table *Form_pg_partitioned_table;
+};
#endif /*
PG_PARTITIONED_TABLE_H */
diff --git a/src/include/catalog/pg_pltemplate.h
b/src/include/catalog/pg_pltemplate.h
index ce890004ef..0abe04ef18 100644
--- a/src/include/catalog/pg_pltemplate.h
+++ b/src/include/catalog/pg_pltemplate.h
@@ -40,13 +40,6 @@ CATALOG(pg_pltemplate,1136,PLTemplateRelationId)
BKI_SHARED_RELATION
text tmpllibrary BKI_FORCE_NOT_NULL; /* path of shared
library */
aclitem tmplacl[1]; /* access privileges for
template */
#endif
-} FormData_pg_pltemplate;
-
-/* ----------------
- * Form_pg_pltemplate corresponds to a pointer to a row with
- * the format of pg_pltemplate relation.
- * ----------------
- */
-typedef FormData_pg_pltemplate *Form_pg_pltemplate;
+};
#endif /* PG_PLTEMPLATE_H */
diff --git a/src/include/catalog/pg_policy.h b/src/include/catalog/pg_policy.h
index 62a78d8049..e1f9e68719 100644
--- a/src/include/catalog/pg_policy.h
+++ b/src/include/catalog/pg_policy.h
@@ -40,13 +40,6 @@ CATALOG(pg_policy,3256,PolicyRelationId)
pg_node_tree polqual; /* Policy quals. */
pg_node_tree polwithcheck; /* WITH CHECK quals. */
#endif
-} FormData_pg_policy;
-
-/* ----------------
- * Form_pg_policy corresponds to a pointer to a row with
- * the format of pg_policy relation.
- * ----------------
- */
-typedef FormData_pg_policy *Form_pg_policy;
+};
#endif /* PG_POLICY_H */
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index dc29c06f62..e3245fd446 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -124,14 +124,7 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP
BKI_ROWTYPE_OID(81,Proce
/* access permissions */
aclitem proacl[1] BKI_DEFAULT(_null_);
#endif
-} FormData_pg_proc;
-
-/* ----------------
- * Form_pg_proc corresponds to a pointer to a tuple with
- * the format of pg_proc relation.
- * ----------------
- */
-typedef FormData_pg_proc *Form_pg_proc;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_publication.h
b/src/include/catalog/pg_publication.h
index d4bf5b1e2f..258281b58a 100644
--- a/src/include/catalog/pg_publication.h
+++ b/src/include/catalog/pg_publication.h
@@ -53,14 +53,7 @@ CATALOG(pg_publication,6104,PublicationRelationId)
/* true if truncates are published */
bool pubtruncate;
-} FormData_pg_publication;
-
-/* ----------------
- * Form_pg_publication corresponds to a pointer to a tuple with
- * the format of pg_publication relation.
- * ----------------
- */
-typedef FormData_pg_publication *Form_pg_publication;
+};
typedef struct PublicationActions
{
diff --git a/src/include/catalog/pg_publication_rel.h
b/src/include/catalog/pg_publication_rel.h
index 5f5bc92ab3..47258fad38 100644
--- a/src/include/catalog/pg_publication_rel.h
+++ b/src/include/catalog/pg_publication_rel.h
@@ -31,13 +31,6 @@ CATALOG(pg_publication_rel,6106,PublicationRelRelationId)
Oid oid; /* oid */
Oid prpubid; /* Oid of the
publication */
Oid prrelid; /* Oid of the relation
*/
-} FormData_pg_publication_rel;
-
-/* ----------------
- * Form_pg_publication_rel corresponds to a pointer to a tuple with
- * the format of pg_publication_rel relation.
- * ----------------
- */
-typedef FormData_pg_publication_rel *Form_pg_publication_rel;
+};
#endif /* PG_PUBLICATION_REL_H
*/
diff --git a/src/include/catalog/pg_range.h b/src/include/catalog/pg_range.h
index b01a074d09..0329b8f025 100644
--- a/src/include/catalog/pg_range.h
+++ b/src/include/catalog/pg_range.h
@@ -45,14 +45,7 @@ CATALOG(pg_range,3541,RangeRelationId)
/* subtype difference as a float8, or 0 */
regproc rngsubdiff BKI_LOOKUP(pg_proc);
-} FormData_pg_range;
-
-/* ----------------
- * Form_pg_range corresponds to a pointer to a tuple with
- * the format of pg_range relation.
- * ----------------
- */
-typedef FormData_pg_range *Form_pg_range;
+};
/*
* prototypes for functions in pg_range.c
diff --git a/src/include/catalog/pg_replication_origin.h
b/src/include/catalog/pg_replication_origin.h
index b768584798..e22f2842bd 100644
--- a/src/include/catalog/pg_replication_origin.h
+++ b/src/include/catalog/pg_replication_origin.h
@@ -51,8 +51,6 @@
CATALOG(pg_replication_origin,6000,ReplicationOriginRelationId) BKI_SHARED_RELAT
#ifdef CATALOG_VARLEN /* further variable-length fields */
#endif
-} FormData_pg_replication_origin;
-
-typedef FormData_pg_replication_origin *Form_pg_replication_origin;
+};
#endif /*
PG_REPLICATION_ORIGIN_H */
diff --git a/src/include/catalog/pg_rewrite.h b/src/include/catalog/pg_rewrite.h
index ceb1def6e7..8f16dc7d8b 100644
--- a/src/include/catalog/pg_rewrite.h
+++ b/src/include/catalog/pg_rewrite.h
@@ -42,13 +42,6 @@ CATALOG(pg_rewrite,2618,RewriteRelationId)
pg_node_tree ev_qual BKI_FORCE_NOT_NULL;
pg_node_tree ev_action BKI_FORCE_NOT_NULL;
#endif
-} FormData_pg_rewrite;
-
-/* ----------------
- * Form_pg_rewrite corresponds to a pointer to a tuple with
- * the format of pg_rewrite relation.
- * ----------------
- */
-typedef FormData_pg_rewrite *Form_pg_rewrite;
+};
#endif /* PG_REWRITE_H */
diff --git a/src/include/catalog/pg_seclabel.h
b/src/include/catalog/pg_seclabel.h
index 6e4e07eda6..d64594695d 100644
--- a/src/include/catalog/pg_seclabel.h
+++ b/src/include/catalog/pg_seclabel.h
@@ -35,6 +35,6 @@ CATALOG(pg_seclabel,3596,SecLabelRelationId)
text provider BKI_FORCE_NOT_NULL; /* name of label
provider */
text label BKI_FORCE_NOT_NULL; /* security label of
the object */
#endif
-} FormData_pg_seclabel;
+};
#endif /* PG_SECLABEL_H */
diff --git a/src/include/catalog/pg_sequence.h
b/src/include/catalog/pg_sequence.h
index 897ad141ea..1c378ab24d 100644
--- a/src/include/catalog/pg_sequence.h
+++ b/src/include/catalog/pg_sequence.h
@@ -30,13 +30,6 @@ CATALOG(pg_sequence,2224,SequenceRelationId)
int64 seqmin;
int64 seqcache;
bool seqcycle;
-} FormData_pg_sequence;
-
-/* ----------------
- * Form_pg_sequence corresponds to a pointer to a tuple with
- * the format of pg_sequence relation.
- * ----------------
- */
-typedef FormData_pg_sequence *Form_pg_sequence;
+};
#endif /* PG_SEQUENCE_H */
diff --git a/src/include/catalog/pg_shdepend.h
b/src/include/catalog/pg_shdepend.h
index 915e37040d..609b3a4cfc 100644
--- a/src/include/catalog/pg_shdepend.h
+++ b/src/include/catalog/pg_shdepend.h
@@ -60,13 +60,6 @@ CATALOG(pg_shdepend,1214,SharedDependRelationId)
BKI_SHARED_RELATION
* field. See SharedDependencyType in catalog/dependency.h.
*/
char deptype; /* see codes in dependency.h */
-} FormData_pg_shdepend;
-
-/* ----------------
- * Form_pg_shdepend corresponds to a pointer to a row with
- * the format of pg_shdepend relation.
- * ----------------
- */
-typedef FormData_pg_shdepend *Form_pg_shdepend;
+};
#endif /* PG_SHDEPEND_H */
diff --git a/src/include/catalog/pg_shdescription.h
b/src/include/catalog/pg_shdescription.h
index 5817815c34..a0f6007759 100644
--- a/src/include/catalog/pg_shdescription.h
+++ b/src/include/catalog/pg_shdescription.h
@@ -46,13 +46,6 @@ CATALOG(pg_shdescription,2396,SharedDescriptionRelationId)
BKI_SHARED_RELATION
#ifdef CATALOG_VARLEN /* variable-length fields start here */
text description BKI_FORCE_NOT_NULL; /* description of
object */
#endif
-} FormData_pg_shdescription;
-
-/* ----------------
- * Form_pg_shdescription corresponds to a pointer to a tuple with
- * the format of pg_shdescription relation.
- * ----------------
- */
-typedef FormData_pg_shdescription * Form_pg_shdescription;
+};
#endif /* PG_SHDESCRIPTION_H */
diff --git a/src/include/catalog/pg_shseclabel.h
b/src/include/catalog/pg_shseclabel.h
index 577081031f..02d10fa75e 100644
--- a/src/include/catalog/pg_shseclabel.h
+++ b/src/include/catalog/pg_shseclabel.h
@@ -34,8 +34,6 @@ CATALOG(pg_shseclabel,3592,SharedSecLabelRelationId)
BKI_SHARED_RELATION BKI_ROW
text provider BKI_FORCE_NOT_NULL; /* name of label
provider */
text label BKI_FORCE_NOT_NULL; /* security label of
the object */
#endif
-} FormData_pg_shseclabel;
-
-typedef FormData_pg_shseclabel * Form_pg_shseclabel;
+};
#endif /* PG_SHSECLABEL_H */
diff --git a/src/include/catalog/pg_statistic.h
b/src/include/catalog/pg_statistic.h
index 207be54b9b..aec78830f3 100644
--- a/src/include/catalog/pg_statistic.h
+++ b/src/include/catalog/pg_statistic.h
@@ -121,18 +121,10 @@ CATALOG(pg_statistic,2619,StatisticRelationId)
anyarray stavalues4;
anyarray stavalues5;
#endif
-} FormData_pg_statistic;
+};
#define STATISTIC_NUM_SLOTS 5
-
-/* ----------------
- * Form_pg_statistic corresponds to a pointer to a tuple with
- * the format of pg_statistic relation.
- * ----------------
- */
-typedef FormData_pg_statistic *Form_pg_statistic;
-
#ifdef EXPOSE_TO_CLIENT_CODE
/*
diff --git a/src/include/catalog/pg_statistic_ext.h
b/src/include/catalog/pg_statistic_ext.h
index e449f9efe8..2c128f89df 100644
--- a/src/include/catalog/pg_statistic_ext.h
+++ b/src/include/catalog/pg_statistic_ext.h
@@ -52,14 +52,7 @@ CATALOG(pg_statistic_ext,3381,StatisticExtRelationId)
pg_mcv_list stxmcv; /* MCV (serialized) */
#endif
-} FormData_pg_statistic_ext;
-
-/* ----------------
- * Form_pg_statistic_ext corresponds to a pointer to a tuple with
- * the format of pg_statistic_ext relation.
- * ----------------
- */
-typedef FormData_pg_statistic_ext *Form_pg_statistic_ext;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_subscription.h
b/src/include/catalog/pg_subscription.h
index 3cb13d897e..60fa168372 100644
--- a/src/include/catalog/pg_subscription.h
+++ b/src/include/catalog/pg_subscription.h
@@ -61,9 +61,7 @@ CATALOG(pg_subscription,6100,SubscriptionRelationId)
BKI_SHARED_RELATION BKI_ROW
/* List of publications subscribed to */
text subpublications[1] BKI_FORCE_NOT_NULL;
#endif
-} FormData_pg_subscription;
-
-typedef FormData_pg_subscription *Form_pg_subscription;
+};
typedef struct Subscription
{
diff --git a/src/include/catalog/pg_subscription_rel.h
b/src/include/catalog/pg_subscription_rel.h
index f7df814a18..3a1c811b29 100644
--- a/src/include/catalog/pg_subscription_rel.h
+++ b/src/include/catalog/pg_subscription_rel.h
@@ -36,9 +36,7 @@ CATALOG(pg_subscription_rel,6102,SubscriptionRelRelationId)
char srsubstate; /* state of the relation in
subscription */
XLogRecPtr srsublsn; /* remote lsn of the state
change used for
*
synchronization coordination */
-} FormData_pg_subscription_rel;
-
-typedef FormData_pg_subscription_rel *Form_pg_subscription_rel;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_tablespace.h
b/src/include/catalog/pg_tablespace.h
index 594a81cd9a..02cd8b3754 100644
--- a/src/include/catalog/pg_tablespace.h
+++ b/src/include/catalog/pg_tablespace.h
@@ -36,13 +36,6 @@ CATALOG(pg_tablespace,1213,TableSpaceRelationId)
BKI_SHARED_RELATION
aclitem spcacl[1]; /* access permissions */
text spcoptions[1]; /* per-tablespace options */
#endif
-} FormData_pg_tablespace;
-
-/* ----------------
- * Form_pg_tablespace corresponds to a pointer to a tuple with
- * the format of pg_tablespace relation.
- * ----------------
- */
-typedef FormData_pg_tablespace *Form_pg_tablespace;
+};
#endif /* PG_TABLESPACE_H */
diff --git a/src/include/catalog/pg_transform.h
b/src/include/catalog/pg_transform.h
index 1a255cc8ea..4456c0c649 100644
--- a/src/include/catalog/pg_transform.h
+++ b/src/include/catalog/pg_transform.h
@@ -33,13 +33,6 @@ CATALOG(pg_transform,3576,TransformRelationId)
Oid trflang;
regproc trffromsql;
regproc trftosql;
-} FormData_pg_transform;
-
-/* ----------------
- * Form_pg_transform corresponds to a pointer to a tuple with
- * the format of pg_transform relation.
- * ----------------
- */
-typedef FormData_pg_transform *Form_pg_transform;
+};
#endif /* PG_TRANSFORM_H */
diff --git a/src/include/catalog/pg_trigger.h b/src/include/catalog/pg_trigger.h
index 362be3a6ab..c1cad1c017 100644
--- a/src/include/catalog/pg_trigger.h
+++ b/src/include/catalog/pg_trigger.h
@@ -61,14 +61,7 @@ CATALOG(pg_trigger,2620,TriggerRelationId)
NameData tgoldtable; /* old transition table, or
NULL if none */
NameData tgnewtable; /* new transition table, or
NULL if none */
#endif
-} FormData_pg_trigger;
-
-/* ----------------
- * Form_pg_trigger corresponds to a pointer to a tuple with
- * the format of pg_trigger relation.
- * ----------------
- */
-typedef FormData_pg_trigger *Form_pg_trigger;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_ts_config.h
b/src/include/catalog/pg_ts_config.h
index 7ab97a8aa3..23d942f549 100644
--- a/src/include/catalog/pg_ts_config.h
+++ b/src/include/catalog/pg_ts_config.h
@@ -43,8 +43,6 @@ CATALOG(pg_ts_config,3602,TSConfigRelationId)
/* OID of parser */
Oid cfgparser BKI_LOOKUP(pg_ts_parser);
-} FormData_pg_ts_config;
-
-typedef FormData_pg_ts_config *Form_pg_ts_config;
+};
#endif /* PG_TS_CONFIG_H */
diff --git a/src/include/catalog/pg_ts_config_map.h
b/src/include/catalog/pg_ts_config_map.h
index 7892e17d71..9ca6b11303 100644
--- a/src/include/catalog/pg_ts_config_map.h
+++ b/src/include/catalog/pg_ts_config_map.h
@@ -40,8 +40,6 @@ CATALOG(pg_ts_config_map,3603,TSConfigMapRelationId)
/* dictionary to consult */
Oid mapdict BKI_LOOKUP(pg_ts_dict);
-} FormData_pg_ts_config_map;
-
-typedef FormData_pg_ts_config_map *Form_pg_ts_config_map;
+};
#endif /* PG_TS_CONFIG_MAP_H */
diff --git a/src/include/catalog/pg_ts_dict.h b/src/include/catalog/pg_ts_dict.h
index be7f016c11..7b4d6b99e2 100644
--- a/src/include/catalog/pg_ts_dict.h
+++ b/src/include/catalog/pg_ts_dict.h
@@ -47,8 +47,6 @@ CATALOG(pg_ts_dict,3600,TSDictionaryRelationId)
/* options passed to dict_init() */
text dictinitoption;
#endif
-} FormData_pg_ts_dict;
-
-typedef FormData_pg_ts_dict *Form_pg_ts_dict;
+};
#endif /* PG_TS_DICT_H */
diff --git a/src/include/catalog/pg_ts_parser.h
b/src/include/catalog/pg_ts_parser.h
index 88ef79d3ab..2986292ddb 100644
--- a/src/include/catalog/pg_ts_parser.h
+++ b/src/include/catalog/pg_ts_parser.h
@@ -50,8 +50,6 @@ CATALOG(pg_ts_parser,3601,TSParserRelationId)
/* return descriptions of lexeme's types */
regproc prslextype BKI_LOOKUP(pg_proc);
-} FormData_pg_ts_parser;
-
-typedef FormData_pg_ts_parser *Form_pg_ts_parser;
+};
#endif /* PG_TS_PARSER_H */
diff --git a/src/include/catalog/pg_ts_template.h
b/src/include/catalog/pg_ts_template.h
index afaff027d3..5d50001817 100644
--- a/src/include/catalog/pg_ts_template.h
+++ b/src/include/catalog/pg_ts_template.h
@@ -41,8 +41,6 @@ CATALOG(pg_ts_template,3764,TSTemplateRelationId)
/* base method of dictionary */
regproc tmpllexize BKI_LOOKUP(pg_proc);
-} FormData_pg_ts_template;
-
-typedef FormData_pg_ts_template *Form_pg_ts_template;
+};
#endif /* PG_TS_TEMPLATE_H */
diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h
index 2a584b4b13..6d9c2e614f 100644
--- a/src/include/catalog/pg_type.h
+++ b/src/include/catalog/pg_type.h
@@ -241,14 +241,7 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP
BKI_ROWTYPE_OID(71,TypeRelati
*/
aclitem typacl[1] BKI_DEFAULT(_null_);
#endif
-} FormData_pg_type;
-
-/* ----------------
- * Form_pg_type corresponds to a pointer to a row with
- * the format of pg_type relation.
- * ----------------
- */
-typedef FormData_pg_type *Form_pg_type;
+};
#ifdef EXPOSE_TO_CLIENT_CODE
diff --git a/src/include/catalog/pg_user_mapping.h
b/src/include/catalog/pg_user_mapping.h
index e496828dca..4d6d76ae4a 100644
--- a/src/include/catalog/pg_user_mapping.h
+++ b/src/include/catalog/pg_user_mapping.h
@@ -36,13 +36,6 @@ CATALOG(pg_user_mapping,1418,UserMappingRelationId)
#ifdef CATALOG_VARLEN /* variable-length fields start here */
text umoptions[1]; /* user mapping options */
#endif
-} FormData_pg_user_mapping;
-
-/* ----------------
- * Form_pg_user_mapping corresponds to a pointer to a tuple with
- * the format of pg_user_mapping relation.
- * ----------------
- */
-typedef FormData_pg_user_mapping *Form_pg_user_mapping;
+};
#endif /* PG_USER_MAPPING_H */
--
2.22.0