Subject | Re: Updateable ResultSets - any progress? |
---|---|
Author | phil_hhn |
Post date | 2004-06-22T22:27:50Z |
--- In Firebird-Java@yahoogroups.com, "Roman Rokytskyy"
<rrokytskyy@a...> wrote:
here :-)
However, things like RDB$DB_KEY are database-specific, aren't they?
Unfortunately we are targeting more than 1 database (so we want to
keep our code 'plain vanilla' if possible). Infact I didn't start the
project with Firebird, but 'rediscovered' it ;-)
I've had a look around for info on RDB$DB_KEY and haven't had much
luck other than some examples of its use. I'd like to know more about
that (and other RDB$ fields). I know there are other system tables
because I saw them while retrieving db metadata (for a separate
graphical migration tool I wrote that displays the db structure).
Anyway, is there somewhere that describes RDB$DB_KEY, etc.?
for it?
from the ResultSet and automatically generate an update (prepared)
statement. This can hopefully keep this independent of the underlying
database :-)
'roadmap')? I've also seen some mention of Firebird 2.0 - when is that
planned for and are there any docs describing what the intended new
features are?
Thanks very much,
Phil
<rrokytskyy@a...> wrote:
> > I have a database in front of me with 1 or 2 large tables, andFirst, thanks for the detailed reply, there are some good suggestions
> > typically a row from one of these is to be displayed (say 50 fields),
> > then the user can edit *any* field. An updateable ResultSet would be
> > nice...
>
> As I probably already described, main problem in implementing this
> feature is need to rewrite the SQL submitted by user to add necessary
> RDB$DB_KEY field(s). Having done this you can always submit an update
>
> UPDATE tableName
> SET someField = ?
> WHERE RDB$DB_KEY = ?
here :-)
However, things like RDB$DB_KEY are database-specific, aren't they?
Unfortunately we are targeting more than 1 database (so we want to
keep our code 'plain vanilla' if possible). Infact I didn't start the
project with Firebird, but 'rediscovered' it ;-)
I've had a look around for info on RDB$DB_KEY and haven't had much
luck other than some examples of its use. I'd like to know more about
that (and other RDB$ fields). I know there are other system tables
because I saw them while retrieving db metadata (for a separate
graphical migration tool I wrote that displays the db structure).
Anyway, is there somewhere that describes RDB$DB_KEY, etc.?
> Until then you have following options:How does this relate to the ResultSet - can I retrieve a cursor name
>
> a) if you do not need scrolling (only forward navigation), you can
> always use "UPDATE ... WHERE CURRENT OF <cursor name>".
for it?
> b) if you have some time, you can implement these methods that willWell you've lost me already ;-)
> only work if user submits an SQL containing RDB$DB_KEY. It should not
> be a complex task.
> c) code updates into your application. You can create pretty genericExcellent, that was what I thought I may have to do - get the metadata
> solution by introducing an "update object" class that contains name of
> the table, value of the RDB$DB_KEY or, even better, your primary key.
> Then in your application, when field is changed, you have to do a
> pretty simple thing:
from the ResultSet and automatically generate an update (prepared)
statement. This can hopefully keep this independent of the underlying
database :-)
> This code is pretty generic and will work even if you change names ofCool, that's pretty standard for updateable cursors
> your columns. It requires:
>
> a) your result set has only one table (if more than one table is used
> you have to add some logic to deal with PKs)
> > Anyway, has there been any interest in implementing updateableFantastic... is there any planned schedule for this (or development
> > ResultSets?
>
> On Fulda conference I had a discussion with Nickolay Samofatov, core
> engine developer. We agreed that there will be new Firebird API call
> that will return RDB$DB_KEY field(s) without SQL rewriting. When this
> feature is available, we will implement updatable result sets.
'roadmap')? I've also seen some mention of Firebird 2.0 - when is that
planned for and are there any docs describing what the intended new
features are?
Thanks very much,
Phil