Subject | Re: [Firebird-Architect] Re: External procedures: implementation proposal. |
---|---|
Author | Jim Starkey |
Post date | 2005-07-21T21:08:10Z |
Roman Rokytskyy wrote:
can be extended as has JDBC itself. There is nothing about the
architecture that constrains what we do in the future. No matter what
you do, you are constrained by Firebird SQL. The abstract classes give
you everything is is available. I suppose you could go in at the BLR
level if you really want, but I doubt that you do.
forever. But as an API, it stinks. SQLDAs and SQLCODE codes are a
miserable way to write code. It wasn't even particularly nice in 1986
when I borrowed it from DB2. And it hasn't gotten any better. A nice,
simple, OO interface that significantly reduces the cost of the various
transmission layers is the way to go.
that is particularly important or even interesting. It would be silly
to say no, but I don't think anyone really cares. The goal isn't to
support a JDBC interface, though that does fall out for free, but to
have a well designed, stable, modern OO interface.
this has nothing to do with exporting internal SQL to an external
procedure. That already exists inside the Vulcan engine.
use the existing API. But again, we're talking about internal engine
SQL suitable for export to a loadable external procedures library, not
the external API.
API with two primary clients. One is the existing, soon to be legacy,
API using SQLDAs and SQLCODEs. The other is a higher level, JDBC-like
interface with a set of language specific instantiations.
--
Jim Starkey
Netfrastructure, Inc.
978 526-1376
>>It shouldn't be. The abstract class ResultSet specifies only theFirst, the various abstract classes (think of them as Java interfaces)
>>API, not the mechanism behind it. An Java implementation of
>>external procedures would probably return an implementation of
>>ResultSet that navigated the corresponding Java objects with JNI.
>>
>>
>By requiring this you say one of the following:
>
>- External Java SP gets less featured JDBC implementation (something
>like JDBC 1.2 level)
>
>
can be extended as has JDBC itself. There is nothing about the
architecture that constrains what we do in the future. No matter what
you do, you are constrained by Firebird SQL. The abstract classes give
you everything is is available. I suppose you could go in at the BLR
level if you really want, but I doubt that you do.
>- Two versions of Java accessibility components will have to be keptWe will continue to support the existing external API, probably
>in sync - one for public API (currently our lovely ibase.h) and one
>for internal API.
>
>
forever. But as an API, it stinks. SQLDAs and SQLCODE codes are a
miserable way to write code. It wasn't even particularly nice in 1986
when I borrowed it from DB2. And it hasn't gotten any better. A nice,
simple, OO interface that significantly reduces the cost of the various
transmission layers is the way to go.
>I am not sure that I accept any of the above. So, the only possibilityIt will probably track JDBC, but there isn't much in JDBC 3.0 or 4.0
>is to have same API for the client and for the server (or you're going
>to upgrade your internal JDBC-like interface to be JDBC 3.0 and soon
>JDBC 4.0 compatible).
>
>
that is particularly important or even interesting. It would be silly
to say no, but I don't think anyone really cares. The goal isn't to
support a JDBC interface, though that does fall out for free, but to
have a well designed, stable, modern OO interface.
>Didn't we agree that public OO API is a nice thing, but is notOf course. Nobody has even suggested retiring our very ugly API. But
>applicable to all situations?
>
>
this has nothing to do with exporting internal SQL to an external
procedure. That already exists inside the Vulcan engine.
>How are we going to convince all connectivity component developers toWe're not. Anyone who wants their programs to stay slow can continue to
>throw away everything they did till now and to recode the components
>for a new API?
>
>
use the existing API. But again, we're talking about internal engine
SQL suitable for export to a loadable external procedures library, not
the external API.
>Or we are going to maintain a C and C++ APIs for next Firebird versions?I think we want to define a low level, pseudo OO, language independent
>
>
>
API with two primary clients. One is the existing, soon to be legacy,
API using SQLDAs and SQLCODEs. The other is a higher level, JDBC-like
interface with a set of language specific instantiations.
--
Jim Starkey
Netfrastructure, Inc.
978 526-1376