Statement.executeQuery() and no results

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

Responses

Browse pgsql-jdbc by date

  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.