aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_dump_sort.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bin/pg_dump/pg_dump_sort.c b/src/bin/pg_dump/pg_dump_sort.c
index 4cb754caa55..675bbf12338 100644
--- a/src/bin/pg_dump/pg_dump_sort.c
+++ b/src/bin/pg_dump/pg_dump_sort.c
@@ -294,6 +294,17 @@ DOTypeNameCompare(const void *p1, const void *p2)
if (cmpval != 0)
return cmpval;
}
+ else if (obj1->objType == DO_RULE)
+ {
+ RuleInfo *robj1 = *(RuleInfo *const *) p1;
+ RuleInfo *robj2 = *(RuleInfo *const *) p2;
+
+ /* Sort by table name (table namespace was considered already) */
+ cmpval = strcmp(robj1->ruletable->dobj.name,
+ robj2->ruletable->dobj.name);
+ if (cmpval != 0)
+ return cmpval;
+ }
else if (obj1->objType == DO_TRIGGER)
{
TriggerInfo *tobj1 = *(TriggerInfo *const *) p1;