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

Comparing ibx/trunk/fbintf/IB.pas (file contents):
Revision 87 by tony, Mon Jan 1 11:31:26 2018 UTC vs.
Revision 221 by tony, Mon Mar 19 09:48:37 2018 UTC

# Line 127 | Line 127 | uses
127   const
128    {Interface version information}
129    FBIntf_Major = 1;
130 <  FBIntf_Minor = 0;
130 >  FBIntf_Minor = 1;
131    FBIntf_Release = 2;
132 <  FBIntf_Version = '1.0.2';
132 >  FBIntf_Version = '1.1.2';
133  
134   {These include files are converted from the 'C' originals in the Firebird API
135   and define the various constants used by the API}
# Line 632 | Line 632 | type
632                  psRealTime, psUserTime, psBuffers,
633                  psReads, psWrites, psFetches,psDeltaMemory);
634  
635 <  TPerfCounters = array[TPerfStats] of comp;
635 >  TPerfCounters = array[TPerfStats] of Int64;
636  
637    {The IStatement interface provides access to an SQL Statement once it has been
638     initially prepared. The interface is returned from the IAttachment interface.
# Line 773 | Line 773 | type
773      function getAsInteger: integer;
774      procedure DecodeIDCluster(var ConnectionType: integer; var DBFileName, DBSiteName: AnsiString);
775      function getAsBytes: TByteArray;
776 +    function getAsDateTime: TDateTime;
777      procedure DecodeVersionString(var Version: byte; var VersionString: AnsiString);
778      function getOperationCounts: TDBOperationCounts;
779      procedure DecodeUserNames(UserNames: TStrings);
# Line 799 | Line 800 | type
800      property Items[index: integer]: IDBInfoItem read getItem; default;
801    end;
802  
803 +  {The Database Information Request Block is used to pass requests for
804 +   database information where at least one item requested has a parameter.
805 +   At present, this is only fb_info_page_contents which has a single
806 +   integer parameter.}
807 +
808 +  IDIRBItem = interface(IParameterBlockItem)
809 +    ['{d34a7511-8435-4a24-81a7-5103d218d234}']
810 +  end;
811 +
812 +  IDIRB = interface(IParameterBlock<IDIRBItem>)
813 +    ['{1010e5ac-0a8f-403b-a302-91625e9d9579}']
814 +  end;
815 +
816 +
817    {The Database Parameter Block (DPB).
818  
819     The DPB provides the parameters used when connecting to a database. It is allocated
# Line 849 | Line 864 | type
864      ['{466e9b67-9def-4807-b3e7-e08a35e7185c}']
865      function getDPB: IDPB;
866      function AllocateBPB: IBPB;
867 +    function AllocateDIRB: IDIRB;
868      procedure Connect;
869      procedure Disconnect(Force: boolean=false);
870      function IsConnected: boolean;
# Line 911 | Line 927 | type
927      function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData;
928      function GetDBInformation(Requests: array of byte): IDBInformation; overload;
929      function GetDBInformation(Request: byte): IDBInformation; overload;
930 +    function GetDBInformation(Requests: IDIRB): IDBInformation; overload;
931 +    function GetConnectString: AnsiString;
932 +    function GetRemoteProtocol: AnsiString;
933 +    function GetAuthenticationMethod: AnsiString;
934 +    function GetSecurityDatabase: AnsiString;
935 +    function GetODSMajorVersion: integer;
936 +    function GetODSMinorVersion: integer;
937      function HasActivity: boolean;
938  
939      {Character Sets}
940 +    function HasDefaultCharSet: boolean;
941 +    function GetDefaultCharSetID: integer;
942      function GetCharsetName(CharSetID: integer): AnsiString;
943      function CharSetID2CodePage(CharSetID: integer; var CodePage: TSystemCodePage): boolean;
944      function CodePage2CharSetID(CodePage: TSystemCodePage; var CharSetID: integer): boolean;
# Line 923 | Line 948 | type
948        AllowReverseLookup:boolean; out CharSetID: integer);
949    end;
950  
951 <  TProtocol = (TCP, SPX, NamedPipe, Local);
951 >  TProtocolAll = (TCP, SPX, NamedPipe, Local, inet, wnet, xnet, unknownProtocol);
952 >  TProtocol = TCP..xnet;
953  
954    {Service Parameter Block (SPB).
955  
# Line 1041 | Line 1067 | type
1067      ['{905b587d-1e1f-4e40-a3f8-a3519f852e48}']
1068      function getSPB: ISPB;
1069      function getServerName: AnsiString;
1070 +    function getProtocol: TProtocol;
1071 +    function getPortNo: AnsiString;
1072      procedure Attach;
1073      procedure Detach(Force: boolean=false);
1074      function IsAttached: boolean;
1075      function AllocateSRB: ISRB;
1076      function AllocateSQPB: ISQPB;
1077 <    procedure Start(Request: ISRB);
1078 <    function Query(SQPB: ISQPB; Request: ISRB) :IServiceQueryResults; overload;
1079 <    function Query(Request: ISRB) :IServiceQueryResults; overload;
1077 >    function Start(Request: ISRB; RaiseExceptionOnError: boolean=true): boolean;
1078 >    function Query(SQPB: ISQPB; Request: ISRB; RaiseExceptionOnError: boolean=true) :IServiceQueryResults; overload;
1079 >    function Query(Request: ISRB; RaiseExceptionOnError: boolean=true) :IServiceQueryResults; overload;
1080    end;
1081  
1082    {The Firebird API.
# Line 1077 | Line 1105 | type
1105      {Service Manager}
1106      function HasServiceAPI: boolean;
1107      function AllocateSPB: ISPB;
1108 <    function GetServiceManager(ServerName: AnsiString; Protocol: TProtocol; SPB: ISPB): IServiceManager;
1108 >    function GetServiceManager(ServerName: AnsiString; Protocol: TProtocol; SPB: ISPB): IServiceManager; overload;
1109 >    function GetServiceManager(ServerName: AnsiString; Port: AnsiString; Protocol: TProtocol; SPB: ISPB): IServiceManager; overload;
1110  
1111      {Information}
1112      function GetStatus: IStatus;
# Line 1224 | Line 1253 | end;
1253   initialization
1254    FFirebirdAPI := nil;
1255  
1256 + finalization
1257 +  FFirebirdAPI := nil;
1258  
1259   end.
1260  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines