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} |
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. |
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); |
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 |
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; |
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; |
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 |
|
|
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. |
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; |
1253 |
|
initialization |
1254 |
|
FFirebirdAPI := nil; |
1255 |
|
|
1256 |
+ |
finalization |
1257 |
+ |
FFirebirdAPI := nil; |
1258 |
|
|
1259 |
|
end. |
1260 |
|
|