Subject Re: Jaybird and API calls
Author bsstmiller <tmiller@bss-software.com>
--- In Firebird-Java@yahoogroups.com, "Roman Rokytskyy
<rrokytskyy@a...>" <rrokytskyy@a...> wrote:
> > #1 I don't know java.
>
> ok. then why java?

Right tool for the job? I have played with introductory
books / CDs, but you really don't know a language until
you have used it in a real life situation for a couple
of months. Then it takes a couple of years to master it.

>
> > #2 We want to write a GUI FB Manager product that
> > is cross platform.
>
> ok. but there was a discussion to provide a set of crossplatform
> command line tools + UI for them.

This is a new project. I understand the original project
went no where and got closed. This is a new project that
just started. Would love to have some help.

fbmanager-devel@...


>
> > #3 It will be open source, so we need to use open
> > source libraries.
>
> ok. we are LGPL.
>
> > #4 Are you saying GDS_Impl.java will give us
> > the ability to call API functions?
>
> yes, pretty the same way you do in ibase.h
>
> > #5 Does it exist yet? If not when?
>
> yes it is available, this is the key component of the driver. but
> driver considerably simplifies interface and provides functionality
> you have to write by hands otherwise.
>
> in c++ you have ibpp components, delphi - ibx/dbexpress, in java -
> our jdbc driver.
>
> > #6 Are you saying that if 2 API calls are missing
> > that we need, there won't be any way to add them?
>
> it is possible. we will need to dig engine sources, find out the
> calls sent over the wire and implement them. unfortunatelly no
> document describing wire protocol exists.
>
> > #7 Should we rule out Java and go with C++ and a
> > cross platform library? There seems to be a C++
> > library that has a conciderable amount of the
> > API wrapped.
>
> we wrapped everything needed to get jdbc compliant driver. we do not
> have services api. this means that currently you cannot add/remove
> users, make backup/restore, etc. we implemented
> isc_dsql_execute_immediate(), so you can create or drop databases. if
> engine developers add sql interface to manage other features (BACKUP
> DATABASE, RESTORE DATABASE, CREATE/DROP USER, etc.) you can use this
> call. personally i think it is easier to implement services api
> (whatever it is) then to convince engine developers to even think
> about these statements.

The talk is to start adding some of this stuff in v2.0. But
it would be nice to use a lot of this stuff in 1.5.

>
> with current implementation you can explore your database, check
> metadata, etc. jdbc does not know anything about triggers and
> generators, so this is not available via jdbc api. but it can be
> implemented additionally.

Was that an offer to help :-)

>
> however, iirc the conclusion of the discussion in firebird-devel list
> was that it makes more sense to have collection of command-line tools
> than java client. jdbc driver is missing some features that are
> needed to get tool like ibexpert (for example we do not have
> scrollable cursors and i see no point in implementing in-memory
> scrolling).
>
> however to get something similar to ibconsole is relatively easy.
> there is open-source java gui called squirrel-sql. one needs to add
> firebird plugin and we will need to add all needed and unimplemented
> api calls.

Is that something the Jaybird crowd would be willing to do?

>
> best regards,
> roman rokytskyy

I think where we are:

Jave - Less programming, minor deployment issues, no Services API
C++ - Lots of programming, no deployment issues, Most Services API
Python - Medium Programming, major deployment issues, Most Services API

We have several programmers ready to help out and are mostly C++
programmers (I am a Delphi programmer). So if we can get some help in
implementing the services API and one or two seasoned Java programmers
to join the group, then I think Java would make the most sense.
Many of us have JBuilder and there are lots of programming tools
available for Java.

If you are interested in helping out, come join the group /
discussion.

fbmanager-devel@...