aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/bootstrap/bootstrap.c2
-rw-r--r--src/backend/catalog/genbki.pl8
-rw-r--r--src/backend/commands/event_trigger.c2
-rw-r--r--src/backend/utils/misc/pg_controldata.c10
-rw-r--r--src/fe_utils/print.c2
-rw-r--r--src/include/catalog/pg_type.dat30
-rw-r--r--src/include/catalog/pg_type.h7
-rw-r--r--src/interfaces/ecpg/ecpglib/execute.c2
-rw-r--r--src/pl/plperl/plperl.c4
-rw-r--r--src/pl/plpgsql/src/pl_comp.c2
-rw-r--r--src/pl/plpgsql/src/pl_handler.c2
-rw-r--r--src/pl/plpython/plpy_procedure.c2
-rw-r--r--src/pl/tcl/pltcl.c2
13 files changed, 38 insertions, 37 deletions
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index 76b2f5066f6..a7ed93fdc14 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -133,7 +133,7 @@ static const struct typinfo TypInfo[] = {
F_XIDIN, F_XIDOUT},
{"cid", CIDOID, 0, 4, true, TYPALIGN_INT, TYPSTORAGE_PLAIN, InvalidOid,
F_CIDIN, F_CIDOUT},
- {"pg_node_tree", PGNODETREEOID, 0, -1, false, TYPALIGN_INT, TYPSTORAGE_EXTENDED, DEFAULT_COLLATION_OID,
+ {"pg_node_tree", PG_NODE_TREEOID, 0, -1, false, TYPALIGN_INT, TYPSTORAGE_EXTENDED, DEFAULT_COLLATION_OID,
F_PG_NODE_TREE_IN, F_PG_NODE_TREE_OUT},
{"int2vector", INT2VECTOROID, INT2OID, -1, false, TYPALIGN_INT, TYPSTORAGE_PLAIN, InvalidOid,
F_INT2VECTORIN, F_INT2VECTOROUT},
diff --git a/src/backend/catalog/genbki.pl b/src/backend/catalog/genbki.pl
index 47b1a5d7908..66fdaf67b13 100644
--- a/src/backend/catalog/genbki.pl
+++ b/src/backend/catalog/genbki.pl
@@ -588,9 +588,13 @@ EOM
}
# Special hack to generate OID symbols for pg_type entries
- # that lack one.
- if ($catname eq 'pg_type' and !exists $bki_values{oid_symbol})
+ if ($catname eq 'pg_type')
{
+ die sprintf
+ "custom OID symbols are not allowed for pg_type entries: '%s'",
+ $bki_values{oid_symbol}
+ if defined $bki_values{oid_symbol};
+
my $symbol = form_pg_type_symbol($bki_values{typname});
$bki_values{oid_symbol} = $symbol
if defined $symbol;
diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c
index 8bb17c34f5b..3ffba4e63ec 100644
--- a/src/backend/commands/event_trigger.c
+++ b/src/backend/commands/event_trigger.c
@@ -177,7 +177,7 @@ CreateEventTrigger(CreateEventTrigStmt *stmt)
/* Find and validate the trigger function. */
funcoid = LookupFuncName(stmt->funcname, 0, NULL, false);
funcrettype = get_func_rettype(funcoid);
- if (funcrettype != EVTTRIGGEROID)
+ if (funcrettype != EVENT_TRIGGEROID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
errmsg("function %s must return type %s",
diff --git a/src/backend/utils/misc/pg_controldata.c b/src/backend/utils/misc/pg_controldata.c
index 60923127589..d50d87a6021 100644
--- a/src/backend/utils/misc/pg_controldata.c
+++ b/src/backend/utils/misc/pg_controldata.c
@@ -94,9 +94,9 @@ pg_control_checkpoint(PG_FUNCTION_ARGS)
*/
tupdesc = CreateTemplateTupleDesc(18);
TupleDescInitEntry(tupdesc, (AttrNumber) 1, "checkpoint_lsn",
- LSNOID, -1, 0);
+ PG_LSNOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 2, "redo_lsn",
- LSNOID, -1, 0);
+ PG_LSNOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 3, "redo_wal_file",
TEXTOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 4, "timeline_id",
@@ -223,13 +223,13 @@ pg_control_recovery(PG_FUNCTION_ARGS)
*/
tupdesc = CreateTemplateTupleDesc(5);
TupleDescInitEntry(tupdesc, (AttrNumber) 1, "min_recovery_end_lsn",
- LSNOID, -1, 0);
+ PG_LSNOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 2, "min_recovery_end_timeline",
INT4OID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 3, "backup_start_lsn",
- LSNOID, -1, 0);
+ PG_LSNOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 4, "backup_end_lsn",
- LSNOID, -1, 0);
+ PG_LSNOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 5, "end_of_backup_record_required",
BOOLOID, -1, 0);
tupdesc = BlessTupleDesc(tupdesc);
diff --git a/src/fe_utils/print.c b/src/fe_utils/print.c
index 508f537c0c7..d542792230f 100644
--- a/src/fe_utils/print.c
+++ b/src/fe_utils/print.c
@@ -3495,7 +3495,7 @@ column_type_alignment(Oid ftype)
case XIDOID:
case XID8OID:
case CIDOID:
- case CASHOID:
+ case MONEYOID:
align = 'r';
break;
default:
diff --git a/src/include/catalog/pg_type.dat b/src/include/catalog/pg_type.dat
index b2cec074168..21a467a7a7a 100644
--- a/src/include/catalog/pg_type.dat
+++ b/src/include/catalog/pg_type.dat
@@ -15,14 +15,10 @@
# For types used in the system catalogs, make sure the values here match
# TypInfo[] in bootstrap.c.
-# OID symbol macro names for pg_type OIDs are generated by genbki.pl
-# according to the following rule, so you don't need to specify them
-# here:
+# OID symbol macro names for pg_type OIDs are not specified here because
+# they are generated by genbki.pl according to the following rule:
# foo_bar -> FOO_BAROID
# _foo_bar -> FOO_BARARRAYOID
-#
-# The only oid_symbol entries in this file are for names that don't match
-# this rule, and are grandfathered in.
# To autogenerate an array type, add 'array_type_oid => 'nnnn' to the element
# type, which will instruct genbki.pl to generate a BKI entry for it.
@@ -144,35 +140,30 @@
typname => 'xml', typlen => '-1', typbyval => 'f', typcategory => 'U',
typinput => 'xml_in', typoutput => 'xml_out', typreceive => 'xml_recv',
typsend => 'xml_send', typalign => 'i', typstorage => 'x' },
-{ oid => '194', oid_symbol => 'PGNODETREEOID',
- descr => 'string representing an internal node tree',
+{ oid => '194', descr => 'string representing an internal node tree',
typname => 'pg_node_tree', typlen => '-1', typbyval => 'f',
typcategory => 'S', typinput => 'pg_node_tree_in',
typoutput => 'pg_node_tree_out', typreceive => 'pg_node_tree_recv',
typsend => 'pg_node_tree_send', typalign => 'i', typstorage => 'x',
typcollation => 'default' },
-{ oid => '3361', oid_symbol => 'PGNDISTINCTOID',
- descr => 'multivariate ndistinct coefficients',
+{ oid => '3361', descr => 'multivariate ndistinct coefficients',
typname => 'pg_ndistinct', typlen => '-1', typbyval => 'f',
typcategory => 'S', typinput => 'pg_ndistinct_in',
typoutput => 'pg_ndistinct_out', typreceive => 'pg_ndistinct_recv',
typsend => 'pg_ndistinct_send', typalign => 'i', typstorage => 'x',
typcollation => 'default' },
-{ oid => '3402', oid_symbol => 'PGDEPENDENCIESOID',
- descr => 'multivariate dependencies',
+{ oid => '3402', descr => 'multivariate dependencies',
typname => 'pg_dependencies', typlen => '-1', typbyval => 'f',
typcategory => 'S', typinput => 'pg_dependencies_in',
typoutput => 'pg_dependencies_out', typreceive => 'pg_dependencies_recv',
typsend => 'pg_dependencies_send', typalign => 'i', typstorage => 'x',
typcollation => 'default' },
-{ oid => '5017', oid_symbol => 'PGMCVLISTOID',
- descr => 'multivariate MCV list',
+{ oid => '5017', descr => 'multivariate MCV list',
typname => 'pg_mcv_list', typlen => '-1', typbyval => 'f', typcategory => 'S',
typinput => 'pg_mcv_list_in', typoutput => 'pg_mcv_list_out',
typreceive => 'pg_mcv_list_recv', typsend => 'pg_mcv_list_send',
typalign => 'i', typstorage => 'x', typcollation => 'default' },
-{ oid => '32', oid_symbol => 'PGDDLCOMMANDOID',
- descr => 'internal type for passing CollectedCommand',
+{ oid => '32', descr => 'internal type for passing CollectedCommand',
typname => 'pg_ddl_command', typlen => 'SIZEOF_POINTER', typbyval => 't',
typtype => 'p', typcategory => 'P', typinput => 'pg_ddl_command_in',
typoutput => 'pg_ddl_command_out', typreceive => 'pg_ddl_command_recv',
@@ -237,7 +228,7 @@
typname => 'circle', typlen => '24', typbyval => 'f', typcategory => 'G',
typinput => 'circle_in', typoutput => 'circle_out',
typreceive => 'circle_recv', typsend => 'circle_send', typalign => 'd' },
-{ oid => '790', oid_symbol => 'CASHOID', array_type_oid => '791',
+{ oid => '790', array_type_oid => '791',
descr => 'monetary amounts, $d,ddd.cc',
typname => 'money', typlen => '8', typbyval => 'FLOAT8PASSBYVAL',
typcategory => 'N', typinput => 'cash_in', typoutput => 'cash_out',
@@ -409,8 +400,7 @@
typsend => 'uuid_send', typalign => 'c' },
# pg_lsn
-{ oid => '3220', oid_symbol => 'LSNOID', array_type_oid => '3221',
- descr => 'PostgreSQL LSN datatype',
+{ oid => '3220', array_type_oid => '3221', descr => 'PostgreSQL LSN datatype',
typname => 'pg_lsn', typlen => '8', typbyval => 'FLOAT8PASSBYVAL',
typcategory => 'U', typinput => 'pg_lsn_in', typoutput => 'pg_lsn_out',
typreceive => 'pg_lsn_recv', typsend => 'pg_lsn_send', typalign => 'd' },
@@ -542,7 +532,7 @@
typname => 'trigger', typlen => '4', typbyval => 't', typtype => 'p',
typcategory => 'P', typinput => 'trigger_in', typoutput => 'trigger_out',
typreceive => '-', typsend => '-', typalign => 'i' },
-{ oid => '3838', oid_symbol => 'EVTTRIGGEROID',
+{ oid => '3838',
descr => 'pseudo-type for the result of an event trigger function',
typname => 'event_trigger', typlen => '4', typbyval => 't', typtype => 'p',
typcategory => 'P', typinput => 'event_trigger_in',
diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h
index 7b375626484..6ae6edf7e0e 100644
--- a/src/include/catalog/pg_type.h
+++ b/src/include/catalog/pg_type.h
@@ -312,6 +312,13 @@ typedef FormData_pg_type *Form_pg_type;
(typid) == ANYCOMPATIBLENONARRAYOID || \
(typid) == ANYCOMPATIBLERANGEOID)
+/*
+ * Backwards compatibility for ancient random spellings of pg_type OID macros.
+ * Don't use these names in new code.
+ */
+#define CASHOID MONEYOID
+#define LSNOID PG_LSNOID
+
#endif /* EXPOSE_TO_CLIENT_CODE */
diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c
index 9d61ae72506..930b6adbe4f 100644
--- a/src/interfaces/ecpg/ecpglib/execute.c
+++ b/src/interfaces/ecpg/ecpglib/execute.c
@@ -230,7 +230,7 @@ ecpg_is_type_an_array(int type, const struct statement *stmt, const struct varia
return ECPG_ARRAY_ERROR;
if (!ecpg_type_infocache_push(&(stmt->connection->cache_head), CIRCLEOID, ECPG_ARRAY_NONE, stmt->lineno))
return ECPG_ARRAY_ERROR;
- if (!ecpg_type_infocache_push(&(stmt->connection->cache_head), CASHOID, ECPG_ARRAY_NONE, stmt->lineno))
+ if (!ecpg_type_infocache_push(&(stmt->connection->cache_head), MONEYOID, ECPG_ARRAY_NONE, stmt->lineno))
return ECPG_ARRAY_ERROR;
if (!ecpg_type_infocache_push(&(stmt->connection->cache_head), INETOID, ECPG_ARRAY_NONE, stmt->lineno))
return ECPG_ARRAY_ERROR;
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 5fdf303fe6b..7844c500eee 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -2002,7 +2002,7 @@ plperl_validator(PG_FUNCTION_ARGS)
{
if (proc->prorettype == TRIGGEROID)
is_trigger = true;
- else if (proc->prorettype == EVTTRIGGEROID)
+ else if (proc->prorettype == EVENT_TRIGGEROID)
is_event_trigger = true;
else if (proc->prorettype != RECORDOID &&
proc->prorettype != VOIDOID)
@@ -2838,7 +2838,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger, bool is_event_trigger)
rettype == RECORDOID)
/* okay */ ;
else if (rettype == TRIGGEROID ||
- rettype == EVTTRIGGEROID)
+ rettype == EVENT_TRIGGEROID)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("trigger functions can only be called "
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index 344627da956..6df8e14629d 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -551,7 +551,7 @@ do_compile(FunctionCallInfo fcinfo,
if (rettypeid == VOIDOID ||
rettypeid == RECORDOID)
/* okay */ ;
- else if (rettypeid == TRIGGEROID || rettypeid == EVTTRIGGEROID)
+ else if (rettypeid == TRIGGEROID || rettypeid == EVENT_TRIGGEROID)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("trigger functions can only be called as triggers")));
diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c
index b13bd2be31c..7ece87df48b 100644
--- a/src/pl/plpgsql/src/pl_handler.c
+++ b/src/pl/plpgsql/src/pl_handler.c
@@ -445,7 +445,7 @@ plpgsql_validator(PG_FUNCTION_ARGS)
{
if (proc->prorettype == TRIGGEROID)
is_dml_trigger = true;
- else if (proc->prorettype == EVTTRIGGEROID)
+ else if (proc->prorettype == EVENT_TRIGGEROID)
is_event_trigger = true;
else if (proc->prorettype != RECORDOID &&
proc->prorettype != VOIDOID &&
diff --git a/src/pl/plpython/plpy_procedure.c b/src/pl/plpython/plpy_procedure.c
index ec47f52e61d..1f05c633ef2 100644
--- a/src/pl/plpython/plpy_procedure.c
+++ b/src/pl/plpython/plpy_procedure.c
@@ -220,7 +220,7 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger)
if (rettype == VOIDOID ||
rettype == RECORDOID)
/* okay */ ;
- else if (rettype == TRIGGEROID || rettype == EVTTRIGGEROID)
+ else if (rettype == TRIGGEROID || rettype == EVENT_TRIGGEROID)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("trigger functions can only be called as triggers")));
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c
index f4eabc8f39c..a3a2dc8e89f 100644
--- a/src/pl/tcl/pltcl.c
+++ b/src/pl/tcl/pltcl.c
@@ -1532,7 +1532,7 @@ compile_pltcl_function(Oid fn_oid, Oid tgreloid,
rettype == RECORDOID)
/* okay */ ;
else if (rettype == TRIGGEROID ||
- rettype == EVTTRIGGEROID)
+ rettype == EVENT_TRIGGEROID)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("trigger functions can only be called as triggers")));