Subject Re: [firebird-support] Embedded Firebird : Transaction
Author Martijn Tonies
> > I was looking for the SQL syntax, not API calls (similar to BEGIN/COMMIT
> > in Oracle, SQL Server, MySQL, ...).
>
> Transactions can be started/ended by both API and DSQL,
> so you do *not* have to use API (unless the limitation is in your access
components).
>
>
> > Also, I ran into a problem when creating indexes.
> > > CREATE INDEX myindex ON LOGS (Id, Timekey);
> ...
> > unsuccessful metadata update
> > STORE RDB$INDICES failed
> > attempt to store duplicate value (visible to active transactions) in
> > unique index "RDB$INDEX_5"
>
> You can ask e.g. in ISQL what the index is:
>
> SQL> SHOW INDEX RDB$INDEX_5;
> RDB$INDEX_5 UNIQUE INDEX ON RDB$INDICES(RDB$INDEX_NAME)
>
> Now you see the index name (i.e. myindex) already exists in your database.

Mind you, index names are "global" in scope in Firebird, not table scoped.

With regards,

Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL
Server
Upscene Productions
http://www.upscene.com
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com