Subject Re: Re: [IB-Architect] Re: New API -- Request for Comments
Author Jim Starkey
At 03:50 PM 5/31/00 +0200, Olivier Mascia wrote:
>
>Okay. For now, I only suggest that the connection.clone() method be
>implemented from day one of your first release. Even if it is of no use for
>ODBC implementation, it is really important for other kind of application
>softwares written with your API.
>

Done.

>> >D. getByte, getInteger, and the like : how can I check if the field is
>SQL
>> >NULL or actually returned a data ?
>> >
>>
>>ResultSet::wasNull() returns true/false.
>>
>
>So I have to call wasNull() after each get() ?
>And that call to wasNull() gives me an answer related to the previous get()
>call ?
>Sounds a little bit tricky, isn't it ?
>

Yes, but the alternatives are worse. The existing design allow in
band values (including default representation of null) to be returned
very straightforwardly. Because Java doesn't support call by reference
(die, Fortran, die!), a function can only return a single value. A
second boolean valued call of no arguments is really pretty good,
all in all. I didn't like the mechanism at first, but I've come to
like it.


Some changes since yesterday:

1. The class Parameters has been replaced by an abstract
class Properties.

2. All classes have grown a method "int objectVersion()" to
facilitate future extensions. The value return is purely
structural -- whether or not a method exists -- never
semantic.

Jim Starkey