From: Peter J. <pj...@wa...> - 2003-08-29 09:34:55
|
Dear All, I just wanted to start making an experimental version of ISQL, but I'm rather disturbed by one thing: Why does ISQL depends on large amounts of the Firebird Server source tree instead of being a normal client app, using only the the public API? Regards, Peter Jacobi |
From: Ann H. <aha...@ib...> - 2003-08-29 16:18:20
|
Peter Jacobi wrote: >Why does ISQL depends on large amounts of the >Firebird Server source tree instead of being a normal >client app, using only the the public API? > > The people who wrote ISQL had a different sense of architecture than the people who created the original product. They recognized that replicated code is bad. They also noticed that nearly every subsystem has an allocator, a parser, error handler, mover, etc. Rather than creating those routines in a mode appropriate for a utility, they used the (grossly overbuilt and inappropriate) engine routines. If I were you, I'd take a look at reviving qli rather than civilizing ISQL. Qli's SQL is primative but that can be added incrementally. It doesn't understand the new INT64 type or database procedures, but they should be relatively easy to add. It does have its own notion of procedures which are chunks of qli commands, stored in the database. What qli does have is multi-database access, conditional's, loops, formatting, etc. Regards, Ann |
From: Dmitry Y. <di...@us...> - 2003-08-30 13:53:10
|
Ann, > If I were you, I'd take a look at reviving qli rather than civilizing > ISQL. Qli's SQL is primative but that can be added incrementally. It > doesn't understand the new INT64 type or database procedures, > but they should be relatively easy to add. FWIW, I added some support of BIGINT to QLI one year ago. Didn't test it though. Dmitry |
From: Claudio V. C. <cv...@us...> - 2003-09-22 10:31:19
|
Ann Harrison wrote: >> > The people who wrote ISQL had a different sense of architecture than > the people who created the original product. They recognized that > replicated code is bad. They also noticed that nearly every subsystem > has an allocator, a parser, error handler, mover, etc. Rather than > creating those routines in a mode appropriate for a utility, they used > the (grossly overbuilt and inappropriate) engine routines. But at the same time, QLI has an allocator, mover, etc and this means duplicate functionality, although not necessarily identical to the engine's code. > If I were you, I'd take a look at reviving qli rather than civilizing > ISQL. Qli's SQL is primative but that can be added incrementally. It > doesn't understand the new INT64 type or database procedures, but they > should be relatively easy to add. It does have its own notion of > procedures which are chunks of qli commands, stored in the database. > What qli does have is multi-database access, conditional's, loops, > formatting, etc. The problem with qli is that IMHO has too much private functionality that needs to be kept in sync with the engine. But it's nice to be able to bypass the DSQL layer by writing GDML that gets converted into BLR directly. C. |
From: Dimitry S. <SD...@to...> - 2003-09-23 06:35:15
|
On 22 Sep 2003 at 6:38, Claudio Valderrama C. wrote: >that needs to be kept in sync with the engine. But it's nice to be >able to bypass the DSQL layer by writing GDML that gets converted into >BLR directly. Especially in the light of plans to get rid of BLR at all. SY, Dimitry Sibiryakov. |
From: Nickolay S. <sk...@bs...> - 2003-09-23 09:36:08
|
Hello, Dimitry ! > On 22 Sep 2003 at 6:38, Claudio Valderrama C. wrote: >>that needs to be kept in sync with the engine. But it's nice to be >>able to bypass the DSQL layer by writing GDML that gets converted into >>BLR directly. > Especially in the light of plans to get rid of BLR at all. This have already been discussed. There are no plans to get rid of BLR in a foreseeable future. > SY, Dimitry Sibiryakov. -- Nickolay Samofatov |
From: Paul B. <pa...@wa...> - 2003-09-23 09:50:29
|
> This have already been discussed. There are no plans to get rid of BLR > in a foreseeable future. Getting rid of BLR IMHO would be a very drastic step, and would impact any Cognos Powerhouse customers who are migrating to Firebird. Pwerhouse uses the BLR interface to talk to the database...... So although we could potentially "mothball" the interface at some point in time, we shouldn't get rid of it. Regards Paul |
From: Claudio V. C. <cv...@us...> - 2003-10-03 07:47:58
|
Paul Beach wrote: >> This have already been discussed. There are no plans to get rid of >> BLR in a foreseeable future. > > Getting rid of BLR IMHO would be a very drastic step, and would impact > any Cognos Powerhouse customers who are migrating to Firebird. Is that product dead, supported for some months more or what? C. |
From: Claudio V. C. <cv...@us...> - 2003-09-01 12:36:18
|
Peter Jacobi wrote: > Dear All, > > I just wanted to start making an experimental version > of ISQL, but I'm rather disturbed by one thing: > > Why does ISQL depends on large amounts of the > Firebird Server source tree instead of being a normal > client app, using only the the public API? Because - it was never intended to be a user tool... but it became a user tool; - they (Borland) thought it would be better to enhance it instead of updating qli; - it's better to take some values from the engine instead of having to sync them with separate files. However, it would have been enough with including some headers. It can be done because it's not a third party tool, so a bit of overlapping can be tolerated; - other dbs have an isql utility, so this is probably how the thing became public... someone must have thought qli was pure GDML. Don't expect those past decisions to be coherent. As former Borland CEO Delbert Yocam said once, "Borland is not a database [maker] company". A dev tools company doesn't have to be wise on db internals, specially at the management level. But ultimately, is the current way it works an obstacle for you? Please explain. If you want to lose time in it, you may consider replacing the damn allocator by a proper C++ memory management, although flagging unfreed memory is never bad (one thing the allocator does, I think). Isql has some extra commands when you run the debug version. C. |
From: Peter J. <pj...@wa...> - 2003-09-01 14:07:42
|
Hi Claudio, All, "Claudio Valderrama C." wrote: > Peter Jacobi wrote: > > Why does ISQL depends on large amounts of the > > Firebird Server source tree instead of being a normal > > client app, using only the the public API? > > Because [lot of background snipped] > > But ultimately, is the current way it works an obstacle for you? Please > explain. I just had the feeling, that ISQL is a rather straightforward app which I should be able to get an understanding quite easily. But then I saw all these includes and now it sems, I would have to learn a lot before I can make my changes. Perhaps the pronlem is only between my ears... Regards, Peter Jacobi |