ERROR in 8.0 driver, but not 7.4: SELECT DISTINCT, ORDER BY expressions must appear in select list - Mailing list pgsql-jdbc

From sumit shah
Subject ERROR in 8.0 driver, but not 7.4: SELECT DISTINCT, ORDER BY expressions must appear in select list
Date
Msg-id FAAF6A95-5B9F-49C9-9808-782F808E4844@ucla.edu
Whole thread Raw
Responses Re: ERROR in 8.0 driver, but not 7.4: SELECT DISTINCT, ORDER
List pgsql-jdbc
Dear Postgres JDBC hackers:

I've just recently started testing the postgres JDBC 3 driver
(8.0-311) after using JDBC 3 (pg74.216.jdbc).  I now get an error on
a query of the type:

SELECT DISTINCT column1, column2 FROM table1 ORDER BY 1

where the "1" in the ORDER BY is set by PreparedStatement.setInt method

The error is: "SELECT DISTINCT, ORDER BY expressions must appear in
select list"

The error disappears when I change the query to:

SELECT DISTINCT column1, column2 FROM table1 ORDER BY  column1

or when I hard code the ORDER BY 1 in the query instead of setting it
via setInt.

This error occurs only with the 8.0-311 driver or the 8.1dev-400 jdbc
drivers, it does not occur with the pg74-216 driver.  This occurs
with both the 7.4 and 8.0 backends.

Is this change in behavior expected and our code was simply relying
on old semantics or misinterpretation of the JDBC standard?

Thanks,
Sumit

pgsql-jdbc by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: Using PgSQL in high volume and throughput problem
Next
From: Dave Cramer
Date:
Subject: Re: ERROR in 8.0 driver, but not 7.4: SELECT DISTINCT, ORDER