On Tue, Nov 3, 2015 at 11:35 PM, Robert Haas <robertmh...@gmail.com> wrote:
> On Fri, Oct 30, 2015 at 6:19 AM, Ashutosh Bapat > <ashutosh.ba...@enterprisedb.com> wrote: > > If there is a collate clause in the ORDER BY, the server crashes with > > assertion > > + Assert(loc_cxt.state == FDW_COLLATE_NONE || > > + loc_cxt.state == FDW_COLLATE_SAFE); > > > > > > The assertion is fine as long as is_foreign_expr() tests only boolean > > expressions (appearing in quals). This patch uses the function to test an > > expression appearing in ORDER BY clause, which need not be boolean. > Attached > > patch removed the assertion and instead makes the function return false, > > when the walker deems collation of the expression unsafe. The walker can > not > > return false when it encounter unsafe expression since the subtree it's > > examining might be part of an expression which does not use the collation > > ultimately. > > I've committed this version. > > Thanks. > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company