Re: pg_dump: sortDumpableObjectsByTypeName() doesn't always do that - Mailing list pgsql-hackers

From Jacob Champion
Subject Re: pg_dump: sortDumpableObjectsByTypeName() doesn't always do that
Date
Msg-id CABAq_6HtzPS=Q=SnvYCpPypACG3ahxoesNmytJSa2GJahsqYCA@mail.gmail.com
Whole thread Raw
In response to Re: pg_dump: sortDumpableObjectsByTypeName() doesn't always do that  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pg_dump: sortDumpableObjectsByTypeName() doesn't always do that
Re: pg_dump: sortDumpableObjectsByTypeName() doesn't always do that
List pgsql-hackers
On Mon, Aug 6, 2018 at 12:13 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Do you mean "incorrect results", or just "unstable results"?
> If the former, what's incorrect about it?

Incorrect, as in "the results are not sorted by type name." Here's an
example ordering that we saw -- but note that you won't be able to
repro since it relies on the Greenplum bug I mentioned.

...
pg_catalog.xlogloc_ops
public._tmp_table
public.a
public.a_star
<null>.abstime date
<null>.abstime int4
<null>.abstime time
<null>.abstime timestamp
<null>.abstime timestamptz
gporca_faults.foo
...

You can see the inversion between public._tmp_table (which is TABLE
DATA) and gporca_faults.foo (which is also TABLE DATA). I can try to
work on a Postgres-specific test case if you'd like, but since the
root cause is that we're not defining a valid ordering, quicksort may
or may not behave consistently for test purposes. We got "lucky" here;
otherwise we'd never have noticed.

--Jacob


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: pg_dump: sortDumpableObjectsByTypeName() doesn't always do that
Next
From: Stephen Frost
Date:
Subject: Re: Standby trying "restore_command" before local WAL