74 |
|
function StartTransaction(TPB: array of byte; DefaultCompletion: TTransactionCompletion): ITransaction; override; |
75 |
|
function StartTransaction(TPB: ITPB; DefaultCompletion: TTransactionCompletion): ITransaction; override; |
76 |
|
procedure ExecImmediate(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer); override; |
77 |
< |
function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer): IStatement; override; |
77 |
> |
function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer; CursorName: AnsiString=''): IStatement; override; |
78 |
|
function PrepareWithNamedParameters(transaction: ITransaction; sql: AnsiString; |
79 |
|
aSQLDialect: integer; GenerateParamNames: boolean=false; |
80 |
< |
CaseSensitiveParams: boolean=false): IStatement; override; |
80 |
> |
CaseSensitiveParams: boolean=false; CursorName: AnsiString=''): IStatement; override; |
81 |
|
|
82 |
|
{Events} |
83 |
|
function GetEventHandler(Events: TStrings): IEvents; override; |
101 |
|
function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData; override; |
102 |
|
procedure getFBVersion(version: TStrings); |
103 |
|
function HasDecFloatSupport: boolean; override; |
104 |
+ |
function HasBatchMode: boolean; override; |
105 |
+ |
function HasScollableCursors: boolean; |
106 |
|
|
107 |
|
{Time Zone Support} |
108 |
|
function GetTimeZoneServices: ITimeZoneServices; override; |
336 |
|
end; |
337 |
|
|
338 |
|
function TFB30Attachment.Prepare(transaction: ITransaction; sql: AnsiString; |
339 |
< |
aSQLDialect: integer): IStatement; |
339 |
> |
aSQLDialect: integer; CursorName: AnsiString): IStatement; |
340 |
|
begin |
341 |
|
CheckHandle; |
342 |
< |
Result := TFB30Statement.Create(self,transaction,sql,aSQLDialect); |
342 |
> |
Result := TFB30Statement.Create(self,transaction,sql,aSQLDialect,CursorName); |
343 |
|
end; |
344 |
|
|
345 |
|
function TFB30Attachment.PrepareWithNamedParameters(transaction: ITransaction; |
346 |
|
sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean; |
347 |
< |
CaseSensitiveParams: boolean): IStatement; |
347 |
> |
CaseSensitiveParams: boolean; CursorName: AnsiString): IStatement; |
348 |
|
begin |
349 |
|
CheckHandle; |
350 |
|
Result := TFB30Statement.CreateWithParameterNames(self,transaction,sql,aSQLDialect, |
351 |
< |
GenerateParamNames,CaseSensitiveParams); |
351 |
> |
GenerateParamNames,CaseSensitiveParams,CursorName); |
352 |
|
end; |
353 |
|
|
354 |
|
function TFB30Attachment.GetEventHandler(Events: TStrings): IEvents; |
436 |
|
(GetODSMajorVersion >= 13); |
437 |
|
end; |
438 |
|
|
439 |
+ |
function TFB30Attachment.HasBatchMode: boolean; |
440 |
+ |
begin |
441 |
+ |
Result := FFirebird30ClientAPI.Firebird4orLater and |
442 |
+ |
(GetODSMajorVersion >= 13); |
443 |
+ |
end; |
444 |
+ |
|
445 |
+ |
function TFB30Attachment.HasScollableCursors: boolean; |
446 |
+ |
begin |
447 |
+ |
Result := GetODSMajorVersion >= 12; |
448 |
+ |
end; |
449 |
+ |
|
450 |
|
function TFB30Attachment.GetTimeZoneServices: ITimeZoneServices; |
451 |
|
begin |
452 |
|
if not HasTimeZoneSupport then |