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

Comparing ibx/trunk/fbintf/client/3.0/FB30Attachment.pas (file contents):
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 47 by tony, Mon Jan 9 15:31:51 2017 UTC

# Line 48 | Line 48 | type
48    public
49      constructor Create(DatabaseName: string; aDPB: IDPB;
50            RaiseExceptionOnConnectError: boolean);
51 <    constructor CreateDatabase(DatabaseName: string; aDPB: IDPB; RaiseExceptionOnError: boolean);
51 >    constructor CreateDatabase(DatabaseName: string; aDPB: IDPB; RaiseExceptionOnError: boolean);  overload;
52 >    constructor CreateDatabase(sql: string; aSQLDialect: integer;
53 >      RaiseExceptionOnError: boolean); overload;
54      destructor Destroy; override;
55      property AttachmentIntf: Firebird.IAttachment read FAttachmentIntf;
56  
# Line 80 | Line 82 | type
82      function OpenArray(transaction: ITransaction; RelationName, ColumnName: string; ArrayID: TISC_QUAD): IArray;
83      function CreateArray(transaction: ITransaction; RelationName, ColumnName: string): IArray; overload;
84      function CreateArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData): IArray; overload;
85 +    function CreateArrayMetaData(SQLType: cardinal; tableName: string;
86 +      columnName: string; Scale: integer; size: cardinal; aCharSetID: cardinal;
87 +  dimensions: cardinal; bounds: TArrayBounds): IArrayMetaData;
88 +
89  
90      {Database Information}
91      function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: string): IBlobMetaData;
# Line 121 | Line 127 | var Param: IDPBItem;
127      IsCreateDB: boolean;
128   begin
129    inherited Create(DatabaseName,aDPB,RaiseExceptionOnError);
124  FSQLDialect := 3;
130    IsCreateDB := true;
131    if aDPB <> nil then
132    begin
# Line 147 | Line 152 | begin
152    end;
153   end;
154  
155 + constructor TFB30Attachment.CreateDatabase(sql: string; aSQLDialect: integer;
156 +  RaiseExceptionOnError: boolean);
157 + var IsCreateDB: boolean;
158 +    info: IDBInformation;
159 +    ConnectionType: integer;
160 +    SiteName: string;
161 + begin
162 +  inherited Create('',nil,RaiseExceptionOnError);
163 +  FSQLDialect := aSQLDialect;
164 +  with Firebird30ClientAPI do
165 +  begin
166 +    FAttachmentIntf := UtilIntf.executeCreateDatabase(StatusIntf,Length(sql),
167 +                                       PAnsiChar(sql),aSQLDialect,@IsCreateDB);
168 +    if FRaiseExceptionOnConnectError then Check4DataBaseError;
169 +    if InErrorState then
170 +      FAttachmentIntf := nil;
171 +    FCharSetID := 0;
172 +    FCodePage := CP_NONE;
173 +    FHasDefaultCharSet := false;
174 +    info := GetDBInformation(isc_info_db_id);
175 +    info[0].DecodeIDCluster(ConnectionType,FDatabaseName,SiteName);
176 +  end;
177 + end;
178 +
179   destructor TFB30Attachment.Destroy;
180   begin
181    inherited Destroy;
# Line 320 | Line 349 | begin
349    Result := TFB30Array.Create(self,transaction as TFB30Transaction,ArrayMetaData);
350   end;
351  
352 + function TFB30Attachment.CreateArrayMetaData(SQLType: cardinal; tableName: string; columnName: string;
353 +  Scale: integer; size: cardinal; aCharSetID: cardinal; dimensions: cardinal;
354 +  bounds: TArrayBounds): IArrayMetaData;
355 + begin
356 +  Result := TFB30ArrayMetaData.Create(SQLType,tableName,ColumnName,Scale,size,aCharSetID, dimensions,bounds);
357 + end;
358 +
359   function TFB30Attachment.GetBlobMetaData(Transaction: ITransaction; tableName,
360    columnName: string): IBlobMetaData;
361   begin

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines