XRowLocate::findColumn API definition ambiguities

Fernand Vanrie sos at pmgroup.be
Wed Sep 11 00:15:14 PDT 2013

Andrzej ,

maybe also implement a "HasColumn" to made the use of "FindColumn" more 


> Hi everyone,
> The definition of XRowLocate::findColumn, and its implementations, all
> seem to be slightly confused.
> XRowLocate doesn't specify what should happen what happens if findColumn
> is called for an invalid column name. Currently some drivers return -1,
> some drivers return the number of columns + 1 (they loop over all the
> columns and don't check for this case). A number of implementations
> actually have comments to the effect that they should return -1 or throw
> an Exception.
> In the case of JDBC drivers: the JDBC specification states that an
> SQLException should be thrown in this case. This is therefore probably
> what happens with any JDBC driver since findColumn is just passed
> directly to JDBC (this also includes the HSQLDB driver which runs via
> JDBC).
> This means that any user of findColumn has to expect either an exception
> or various invalid numerical values. (IMHO the Exception is most correct
> and is what I've done for now with the Firebird driver.)
> Is it OK if I rewrite the specification of findColumn to mirror that of
> the JDBC specification, perhaps with a note that some drivers may still
> return invalid values instead? (Of course I'd also upgrade all the
> drivers to reflect the new specification -- so this note would only
> apply to any external drivers -- are there any?)
> Cheers,
> 	Andrzej
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice

More information about the LibreOffice mailing list