Subject Re: [IBO] InterBase Indexes, off topic sort of
Author Helen Borrie
At 05:53 PM 30/03/2003 -0800, you wrote:
>Hi Group;
>
>I think that I need to make indexes inactive prior to
>reloading my database and then activate the indexes
>after the reload is complete. What would be the best
>way to make InterBase Indexes active or inactive.

>A series of stored procedures called from a Delphi
>program?

Not possible, as you cannot perform DDL with a stored procedure.

>A series of Queries called from a Delphi program?

A single DML query, called iteratively from a Delphi program using a
TIB_DSQL inside a single transaction, would work. Don't be tempted to use
an output set to do this. It is far too slow and un-serverish.

>Something else? I have 52 tables in the database, each has 2 secondary
>indexes.

Um..this isn't Paradox. There is no such thing as a "secondary
index". Are you talking about user-created indexes?

If you know the names of the indexes, the *right* way to do this would be
to have a nice little Delphi admin utility that runs one or other of two
DDL scripts to either activate the indexes (if inactive), or
vice-versa. You can write this app very quickly using a TIB_Script
component...

btw, you can only do any of this stuff as long as there is only one user
logged on and that user is either SYSDBA or the owner of ALL of the tables
whose indexes you want to operate on.

Helen