You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add back removed APIs from the TileDB.Interop namespace. (#278)
* Add back removed APIs from the `TileDB.Interop` namespace. (#277)
* Fix compile errors by making some interop types public again.
* Obsolete the reintroduced interop APIs, with a new diagnostic ID.
## `TILEDB0001` - Enum value names that start with `TILEDB_` were replaced with C#-friendly names.
12
13
@@ -299,4 +300,23 @@ Some of these methods were renamed or had their signature changed (for example t
299
300
300
301
Instead of setting ranges and subarrays on the `Query`, create and configure a `Subarray` object, and assign it to the query using the `Query.SetSubarray` method.
301
302
303
+
## `TILEDB0012` - Members of the `TileDB.Interop` namespace will become internal in a future version and should not be used by user code.
304
+
305
+
<aname="TILEDB0012"></a>
306
+
307
+
Some APIs in the `TileDB.Interop` namespace that were inadvertently removed in version 5.3.0 were reintroduced in version 5.7.0. They are marked as obsolete and hidden from IntelliSense and will be removed from the public API for good in version 5.9.0. They were also reintroduced in patch releases 5.3.1 and 5.4.1, obsoleted under the [`TILEDB0003`](#TILEDB0003) code.
308
+
309
+
### Version introduced
310
+
311
+
5.7.0
312
+
313
+
### Recommended action
314
+
315
+
The obsoleted APIs fall into the following categories:
316
+
317
+
- The `MarshaledString` and `MarshaledStringOut` types are used to help convert strings from and to ASCII and pass them to native code. If you are using them in user code for native code interop, you should use .NET's [built-in P/Invoke](https://learn.microsoft.com/en-us/dotnet/standard/native-interop/charset) marshaling instead. For other kinds of encoding conversions, you should use APIs from the [`System.Text.Encoding`](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding) class.
318
+
- The `__sFile` and `LibC` types have no members and there is no reason to use them anyway.
319
+
- The types that derive from `SafeHandle` are used to safely manage the lifetime of native TileDB objects. With the APIs in the `TileDB.CSharp` namespace providing broad coverage of TileDB's functionalities while also being safer and easier to sue, these types provide limited utility. You should use the APIs in the `TileDB.CSharp` namespace instead.
320
+
- Types with the name `tiledb_***_t` were made public again only to support the APIs of the safe handles above. They have little other use on their own. You should use APIs in the `TileDB.CSharp` namespace instead.
0 commit comments