49 |
|
|
50 |
|
{ TFBStatement } |
51 |
|
|
52 |
< |
TFBStatement = class(TActivityReporter) |
52 |
> |
TFBStatement = class(TActivityReporter,ITransactionUser) |
53 |
|
private |
54 |
|
FAttachmentIntf: IAttachment; |
55 |
|
FFirebirdClientAPI: TFBClientAPI; |
73 |
|
FStatisticsAvailable: boolean; |
74 |
|
FBeforeStats: TPerfStatistics; |
75 |
|
FAfterStats: TPerfStatistics; |
76 |
+ |
FCaseSensitiveParams: boolean; |
77 |
|
procedure CheckHandle; virtual; abstract; |
78 |
|
procedure CheckTransaction(aTransaction: ITransaction); |
79 |
|
procedure GetDsqlInfo(info_request: byte; buffer: ISQLInfoResults); overload; virtual; abstract; |
88 |
|
constructor Create(Attachment: IAttachment; Transaction: ITransaction; |
89 |
|
sql: AnsiString; SQLDialect: integer); |
90 |
|
constructor CreateWithParameterNames(Attachment: IAttachment; Transaction: ITransaction; |
91 |
< |
sql: AnsiString; SQLDialect: integer; GenerateParamNames: boolean =false); |
91 |
> |
sql: AnsiString; SQLDialect: integer; GenerateParamNames: boolean =false; |
92 |
> |
CaseSensitiveParams: boolean = false); |
93 |
|
destructor Destroy; override; |
94 |
|
procedure Close; |
95 |
|
procedure TransactionEnding(aTransaction: ITransaction; Force: boolean); |
160 |
|
|
161 |
|
constructor TFBStatement.CreateWithParameterNames(Attachment: IAttachment; |
162 |
|
Transaction: ITransaction; sql: AnsiString; SQLDialect: integer; |
163 |
< |
GenerateParamNames: boolean); |
163 |
> |
GenerateParamNames: boolean; CaseSensitiveParams: boolean); |
164 |
|
begin |
165 |
|
FHasParamNames := true; |
166 |
|
FGenerateParamNames := GenerateParamNames; |
167 |
+ |
FCaseSensitiveParams := CaseSensitiveParams; |
168 |
|
Create(Attachment,Transaction,sql,SQLDialect); |
169 |
|
end; |
170 |
|
|
183 |
|
procedure TFBStatement.TransactionEnding(aTransaction: ITransaction; |
184 |
|
Force: boolean); |
185 |
|
begin |
186 |
< |
if FOpen and (FExecTransactionIntf = aTransaction) then |
186 |
> |
if FOpen and ((FExecTransactionIntf as TObject) = (aTransaction as TObject)) then |
187 |
|
InternalClose(Force); |
188 |
|
|
189 |
|
if FTransactionIntf = aTransaction then |