mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-10 04:18:29 +02:00
71 lines
1.4 KiB
ObjectPascal
71 lines
1.4 KiB
ObjectPascal
program TestDBindexer;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
uses
|
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
|
cthreads,
|
|
{$ENDIF}{$ENDIF}
|
|
Classes, SysUtils, sqldb, dbIndexer, ibconnection, fbindexdb, fpindexer;
|
|
|
|
{$R *.res}
|
|
|
|
Function SetupDB : TCustomIndexDB;
|
|
|
|
Var
|
|
IB: TFBIndexDB;
|
|
|
|
begin
|
|
IB := TFBIndexDB.Create(nil);
|
|
try
|
|
IB.DatabasePath := Paramstr(2);
|
|
IB.UserName := 'username';
|
|
IB.Password := 'secret';
|
|
if not FileExists(IB.DatabasePath) then
|
|
IB.CreateDB
|
|
else
|
|
begin
|
|
IB.Connect;
|
|
IB.CreateIndexerTables;
|
|
end;
|
|
except
|
|
FreeAndNil(IB);
|
|
Raise;
|
|
end;
|
|
Result:=IB;
|
|
end;
|
|
|
|
Var
|
|
DBI : TDBIndexer;
|
|
Start : TDateTime;
|
|
|
|
begin
|
|
If ParamCount<>2 then
|
|
begin
|
|
Writeln('Usage ',ExtractFileName(ParamStr(0)),' dbpath indexdbpath');
|
|
Halt(1);
|
|
end;
|
|
DBI:=TIBIndexer.Create(Nil);
|
|
try
|
|
DBI.IndexDB:=SetupDB;
|
|
try
|
|
DBI.Database:=TIBConnection.Create(DBI);
|
|
DBI.Database.Transaction:=TSQLTransaction.Create(DBI);
|
|
DBI.Database.DatabaseName:=ParamStr(1);
|
|
DBI.Database.UserName:='username';
|
|
DBI.Database.Password:='SysteemD';
|
|
DBI.Database.Connected:=True;
|
|
DBI.SkipTables.add('AANWEZIGHEIDSREGISTER');
|
|
DBI.SkipTables.add('EDISONZENDING');
|
|
Start:=Now;
|
|
DBI.IndexDatabase;
|
|
Writeln('Finished : ',FormatDateTime('hh:nn:ss',Now-Start));
|
|
finally
|
|
DBI.IndexDB.Free;
|
|
end;
|
|
finally
|
|
DBI.Free;
|
|
end;
|
|
end.
|
|
|