Quoting Philip Crotwell <crotwell@seis.sc.edu>:
>
> 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
Good idea. I'll implement this tonight (possibly earlier). Would it be useful
to put the index value in the string as well?
As for the url's, yes they are broken. This is in part on how the pages are
designed. I've just haven't had chance to fix it yet (aiming for the weekend
for this one).
Peter
--
Peter Mount peter@retep.org.uk
PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/