From: | Sailesh Krishnamurthy <sailesh(at)cs(dot)berkeley(dot)edu> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Statement.executeQuery() and no results |
Date: | 2003-07-23 02:48:49 |
Message-ID: | bxyy8yqdkku.fsf@datafix.cs.berkeley.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Folks
When we run a query that produces no results, executeQuery() returns
an exception instead of a ResultSet object for which the first call to
next() returns false. (This is with a driver for pgsql 7.3.2)
Here is some code in AbstractJdbc1Statement.java
/*
* A Prepared SQL query is executed and its ResultSet is returned
*
* @return a ResultSet that contains the data produced by the
* * query - never null
* @exception SQLException if a database access error occurs
*/
public java.sql.ResultSet executeQuery() throws SQLException
{
this.execute(false);
while (result != null && !((AbstractJdbc1ResultSet)result).reallyResultSet())
result = ((AbstractJdbc1ResultSet)result).getNext();
if (result == null)
throw new PSQLException("postgresql.stat.noresult");
return result;
}
Is my understanding correct ? Is this working as designed ? I'm not
convinced that this is as per the spec. I would rather see a ResultSet
object returned instead of an exception.
--
Pip-pip
Sailesh
http://www.cs.berkeley.edu/~sailesh
From | Date | Subject | |
---|---|---|---|
Next Message | Kris Jurka | 2003-07-23 02:55:07 | Re: Statement.executeQuery() and no results |
Previous Message | Kris Jurka | 2003-07-23 02:31:33 | Re: RFC: Removal of support for JDBC1 drivers. |