245 |
|
function GetImplementationVersion: AnsiString; |
246 |
|
function GetClientMajor: integer; virtual; abstract; |
247 |
|
function GetClientMinor: integer; virtual; abstract; |
248 |
< |
end; |
248 |
> |
end; |
249 |
> |
|
250 |
> |
IJournallingHook = interface |
251 |
> |
['{7d3e45e0-3628-416a-9e22-c20474825031}'] |
252 |
> |
procedure TransactionStart(Tr: ITransaction); |
253 |
> |
function TransactionEnd(TransactionID: integer; Action: TTransactionAction): boolean; |
254 |
> |
procedure TransactionRetained(Tr: ITransaction; OldTransactionID: integer; Action: TTransactionAction); |
255 |
> |
procedure ExecQuery(Stmt: IStatement); |
256 |
> |
end; |
257 |
|
|
258 |
|
implementation |
259 |
|
|
473 |
|
end; |
474 |
|
|
475 |
|
{$IFDEF UNIX} |
476 |
+ |
|
477 |
|
procedure TFBClientAPI.GetTZDataSettings; |
478 |
|
var S: TStringList; |
479 |
|
begin |
480 |
|
FLocalTimeOffset := GetLocalTimeOffset; |
481 |
< |
FLocalTimeZoneName := strpas(tzname[tzdaylight]); |
481 |
> |
{$if declared(Gettzname)} |
482 |
> |
FLocalTimeZoneName := Gettzname(tzdaylight); |
483 |
> |
{$else} |
484 |
> |
FLocalTimeZoneName := tzname[tzdaylight]; |
485 |
> |
{$ifend} |
486 |
|
FIsDaylightSavingsTime := tzdaylight; |
487 |
|
if FileExists(DefaultTimeZoneFile) then |
488 |
|
begin |
527 |
|
|
528 |
|
function TFBClientAPI.GetProcAddr(ProcName: PAnsiChar): Pointer; |
529 |
|
begin |
530 |
< |
Result := GetProcAddress(FFBLibrary.IBLibrary, ProcName); |
530 |
> |
Result := nil; |
531 |
> |
if assigned(FFBLibrary) and (FFBLibrary.IBLibrary <> NilHandle) then |
532 |
> |
Result := GetProcAddress(FFBLibrary.IBLibrary, ProcName); |
533 |
|
if not Assigned(Result) then |
534 |
|
raise Exception.CreateFmt(SFirebirdAPIFuncNotFound,[ProcName]); |
535 |
|
end; |