ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/journaling/fbintf/client/2.5/FB25Attachment.pas
(Generate patch)

Comparing ibx/trunk/fbintf/client/2.5/FB25Attachment.pas (file contents):
Revision 270 by tony, Fri Jan 18 11:10:37 2019 UTC vs.
Revision 352 by tony, Thu Oct 21 12:17:43 2021 UTC

# Line 68 | Line 68 | type
68      function StartTransaction(TPB: array of byte; DefaultCompletion: TTransactionCompletion): ITransaction; override;
69      function StartTransaction(TPB: ITPB; DefaultCompletion: TTransactionCompletion): ITransaction; override;
70      procedure ExecImmediate(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer); override;
71 <    function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer): IStatement; override;
71 >    function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer; CursorName: AnsiString=''): IStatement; override;
72      function PrepareWithNamedParameters(transaction: ITransaction; sql: AnsiString;
73                         aSQLDialect: integer; GenerateParamNames: boolean=false;
74 <                       CaseSensitiveParams: boolean=false): IStatement; override;
74 >                       CaseSensitiveParams: boolean=false; CursorName: AnsiString=''): IStatement; override;
75      function GetEventHandler(Events: TStrings): IEvents; override;
76 <    function CreateBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BPB: IBPB=nil): IBlob; overload;
77 <    function CreateBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BPB: IBPB=nil): IBlob; overload;
76 >    function CreateBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BPB: IBPB=nil): IBlob; overload; override;
77      function CreateBlob(transaction: ITransaction; SubType: integer; aCharSetID: cardinal=0; BPB: IBPB=nil): IBlob; overload;
79    function OpenBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob; overload;
78      function OpenBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob; overload; override;
79  
80 <    function OpenArray(transaction: ITransaction; RelationName, ColumnName: AnsiString;
81 <      ArrayID: TISC_QUAD): IArray;
84 <    function CreateArray(transaction: ITransaction; RelationName, ColumnName: AnsiString
85 <      ): IArray; overload;
86 <    function CreateArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData): IArray; overload;
80 >    function OpenArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData; ArrayID: TISC_QUAD): IArray; overload; override;
81 >    function CreateArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData): IArray; overload; override;
82      function CreateArrayMetaData(SQLType: cardinal; tableName: AnsiString; columnName: AnsiString;
83        Scale: integer; size: cardinal;
84        acharSetID: cardinal; dimensions: cardinal; bounds: TArrayBounds
# Line 91 | Line 86 | type
86  
87      {Database Information}
88  
89 <    function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IBlobMetaData;
90 <    function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData;
89 >    function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IBlobMetaData; override;
90 >    function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData; override;
91      procedure getFBVersion(version: TStrings);
92 +    function HasScollableCursors: boolean;
93    end;
94  
95   implementation
# Line 244 | Line 240 | begin
240    Result := TFB25Transaction.Create(FFirebird25ClientAPI,self,TPB,DefaultCompletion);
241   end;
242  
247 function TFB25Attachment.CreateBlob(transaction: ITransaction; RelationName,
248  ColumnName: AnsiString; BPB: IBPB): IBlob;
249 begin
250  CheckHandle;
251  Result := TFB25Blob.Create(self,transaction as TFB25transaction,
252                TFB25BlobMetaData.Create(self,Transaction as TFB25Transaction,RelationName,ColumnName),BPB);
253 end;
254
243   function TFB25Attachment.CreateBlob(transaction: ITransaction;
244    BlobMetaData: IBlobMetaData; BPB: IBPB): IBlob;
245   begin
# Line 266 | Line 254 | begin
254    Result := TFB25Blob.Create(self,transaction as TFB25transaction,SubType,aCharSetID,BPB);
255   end;
256  
269 function TFB25Attachment.OpenBlob(transaction: ITransaction; RelationName,
270  ColumnName: AnsiString; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob;
271 begin
272  CheckHandle;
273  Result := TFB25Blob.Create(self,transaction as TFB25transaction,
274                TFB25BlobMetaData.Create(self,Transaction as TFB25Transaction,RelationName,ColumnName),
275                BlobID,BPB);
276 end;
277
257   function TFB25Attachment.OpenBlob(transaction: ITransaction;
258    BlobMetaData: IBlobMetaData; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob;
259   begin
# Line 295 | Line 274 | begin
274   end;
275  
276   function TFB25Attachment.Prepare(transaction: ITransaction; sql: AnsiString;
277 <  aSQLDialect: integer): IStatement;
277 >  aSQLDialect: integer; CursorName: AnsiString): IStatement;
278   begin
279    CheckHandle;
280    Result := TFB25Statement.Create(self,transaction,sql,aSQLDialect);
# Line 303 | Line 282 | end;
282  
283   function TFB25Attachment.PrepareWithNamedParameters(transaction: ITransaction;
284    sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean;
285 <  CaseSensitiveParams: boolean): IStatement;
285 >  CaseSensitiveParams: boolean; CursorName: AnsiString): IStatement;
286   begin
287    CheckHandle;
288    Result := TFB25Statement.CreateWithParameterNames(self,transaction,sql,aSQLDialect,
289 <         GenerateParamNames,CaseSensitiveParams);
289 >         GenerateParamNames,CaseSensitiveParams,CursorName);
290   end;
291  
292   function TFB25Attachment.GetEventHandler(Events: TStrings): IEvents;
# Line 316 | Line 295 | begin
295    Result := TFB25Events.Create(self,Events);
296   end;
297  
298 < function TFB25Attachment.OpenArray(transaction: ITransaction; RelationName, ColumnName: AnsiString;
298 > function TFB25Attachment.OpenArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData;
299    ArrayID: TISC_QUAD): IArray;
300   begin
301    CheckHandle;
302    Result := TFB25Array.Create(self,transaction as TFB25Transaction,
303 <                    GetArrayMetaData(transaction,RelationName,ColumnName),ArrayID);
325 < end;
326 <
327 < function TFB25Attachment.CreateArray(transaction: ITransaction; RelationName, ColumnName: AnsiString): IArray;
328 < begin
329 <  CheckHandle;
330 <  Result := TFB25Array.Create(self,transaction as TFB25Transaction,
331 <                    GetArrayMetaData(transaction,RelationName,ColumnName));
303 >                    ArrayMetaData,ArrayID);
304   end;
305  
306   function TFB25Attachment.CreateArray(transaction: ITransaction;
# Line 375 | Line 347 | begin
347         IBDataBaseError;
348   end;
349  
350 + function TFB25Attachment.HasScollableCursors: boolean;
351 + begin
352 +  Result := false;
353 + end;
354 +
355   end.
356  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines