@@ -70,10 +70,25 @@ must_be_superuser(const char *func)
70
70
elog (ERROR , "must be superuser to use %s function" , func );
71
71
}
72
72
73
+
74
+ /* Include an implementation of RenameRelationInternal for old
75
+ * versions which don't have one.
76
+ */
73
77
#if PG_VERSION_NUM < 80400
74
78
static void RenameRelationInternal (Oid myrelid , const char * newrelname , Oid namespaceId );
75
79
#endif
76
80
81
+
82
+ /* The API of RenameRelationInternal() was changed in 9.2.
83
+ * Use the RENAME_REL macro for compatibility across versions.
84
+ */
85
+ #if PG_VERSION_NUM < 90200
86
+ #define RENAME_REL (relid , newrelname ) RenameRelationInternal(relid, newrelname, PG_TOAST_NAMESPACE);
87
+ #else
88
+ #define RENAME_REL (relid , newrelname ) RenameRelationInternal(relid, newrelname);
89
+ #endif
90
+
91
+
77
92
Datum
78
93
reorg_version (PG_FUNCTION_ARGS )
79
94
{
@@ -730,9 +745,9 @@ reorg_swap(PG_FUNCTION_ARGS)
730
745
731
746
/* rename X to Y */
732
747
snprintf (name , NAMEDATALEN , "pg_toast_%u" , oid2 );
733
- RenameRelationInternal (reltoastrelid1 , name , PG_TOAST_NAMESPACE );
748
+ RENAME_REL (reltoastrelid1 , name );
734
749
snprintf (name , NAMEDATALEN , "pg_toast_%u_index" , oid2 );
735
- RenameRelationInternal (reltoastidxid1 , name , PG_TOAST_NAMESPACE );
750
+ RENAME_REL (reltoastidxid1 , name );
736
751
CommandCounterIncrement ();
737
752
}
738
753
else if (reltoastrelid1 != InvalidOid )
@@ -742,23 +757,23 @@ reorg_swap(PG_FUNCTION_ARGS)
742
757
743
758
/* rename X to TEMP */
744
759
snprintf (name , NAMEDATALEN , "pg_toast_pid%d" , pid );
745
- RenameRelationInternal (reltoastrelid1 , name , PG_TOAST_NAMESPACE );
760
+ RENAME_REL (reltoastrelid1 , name );
746
761
snprintf (name , NAMEDATALEN , "pg_toast_pid%d_index" , pid );
747
- RenameRelationInternal (reltoastidxid1 , name , PG_TOAST_NAMESPACE );
762
+ RENAME_REL (reltoastidxid1 , name );
748
763
CommandCounterIncrement ();
749
764
750
765
/* rename Y to X */
751
766
snprintf (name , NAMEDATALEN , "pg_toast_%u" , oid );
752
- RenameRelationInternal (reltoastrelid2 , name , PG_TOAST_NAMESPACE );
767
+ RENAME_REL (reltoastrelid2 , name );
753
768
snprintf (name , NAMEDATALEN , "pg_toast_%u_index" , oid );
754
- RenameRelationInternal (reltoastidxid2 , name , PG_TOAST_NAMESPACE );
769
+ RENAME_REL (reltoastidxid2 , name );
755
770
CommandCounterIncrement ();
756
771
757
772
/* rename TEMP to Y */
758
773
snprintf (name , NAMEDATALEN , "pg_toast_%u" , oid2 );
759
- RenameRelationInternal (reltoastrelid1 , name , PG_TOAST_NAMESPACE );
774
+ RENAME_REL (reltoastrelid1 , name );
760
775
snprintf (name , NAMEDATALEN , "pg_toast_%u_index" , oid2 );
761
- RenameRelationInternal (reltoastidxid1 , name , PG_TOAST_NAMESPACE );
776
+ RENAME_REL (reltoastidxid1 , name );
762
777
CommandCounterIncrement ();
763
778
}
764
779
0 commit comments