Re: BUG #15839: Using text field for sorting in prepared query leads to wrong result

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: me(at)helld(dot)ru, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15839: Using text field for sorting in prepared query leads to wrong result
Date: 2019-06-07 16:06:44
Message-ID: CAKFQuwa_TV9hxL7Xax5tsmP8di1PZ_Dm_erSp=5atTT-6Gu45g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Fri, Jun 7, 2019 at 7:31 AM PG Bug reporting form <noreply(at)postgresql(dot)org>
wrote:

> The following bug has been logged on the website:
>
> Bug reference: 15839
> Logged by: Александр Черников
> Email address: me(at)helld(dot)ru
> PostgreSQL version: 10.6
> Operating system: Ubuntu 18.04.1
> Description:
>
> Example request:
> select * from orders where ClientId=$1 and Moment >= $2 and Moment < $3
> order by $4 desc, ClientId limit $5 offset ($5-1)*$6;
> Field in question is $4
> Expected result - poor performance or clear error that dynamic sorting
> cannot be used
>

There is no bug here.

You wrote a valid query so no error should be issued. I don't see where
performance should come into this at all.

That parameters can only replace values, not identifiers, is a learning
issue that one just needs to usually encounter and take into memory. There
is no substitute for experimentation and validating ones queries. Quite
few problematic queries will execute just fine but give unexpected results.

David J.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2019-06-07 18:22:20 BUG #15840: Vacuum does not work after database stopped for wraparound protection. Database seems unrepearable.
Previous Message PG Bug reporting form 2019-06-07 14:30:08 BUG #15839: Using text field for sorting in prepared query leads to wrong result