--- ibx/trunk/fbintf/IB.pas 2016/12/06 10:33:46 45 +++ ibx/trunk/fbintf/IB.pas 2017/01/09 15:31:51 47 @@ -119,6 +119,13 @@ interface uses Classes, SysUtils, DB, FBMessages, IBExternals; +const + {Interface version information} + FBIntf_Major = 1; + FBIntf_Minor = 0; + FBIntf_Release = 1; + FBIntf_Version = '1.0.1'; + {These include files are converted from the 'C' originals in the Firebird API and define the various constants used by the API} @@ -581,6 +588,13 @@ type property Count: integer read getCount; end; + + TPerfStats = (psCurrentMemory, psMaxMemory, + psRealTime, psUserTime, psBuffers, + psReads, psWrites, psFetches,psDeltaMemory); + + TPerfCounters = array[TPerfStats] of Int64; + {The IStatement interface provides access to an SQL Statement once it has been initially prepared. The interface is returned from the IAttachment interface. } @@ -600,6 +614,8 @@ type function GetAttachment: IAttachment; function GetTransaction: ITransaction; procedure SetRetainInterfaces(aValue: boolean); + procedure EnableStatistics(aValue: boolean); + function GetPerfStatistics(var stats: TPerfCounters): boolean; property MetaData: IMetaData read GetMetaData; property SQLParams: ISQLParams read GetSQLParams; property SQLStatementType: TIBSQLStatementTypes read GetSQLStatementType; @@ -832,6 +848,9 @@ type function OpenArray(transaction: ITransaction; RelationName, ColumnName: string; ArrayID: TISC_QUAD): IArray; function CreateArray(transaction: ITransaction; RelationName, ColumnName: string): IArray; overload; function CreateArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData): IArray; overload; + function CreateArrayMetaData(SQLType: cardinal; tableName: string; columnName: string; + Scale: integer; size: cardinal; charSetID: cardinal; dimensions: cardinal; + bounds: TArrayBounds): IArrayMetaData; {Database Information} function GetSQLDialect: integer; @@ -967,7 +986,8 @@ type {Database connections} function AllocateDPB: IDPB; function OpenDatabase(DatabaseName: string; DPB: IDPB; RaiseExceptionOnConnectError: boolean=true): IAttachment; - function CreateDatabase(DatabaseName: string; DPB: IDPB; RaiseExceptionOnError: boolean=true): IAttachment; + function CreateDatabase(DatabaseName: string; DPB: IDPB; RaiseExceptionOnError: boolean=true): IAttachment; overload; + function CreateDatabase(sql: string; aSQLDialect: integer; RaiseExceptionOnError: boolean=true): IAttachment; overload; {Start Transaction against multiple databases} function AllocateTPB: ITPB;