PreparedStatement suggestion

From: Philip Crotwell <crotwell(at)seis(dot)sc(dot)edu>
To: pgsql-jdbc <pgsql-jdbc(at)postgresql(dot)org>
Subject: PreparedStatement suggestion
Date: 2001-01-31 16:35:58
Message-ID: Pine.GSO.4.10.10101311120490.8112-100000@tigger.seis.sc.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc


Hi

Not sure if it is easy or not given the translation in PSQLException, but
it would be nice if the paramIndex could be included in the error message
when it is out of range. An alternative would be to have one message for
paramIndex == 0 and another for paramIndex > inStrings.length.

This would help users find stupid bugs like using index=0, which is
likely to be a common bug IMHO. ( Yes, you guessed it, I just found an
index=0 bug in my code :)

Perhaps something like changing set from PreparedStatement.java to:

private void set(int paramIndex, String s) throws SQLException
{
if (paramIndex < 1)
throw new PSQLException("postgresql.prep.rangesmall");
if (paramIndex > inStrings.length)
throw new PSQLException("postgresql.prep.rangelarge");
inStrings[paramIndex - 1] = s;
}

And then have the messages be:
Parameter index out of range, less than one.
and
Parameter index out of range, too large.
or something.

Just a thought,
thanks,
Philip

PS some of the links on jdbc.postgres.org seem to be broken in the left
side navigation. For example Download points to
http://jdbc.postgresql.org/postgres/download.html
but it should be
http://jdbc.postgresql.org/download.html

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message William Webber 2001-02-01 03:56:31 DatabaseMetaData.getIndexInfo() added
Previous Message Peter T Mount 2001-01-31 08:30:27 Re: JDBC Connection Problem