ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/3.0/FB30Attachment.pas
(Generate patch)

Comparing ibx/trunk/fbintf/client/3.0/FB30Attachment.pas (file contents):
Revision 55 by tony, Mon Jan 9 15:31:51 2017 UTC vs.
Revision 56 by tony, Mon Mar 6 10:20:02 2017 UTC

# Line 25 | Line 25
25   *
26   *)
27   unit FB30Attachment;
28 + {$IFDEF MSWINDOWS}
29 + {$DEFINE WINDOWS}
30 + {$ENDIF}
31  
32   {$IFDEF FPC}
33 < {$mode objfpc}{$H+}
33 > {$mode delphi}
34   {$interfaces COM}
35   {$ENDIF}
36  
# Line 46 | Line 49 | type
49    protected
50      procedure CheckHandle; override;
51    public
52 <    constructor Create(DatabaseName: string; aDPB: IDPB;
52 >    constructor Create(DatabaseName: AnsiString; aDPB: IDPB;
53            RaiseExceptionOnConnectError: boolean);
54 <    constructor CreateDatabase(DatabaseName: string; aDPB: IDPB; RaiseExceptionOnError: boolean);  overload;
55 <    constructor CreateDatabase(sql: string; aSQLDialect: integer;
54 >    constructor CreateDatabase(DatabaseName: AnsiString; aDPB: IDPB; RaiseExceptionOnError: boolean);  overload;
55 >    constructor CreateDatabase(sql: AnsiString; aSQLDialect: integer;
56        RaiseExceptionOnError: boolean); overload;
57      destructor Destroy; override;
58      property AttachmentIntf: Firebird.IAttachment read FAttachmentIntf;
# Line 62 | Line 65 | type
65      procedure DropDatabase;
66      function StartTransaction(TPB: array of byte; DefaultCompletion: TTransactionCompletion): ITransaction; override;
67      function StartTransaction(TPB: ITPB; DefaultCompletion: TTransactionCompletion): ITransaction; override;
68 <    procedure ExecImmediate(transaction: ITransaction; sql: string; aSQLDialect: integer); override;
69 <    function Prepare(transaction: ITransaction; sql: string; aSQLDialect: integer): IStatement; override;
70 <    function PrepareWithNamedParameters(transaction: ITransaction; sql: string;
68 >    procedure ExecImmediate(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer); override;
69 >    function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer): IStatement; override;
70 >    function PrepareWithNamedParameters(transaction: ITransaction; sql: AnsiString;
71                         aSQLDialect: integer; GenerateParamNames: boolean=false): IStatement; override;
72  
73      {Events}
# Line 72 | Line 75 | type
75  
76      {Blob - may use to open existing Blobs. However, ISQLData.AsBlob is preferred}
77  
78 <    function CreateBlob(transaction: ITransaction; RelationName, ColumnName: string; BPB: IBPB=nil): IBlob; overload;
78 >    function CreateBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BPB: IBPB=nil): IBlob; overload;
79      function CreateBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BPB: IBPB=nil): IBlob; overload;
80      function CreateBlob(transaction: ITransaction; SubType: integer; aCharSetID: cardinal=0; BPB: IBPB=nil): IBlob; overload;
81 <    function OpenBlob(transaction: ITransaction; RelationName, ColumnName: string; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob; overload;
82 <    function OpenBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob; override; overload;
81 >    function OpenBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob; overload;
82 >    function OpenBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob;  overload; override;
83  
84      {Array}
85 <    function OpenArray(transaction: ITransaction; RelationName, ColumnName: string; ArrayID: TISC_QUAD): IArray;
86 <    function CreateArray(transaction: ITransaction; RelationName, ColumnName: string): IArray; overload;
85 >    function OpenArray(transaction: ITransaction; RelationName, ColumnName: AnsiString; ArrayID: TISC_QUAD): IArray;
86 >    function CreateArray(transaction: ITransaction; RelationName, ColumnName: AnsiString): IArray; overload;
87      function CreateArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData): IArray; overload;
88 <    function CreateArrayMetaData(SQLType: cardinal; tableName: string;
89 <      columnName: string; Scale: integer; size: cardinal; aCharSetID: cardinal;
88 >    function CreateArrayMetaData(SQLType: cardinal; tableName: AnsiString;
89 >      columnName: AnsiString; Scale: integer; size: cardinal; aCharSetID: cardinal;
90    dimensions: cardinal; bounds: TArrayBounds): IArrayMetaData;
91  
92  
93      {Database Information}
94 <    function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: string): IBlobMetaData;
95 <    function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: string): IArrayMetaData;
94 >    function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IBlobMetaData;
95 >    function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData;
96      function GetDBInformation(Requests: array of byte): IDBInformation; overload;
97      function GetDBInformation(Request: byte): IDBInformation; overload;
98    end;
# Line 107 | Line 110 | begin
110      IBError(ibxeDatabaseClosed,[nil]);
111   end;
112  
113 < constructor TFB30Attachment.Create(DatabaseName: string; aDPB: IDPB;
113 > constructor TFB30Attachment.Create(DatabaseName: AnsiString; aDPB: IDPB;
114    RaiseExceptionOnConnectError: boolean);
115   begin
116    if aDPB = nil then
# Line 120 | Line 123 | begin
123    Connect;
124   end;
125  
126 < constructor TFB30Attachment.CreateDatabase(DatabaseName: string; aDPB: IDPB;
126 > constructor TFB30Attachment.CreateDatabase(DatabaseName: AnsiString; aDPB: IDPB;
127    RaiseExceptionOnError: boolean);
128   var Param: IDPBItem;
129 <    sql: string;
129 >    sql: AnsiString;
130      IsCreateDB: boolean;
131   begin
132    inherited Create(DatabaseName,aDPB,RaiseExceptionOnError);
# Line 152 | Line 155 | begin
155    end;
156   end;
157  
158 < constructor TFB30Attachment.CreateDatabase(sql: string; aSQLDialect: integer;
158 > constructor TFB30Attachment.CreateDatabase(sql: AnsiString; aSQLDialect: integer;
159    RaiseExceptionOnError: boolean);
160   var IsCreateDB: boolean;
161      info: IDBInformation;
162      ConnectionType: integer;
163 <    SiteName: string;
163 >    SiteName: AnsiString;
164   begin
165    inherited Create('',nil,RaiseExceptionOnError);
166    FSQLDialect := aSQLDialect;
# Line 255 | Line 258 | begin
258    Result := TFB30Transaction.Create(self,TPB,DefaultCompletion);
259   end;
260  
261 < procedure TFB30Attachment.ExecImmediate(transaction: ITransaction; sql: string;
261 > procedure TFB30Attachment.ExecImmediate(transaction: ITransaction; sql: AnsiString;
262    aSQLDialect: integer);
263   begin
264    CheckHandle;
265    with Firebird30ClientAPI do
266    begin
267      FAttachmentIntf.execute(StatusIntf,(transaction as TFB30Transaction).TransactionIntf,
268 <                    Length(sql),PChar(sql),aSQLDialect,nil,nil,nil,nil);
268 >                    Length(sql),PAnsiChar(sql),aSQLDialect,nil,nil,nil,nil);
269      Check4DataBaseError;
270    end;
271   end;
272  
273 < function TFB30Attachment.Prepare(transaction: ITransaction; sql: string;
273 > function TFB30Attachment.Prepare(transaction: ITransaction; sql: AnsiString;
274    aSQLDialect: integer): IStatement;
275   begin
276    CheckHandle;
# Line 275 | Line 278 | begin
278   end;
279  
280   function TFB30Attachment.PrepareWithNamedParameters(transaction: ITransaction;
281 <  sql: string; aSQLDialect: integer; GenerateParamNames: boolean): IStatement;
281 >  sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean): IStatement;
282   begin
283    CheckHandle;
284    Result := TFB30Statement.CreateWithParameterNames(self,transaction,sql,aSQLDialect,
# Line 289 | Line 292 | begin
292   end;
293  
294   function TFB30Attachment.CreateBlob(transaction: ITransaction; RelationName,
295 <  ColumnName: string; BPB: IBPB): IBlob;
295 >  ColumnName: AnsiString; BPB: IBPB): IBlob;
296   begin
297    CheckHandle;
298    Result := TFB30Blob.Create(self,transaction as TFB30Transaction,
# Line 311 | Line 314 | begin
314   end;
315  
316   function TFB30Attachment.OpenBlob(transaction: ITransaction; RelationName,
317 <  ColumnName: string; BlobID: TISC_QUAD; BPB: IBPB): IBlob;
317 >  ColumnName: AnsiString; BlobID: TISC_QUAD; BPB: IBPB): IBlob;
318   begin
319    CheckHandle;
320    Result := TFB30Blob.Create(self,transaction as TFB30transaction,
# Line 327 | Line 330 | begin
330   end;
331  
332   function TFB30Attachment.OpenArray(transaction: ITransaction; RelationName,
333 <  ColumnName: string; ArrayID: TISC_QUAD): IArray;
333 >  ColumnName: AnsiString; ArrayID: TISC_QUAD): IArray;
334   begin
335    CheckHandle;
336    Result := TFB30Array.Create(self,transaction as TFB30Transaction,
# Line 335 | Line 338 | begin
338   end;
339  
340   function TFB30Attachment.CreateArray(transaction: ITransaction; RelationName,
341 <  ColumnName: string): IArray;
341 >  ColumnName: AnsiString): IArray;
342   begin
343    CheckHandle;
344    Result := TFB30Array.Create(self,transaction as TFB30Transaction,
# Line 349 | Line 352 | begin
352    Result := TFB30Array.Create(self,transaction as TFB30Transaction,ArrayMetaData);
353   end;
354  
355 < function TFB30Attachment.CreateArrayMetaData(SQLType: cardinal; tableName: string; columnName: string;
355 > function TFB30Attachment.CreateArrayMetaData(SQLType: cardinal; tableName: AnsiString; columnName: AnsiString;
356    Scale: integer; size: cardinal; aCharSetID: cardinal; dimensions: cardinal;
357    bounds: TArrayBounds): IArrayMetaData;
358   begin
# Line 357 | Line 360 | begin
360   end;
361  
362   function TFB30Attachment.GetBlobMetaData(Transaction: ITransaction; tableName,
363 <  columnName: string): IBlobMetaData;
363 >  columnName: AnsiString): IBlobMetaData;
364   begin
365    CheckHandle;
366    Result := TFB30BlobMetaData.Create(self,Transaction as TFB30Transaction,tableName,columnName);
367   end;
368  
369   function TFB30Attachment.GetArrayMetaData(Transaction: ITransaction; tableName,
370 <  columnName: string): IArrayMetaData;
370 >  columnName: AnsiString): IArrayMetaData;
371   begin
372    CheckHandle;
373    Result := TFB30ArrayMetaData.Create(self,Transaction as TFB30Transaction,tableName,columnName);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines