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 |
|
|
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; |
127 |
|
IsCreateDB: boolean; |
128 |
|
begin |
129 |
|
inherited Create(DatabaseName,aDPB,RaiseExceptionOnError); |
124 |
– |
FSQLDialect := 3; |
130 |
|
IsCreateDB := true; |
131 |
|
if aDPB <> nil then |
132 |
|
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; |
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 |