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

Comparing ibx/trunk/fbintf/IB.pas (file contents):
Revision 270 by tony, Fri Jan 18 11:10:37 2019 UTC vs.
Revision 310 by tony, Tue Jul 21 08:20:03 2020 UTC

# Line 135 | Line 135 | const
135    {Interface version information}
136    FBIntf_Major = 1;
137    FBIntf_Minor = 1;
138 <  FBIntf_Release = 4;
139 <  FBIntf_Version = '1.1.4';
138 >  FBIntf_Release = 6;
139 >  FBIntf_Version = '1.1.6';
140  
141   {These include files are converted from the 'C' originals in the Firebird API
142   and define the various constants used by the API}
# Line 210 | Line 210 | type
210                    SQLGetSegment, SQLPutSegment,
211                    SQLExecProcedure, SQLStartTransaction,
212                    SQLCommit, SQLRollback,
213 <                  SQLSelectForUpdate, SQLSetGenerator);
213 >                  SQLSelectForUpdate, SQLSetGenerator,
214 >                  SQLSavePoint);
215  
216    TFBStatusCode = cardinal;
217    TByteArray = array of byte;
# Line 218 | Line 219 | type
219    IFirebirdAPI = interface;
220    IAttachment = interface;
221    ITransaction = interface;
222 +  IStatement = interface;
223  
224    {The IParameterBlock interface provides the template for all parameter
225     block interfaces}
# Line 257 | Line 259 | type
259     This interface can be accessed from IFirebirdAPI.
260     }
261  
262 +   TIBDataBaseErrorMessage    = (ShowSQLCode,
263 +                                   ShowIBMessage,
264 +                                   ShowSQLMessage);
265 +
266 +   TIBDataBaseErrorMessages   = set of TIBDataBaseErrorMessage;
267 +
268    IStatus = interface
269      ['{34167722-af38-4831-b08a-93162d58ede3}']
270      function GetIBErrorCode: Long;
# Line 283 | Line 291 | type
291      function GetSQLTypeName: AnsiString;
292      function GetScale: integer;
293      function GetSize: cardinal;
294 +    function GetCharSetWidth: integer;
295      function GetCharSetID: cardinal;
296      function GetTableName: AnsiString;
297      function GetColumnName: AnsiString;
# Line 431 | Line 440 | type
440      function getScale: integer;
441      function getCharSetID: cardinal;
442      function getCodePage: TSystemCodePage;
443 +    function GetCharSetWidth: integer;
444      function getIsNullable: boolean;
445      function GetSize: cardinal;
446      function GetArrayMetaData: IArrayMetaData; {Valid only for Array SQL Type}
447      function GetBlobMetaData: IBlobMetaData; {Valid only for Blob SQL Type}
448      function GetDateTimeStrLength(DateTimeFormat: TIBDateTimeFormats): integer;
449 +    function GetStatement: IStatement;
450 +    function GetTransaction: ITransaction;
451      property Name: AnsiString read GetName;
452      property Size: cardinal read GetSize;
453      property SQLType: cardinal read GetSQLType;
# Line 477 | Line 489 | type
489  
490    ISQLData = interface(IColumnMetaData)
491      ['{3f493e31-7e3f-4606-a07c-b210b9e3619d}']
492 +    function GetStrDataLength: short;
493      function GetAsBoolean: boolean;
494      function GetAsCurrency: Currency;
495      function GetAsInt64: Int64;
# Line 523 | Line 536 | type
536    IResults = interface
537      ['{e836b2bb-93d1-4bbf-a8eb-7ce535de3bb5}']
538     function getCount: integer;
539 +   function GetStatement: IStatement;
540     function GetTransaction: ITransaction;
541     function ByName(Idx: AnsiString): ISQLData;
542     function getSQLData(index: integer): ISQLData;
# Line 643 | Line 657 | type
657      function getSQLParam(index: integer): ISQLParam;
658      function ByName(Idx: AnsiString): ISQLParam ;
659      function GetModified: Boolean;
660 +    function GetHasCaseSensitiveParams: Boolean;
661      property Modified: Boolean read GetModified;
662      property Params[index: integer]: ISQLParam read getSQLParam; default;
663      property Count: integer read getCount;
# Line 935 | Line 950 | type
950      function CreateBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BPB: IBPB=nil): IBlob; overload;
951      function CreateBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BPB: IBPB=nil): IBlob; overload;
952      function CreateBlob(transaction: ITransaction; SubType: integer; CharSetID: cardinal=0; BPB: IBPB=nil): IBlob; overload;
953 <    function OpenBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob;
953 >    function OpenBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob; overload;
954 >    function OpenBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BlobID: TISC_QUAD; BPB: IBPB=nil): IBlob;  overload;
955  
956      {Array - may use to open existing arrays. However, ISQLData.AsArray is preferred}
957  
958 <    function OpenArray(transaction: ITransaction; RelationName, ColumnName: AnsiString; ArrayID: TISC_QUAD): IArray;
958 >    function OpenArray(transaction: ITransaction; RelationName, ColumnName: AnsiString; ArrayID: TISC_QUAD): IArray; overload;
959 >    function OpenArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData; ArrayID: TISC_QUAD): IArray; overload;
960      function CreateArray(transaction: ITransaction; RelationName, ColumnName: AnsiString): IArray; overload;
961      function CreateArray(transaction: ITransaction; ArrayMetaData: IArrayMetaData): IArray; overload;
962      function CreateArrayMetaData(SQLType: cardinal; tableName: AnsiString; columnName: AnsiString;
# Line 1153 | Line 1170 | type
1170      function HasRollbackRetaining: boolean;
1171      function IsEmbeddedServer: boolean;
1172      function GetImplementationVersion: AnsiString;
1173 +    function GetClientMajor: integer;
1174 +    function GetClientMinor: integer;
1175  
1176      {Firebird 3 API}
1177      function HasMasterIntf: boolean;
# Line 1192 | Line 1211 | type
1211     {IB Client Exceptions}
1212     EIBClientError = class(EIBError);
1213  
1195 {IBError is used internally and by IBX to throw an EIBClientError}
1196
1197 procedure IBError(ErrMess: TIBClientError; const Args: array of const);
1198
1214   {The Firebird API function is used to access the IFirebirdAPI interface.
1215  
1216   It will load the Firebird Client Library if this is not already loaded and
# Line 1323 | Line 1338 | begin
1338    FIBErrorCode := AIBErrorCode;
1339   end;
1340  
1326 procedure IBError(ErrMess: TIBClientError; const Args: array of const);
1327 begin
1328  raise EIBClientError.Create(Ord(ErrMess),
1329                              Format(GetErrorMessage(ErrMess), Args));
1330 end;
1341  
1342   initialization
1343    FDefaultFBLibrary := nil;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines