|
| 1 | +# Changes for 7.11.0 |
| 2 | + |
| 3 | +***Change View support added*** |
| 4 | + |
| 5 | +## XsqldaMarshaler.cs |
| 6 | +* Fixed null flag check to check >= 0 instead of != -1 |
| 7 | + |
| 8 | +## IBDatabase.cs |
| 9 | +* Added support for hte new truncate char feature. When true Char fields are right truncated |
| 10 | + |
| 11 | +# Changes for 7.10.2 |
| 12 | + |
| 13 | +## General - |
| 14 | + |
| 15 | +* To support the posix versions of the native IB client DLLs the whole injection scheme was removed due to not being able to support cdecl calling convention (and there are 3 or 4 windows dll's that use cdecl around events that their native driver suppport did not support). The current code always injected stdcall as the calling convention and .NET 4.52 does not support the cdecl calling convention. At this time it was decided to not support a managed interface to IB and only go through the supplied native clients. |
| 16 | +* All class names and name spaces are changed to be IB vs Fb or Fes. This was done so that both the Fb driver and this driver it is based on will not have any naming conflicts if both used in the same application. |
| 17 | + |
| 18 | +## Common |
| 19 | +* Namespaces changed from FirebirdSql.Data.Client.Native to InterBaseSql.Data.Client.Native |
| 20 | +* Uses InterBaseSql.Data.Common instead of FirebirdSql.Data.Common |
| 21 | +* Use the IB named versions of classes and variable names where appropriate moved from fb to ib prefixes. |
| 22 | + |
| 23 | +## FbClientFactory.cs renamed to IBClientFactory.cs |
| 24 | +- IBClientFactory total rewrite to support cdecl calling convention on POSIX platforms. |
| 25 | +- Added Register<T>(string id) to register each of the IIBClient class implementors |
| 26 | +- GetGDSLibrary returns a shared instance to the explicit IIClient for the running platform with the passed Server type. Naming convention is expected to be <plaform><servertype> So windows default class name would be WindowsClient. Linux Embedded would be LinuxEmbedded. In each case you would pass Client or Embedded as ServerType and the routine figures out the platform. |
| 27 | + |
| 28 | +## FesArray.cs renamed to IBArray.cs |
| 29 | +* FesArray class renamed to IBArray |
| 30 | +* General change of Firebird class and variable names to the IB Equivalent |
| 31 | +* GetSlice - Supports Array descriptor V2 when connected to a client version >= 7.0 and calls isc_array_get_slice2 in that case |
| 32 | +* PutSlice - Supports Array descriptor V2 when connected to a client version >= 7.0 and calls isc_array_put_slice2 in that case |
| 33 | + |
| 34 | +## FesBlob.cs renamed to IBBlob.cs |
| 35 | +* FesBlob class renamed to IBBlob |
| 36 | +* General fixup of Firebird class and variable names to the IB Equivalent |
| 37 | + |
| 38 | +## FesConnection.cs renamed to IBConnection.cs |
| 39 | +* FesConnection class renamed to IBConnection |
| 40 | +* General fixup of Firebird class and variable names to the IB Equivalent |
| 41 | +* ParseStatusVector removed IscCodes.isc_arg_sql_state section |
| 42 | + |
| 43 | +## FesDatabase.cs renamed to IBDatabase.cs |
| 44 | +* FesDatabase class renamed to IBDatabase (general note - Over the Wire encryption is done differently between Fb and IB. With IB it is part of the connection string) |
| 45 | +* CreateDatabaseWithTrustedAuth removed |
| 46 | +* CreateDatabase removed crypto key support |
| 47 | +* Attach removed crypto key suppport |
| 48 | +* AttachWithTrustedAuth removed |
| 49 | +* CancelOperation basically is no op'ed until the Async code is updated. (fb version worked with their managed code) |
| 50 | +* DatabaseParameterBufferBase basically removed and just DatabaseParameterBuffer used where approperiate |
| 51 | +* GetServerVersion uses isc_info_version in the call to GetDatabaseinfo |
| 52 | +* CheckCryptKeyForSupport removed |
| 53 | + |
| 54 | +## FesServiceManager.cs renamed to IBServiceManager.cs (general note - Over the Wire encryption is done differently between Fb and IB. With IB it is part of the connection string) |
| 55 | +* FesServiceManager class renamed to IBServiceManager |
| 56 | +* IBServiceManager constructor expects a IBServerType as the first parameter to determine default or embedded client |
| 57 | +* Attach removed crypto support |
| 58 | + |
| 59 | +## FesStatement.cs renamed to IBStatement.cs |
| 60 | +* FesStatement class renamed to IBStatement |
| 61 | +* Execute - Call to isc_dsql_execute2 now passes the current SQLDAVersion |
| 62 | +* Fetch - Call to isc_dsql_fetch now passes the current SQLDAVersion |
| 63 | +* DescribeParameters - passes IscCodes.SQLDA_CURRENT_VERSION to isc_dsql_describe_bind |
| 64 | +* Allocate now calls isc_dsql_alloc_statement2 instead of isc_dsql_alloc_statement |
| 65 | + |
| 66 | +## FesTransaction.cs renamed to IBTransaction.cs |
| 67 | +* FesTransaction class renamed to IBTransaction |
| 68 | +* Fixed up some constant strings to reference InterBase instead of Firebird. |
| 69 | +* BeginTransaction - fixed a pointer size bug in the Fb code. Original code assumes pointers are always 4 bytes. |
| 70 | +* Added StartSavepoint |
| 71 | +* Added RollbackSavepoint |
| 72 | +* Added ReleaseSavepoint |
| 73 | + |
| 74 | +## IfbClient.cs renamed to IIBClient.cs |
| 75 | +* IFbClient interface renamed to IIBClient |
| 76 | +* added string LibraryName(); |
| 77 | +* added void LoadIBLibrary(); |
| 78 | +* added void FreeIBLibrary(); |
| 79 | +* added bool TryIBLoad(); |
| 80 | +* added void CheckIBLoaded(); |
| 81 | +* added string Platform { get; } |
| 82 | +* added string ServerType(); |
| 83 | +* added decimal IBClientVersion { get; } |
| 84 | +* added short SQLDAVersion { get; } |
| 85 | +* removed fb_shutdown |
| 86 | +* removed fb_cancel_operation |
| 87 | +* removed isc_dsql_allocate_statement |
| 88 | +* added isc_array_gen_sdl |
| 89 | +* added isc_array_gen_sdl2 |
| 90 | +* added isc_array_get_slice2 |
| 91 | +* added isc_array_lookup_bounds |
| 92 | +* added isc_array_lookup_bounds2 |
| 93 | +* added isc_array_lookup_desc |
| 94 | +* added isc_array_lookup_desc2 |
| 95 | +* added isc_array_set_desc |
| 96 | +* added isc_array_set_desc2 |
| 97 | +* added isc_array_put_slice2 |
| 98 | +* added isc_blob_default_desc |
| 99 | +* added isc_blob_default_desc2 |
| 100 | +* added isc_blob_gen_bpb |
| 101 | +* added isc_blob_gen_bpb2 |
| 102 | +* added isc_blob_info |
| 103 | +* added isc_blob_lookup_desc |
| 104 | +* added isc_blob_lookup_desc2 |
| 105 | +* added isc_blob_set_desc |
| 106 | +* added isc_blob_set_desc2 |
| 107 | +* added isc_cancel_events |
| 108 | +* added isc_decode_date |
| 109 | +* added isc_decode_sql_date |
| 110 | +* added isc_decode_sql_time |
| 111 | +* added isc_decode_timestamp |
| 112 | +* added isc_dsql_alloc_statement2 |
| 113 | +* added isc_dsql_exec_immed2 |
| 114 | +* added isc_dsql_batch_execute_immed |
| 115 | +* added isc_dsql_batch_execute |
| 116 | +* added isc_dsql_execute_immediate |
| 117 | +* added isc_dsql_set_cursor_name |
| 118 | +* added isc_encode_date |
| 119 | +* added isc_encode_sql_date |
| 120 | +* added isc_encode_sql_time |
| 121 | +* added isc_encode_timestamp |
| 122 | +* added isc_event_block |
| 123 | +* added isc_event_counts |
| 124 | +* added isc_free |
| 125 | +* added isc_get_segment |
| 126 | +* added isc_interprete |
| 127 | +* added isc_prepare_transaction |
| 128 | +* added isc_prepare_transaction2 |
| 129 | +* added isc_que_events |
| 130 | +* added isc_release_savepoint |
| 131 | +* added isc_rollback_savepoint |
| 132 | +* added isc_start_savepoint |
| 133 | +* added isc_start_transaction |
| 134 | +* added isc_sqlcode |
| 135 | +* added isc_sql_interprete |
| 136 | +* added isc_transaction_info |
| 137 | +* added isc_vax_integer |
| 138 | +* added isc_portable_integer |
| 139 | +* added isc_get_client_version |
| 140 | +* added isc_get_client_major_version |
| 141 | +* added isc_get_client_minor_version |
| 142 | + |
| 143 | +## LinuxClient.cs - new |
| 144 | +* class LinuxClient implements IIBClient for Linux. Since this is a POSIX system all calling conventions in the DLL are cdecl. |
| 145 | + |
| 146 | +## LinuxEmbedded.cs - new |
| 147 | +* Inherits from LinuxClient |
| 148 | +* Overrides the LibraryName method to return the embedded client .so name |
| 149 | +* Overrides the ServerType method to return Embedded. |
| 150 | + |
| 151 | +## MacOSClient.cs - new |
| 152 | +* Inherits from LinuxClient |
| 153 | +* Overrides the LibraryName method to return the embedded client .dynlib name |
| 154 | +* Overrides Platform to return MacOS |
| 155 | +* Overrides GetProcAddress and LoadLibrary to use the MacOS libdl.dynlib versions |
| 156 | + |
| 157 | +## MacOSEmbedded.cs - new |
| 158 | +* Inherits from MacOSClient |
| 159 | +* Overrides the LibraryName method to return the embedded client .dynlib name |
| 160 | +* Overrides the ServerType method to return Embedded. |
| 161 | + |
| 162 | +## WindowsClient.cs - new |
| 163 | +* class WindowsClient implements IIBClient for Windows. Almost all calls are stdcall callign conventions, but a few are cdecl. |
| 164 | + |
| 165 | +## WindowsEmbedded.cs - new |
| 166 | +* Inherits from WindowsClient |
| 167 | +* Overrides the LibraryName method to return the embedded client .dll name based on 32/64 bit environment |
| 168 | +* Overrides the ServerType method to return Embedded. |
| 169 | + |
| 170 | + |
0 commit comments