From 1e293a9b0ce56e3224bc213aa3a9ce52028a98a7 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 11 Jul 2024 01:06:41 +0300 Subject: [PATCH 1/5] Regenerate bindings for 2.25. --- sources/TileDB.CSharp/Interop/Methods.cs | 60 +++++++++++++++++++ .../Interop/tiledb_current_domain_handle_t.cs | 8 +++ .../Interop/tiledb_current_domain_type_t.cs | 9 +++ .../Interop/tiledb_ndrectangle_handle_t.cs | 8 +++ .../TileDB.CSharp/Interop/tiledb_range_t.cs | 19 ++++++ 5 files changed, 104 insertions(+) create mode 100644 sources/TileDB.CSharp/Interop/tiledb_current_domain_handle_t.cs create mode 100644 sources/TileDB.CSharp/Interop/tiledb_current_domain_type_t.cs create mode 100644 sources/TileDB.CSharp/Interop/tiledb_ndrectangle_handle_t.cs create mode 100644 sources/TileDB.CSharp/Interop/tiledb_range_t.cs diff --git a/sources/TileDB.CSharp/Interop/Methods.cs b/sources/TileDB.CSharp/Interop/Methods.cs index e24ddc02..e34185c4 100644 --- a/sources/TileDB.CSharp/Interop/Methods.cs +++ b/sources/TileDB.CSharp/Interop/Methods.cs @@ -1327,6 +1327,54 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("capi_return_t")] public static extern int tiledb_attribute_get_enumeration_name(tiledb_ctx_t* ctx, tiledb_attribute_t* attr, tiledb_string_t** name); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_ndrectangle_alloc(tiledb_ctx_t* ctx, tiledb_domain_t* domain, [NativeTypeName("tiledb_ndrectangle_t **")] tiledb_ndrectangle_handle_t** ndr); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_ndrectangle_free([NativeTypeName("tiledb_ndrectangle_t **")] tiledb_ndrectangle_handle_t** ndr); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_ndrectangle_get_range_from_name(tiledb_ctx_t* ctx, [NativeTypeName("tiledb_ndrectangle_t *")] tiledb_ndrectangle_handle_t* ndr, [NativeTypeName("const char *")] sbyte* name, tiledb_range_t* range); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_ndrectangle_get_range(tiledb_ctx_t* ctx, [NativeTypeName("tiledb_ndrectangle_t *")] tiledb_ndrectangle_handle_t* ndr, [NativeTypeName("uint32_t")] uint idx, tiledb_range_t* range); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_ndrectangle_set_range_for_name(tiledb_ctx_t* ctx, [NativeTypeName("tiledb_ndrectangle_t *")] tiledb_ndrectangle_handle_t* ndr, [NativeTypeName("const char *")] sbyte* name, tiledb_range_t* range); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_ndrectangle_set_range(tiledb_ctx_t* ctx, [NativeTypeName("tiledb_ndrectangle_t *")] tiledb_ndrectangle_handle_t* ndr, [NativeTypeName("uint32_t")] uint idx, tiledb_range_t* range); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_current_domain_create(tiledb_ctx_t* ctx, [NativeTypeName("tiledb_current_domain_t **")] tiledb_current_domain_handle_t** current_domain); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_current_domain_free([NativeTypeName("tiledb_current_domain_t **")] tiledb_current_domain_handle_t** current_domain); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_current_domain_set_ndrectangle([NativeTypeName("tiledb_current_domain_t *")] tiledb_current_domain_handle_t* current_domain, [NativeTypeName("tiledb_ndrectangle_t *")] tiledb_ndrectangle_handle_t* ndr); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_current_domain_get_ndrectangle([NativeTypeName("tiledb_current_domain_t *")] tiledb_current_domain_handle_t* current_domain, [NativeTypeName("tiledb_ndrectangle_t **")] tiledb_ndrectangle_handle_t** ndr); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_current_domain_get_is_empty([NativeTypeName("tiledb_current_domain_t *")] tiledb_current_domain_handle_t* current_domain, [NativeTypeName("uint32_t *")] uint* is_empty); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_current_domain_get_type([NativeTypeName("tiledb_current_domain_t *")] tiledb_current_domain_handle_t* current_domain, tiledb_current_domain_type_t* type); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("capi_return_t")] public static extern int tiledb_enumeration_alloc(tiledb_ctx_t* ctx, [NativeTypeName("const char *")] sbyte* name, tiledb_datatype_t type, [NativeTypeName("uint32_t")] uint cell_val_num, int ordered, [NativeTypeName("const void *")] void* data, [NativeTypeName("uint64_t")] ulong data_size, [NativeTypeName("const void *")] void* offsets, [NativeTypeName("uint64_t")] ulong offsets_size, tiledb_enumeration_t** enumeration); @@ -1568,6 +1616,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("int32_t")] public static extern int tiledb_array_schema_evolution_set_timestamp_range(tiledb_ctx_t* ctx, tiledb_array_schema_evolution_t* array_schema_evolution, [NativeTypeName("uint64_t")] ulong lo, [NativeTypeName("uint64_t")] ulong hi); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_array_schema_evolution_expand_current_domain(tiledb_ctx_t* ctx, tiledb_array_schema_evolution_t* array_schema_evolution, [NativeTypeName("tiledb_current_domain_t *")] tiledb_current_domain_handle_t* expanded_domain); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("int32_t")] public static extern int tiledb_array_schema_timestamp_range(tiledb_ctx_t* ctx, tiledb_array_schema_t* array_schema, [NativeTypeName("uint64_t *")] ulong* lo, [NativeTypeName("uint64_t *")] ulong* hi); @@ -1576,6 +1628,14 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("int32_t")] public static extern int tiledb_array_schema_add_enumeration(tiledb_ctx_t* ctx, tiledb_array_schema_t* array_schema, tiledb_enumeration_t* enumeration); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("int32_t")] + public static extern int tiledb_array_schema_set_current_domain(tiledb_ctx_t* ctx, tiledb_array_schema_t* array_schema, [NativeTypeName("tiledb_current_domain_t *")] tiledb_current_domain_handle_t* current_domain); + + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("int32_t")] + public static extern int tiledb_array_schema_get_current_domain(tiledb_ctx_t* ctx, tiledb_array_schema_t* array_schema, [NativeTypeName("tiledb_current_domain_t **")] tiledb_current_domain_handle_t** current_domain); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("int32_t")] public static extern int tiledb_array_evolve(tiledb_ctx_t* ctx, [NativeTypeName("const char *")] sbyte* array_uri, tiledb_array_schema_evolution_t* array_schema_evolution); diff --git a/sources/TileDB.CSharp/Interop/tiledb_current_domain_handle_t.cs b/sources/TileDB.CSharp/Interop/tiledb_current_domain_handle_t.cs new file mode 100644 index 00000000..602f2dca --- /dev/null +++ b/sources/TileDB.CSharp/Interop/tiledb_current_domain_handle_t.cs @@ -0,0 +1,8 @@ +// + +namespace TileDB.Interop +{ + internal partial struct tiledb_current_domain_handle_t + { + } +} diff --git a/sources/TileDB.CSharp/Interop/tiledb_current_domain_type_t.cs b/sources/TileDB.CSharp/Interop/tiledb_current_domain_type_t.cs new file mode 100644 index 00000000..3b6e15f7 --- /dev/null +++ b/sources/TileDB.CSharp/Interop/tiledb_current_domain_type_t.cs @@ -0,0 +1,9 @@ +// + +namespace TileDB.Interop +{ + internal enum tiledb_current_domain_type_t + { + TILEDB_NDRECTANGLE = 0, + } +} diff --git a/sources/TileDB.CSharp/Interop/tiledb_ndrectangle_handle_t.cs b/sources/TileDB.CSharp/Interop/tiledb_ndrectangle_handle_t.cs new file mode 100644 index 00000000..45abba6f --- /dev/null +++ b/sources/TileDB.CSharp/Interop/tiledb_ndrectangle_handle_t.cs @@ -0,0 +1,8 @@ +// + +namespace TileDB.Interop +{ + internal partial struct tiledb_ndrectangle_handle_t + { + } +} diff --git a/sources/TileDB.CSharp/Interop/tiledb_range_t.cs b/sources/TileDB.CSharp/Interop/tiledb_range_t.cs new file mode 100644 index 00000000..67b2903b --- /dev/null +++ b/sources/TileDB.CSharp/Interop/tiledb_range_t.cs @@ -0,0 +1,19 @@ +// + +namespace TileDB.Interop +{ + internal unsafe partial struct tiledb_range_t + { + [NativeTypeName("const void *")] + public void* min; + + [NativeTypeName("uint64_t")] + public ulong min_size; + + [NativeTypeName("const void *")] + public void* max; + + [NativeTypeName("uint64_t")] + public ulong max_size; + } +} From 8da0114dbd8fedfaab3723dcd7aef645ec9cfc96 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 11 Jul 2024 01:11:00 +0300 Subject: [PATCH 2/5] Remove two TODOs that are not actionable from the C# API side. --- sources/TileDB.CSharp/Subarray.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/TileDB.CSharp/Subarray.cs b/sources/TileDB.CSharp/Subarray.cs index 349da1a1..a5c65a85 100644 --- a/sources/TileDB.CSharp/Subarray.cs +++ b/sources/TileDB.CSharp/Subarray.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using TileDB.CSharp.Marshalling; @@ -180,7 +180,8 @@ public void AddRange(string dimensionName, T start, T end) where T : struct AddRange(dimensionName, &start, &end, null); } - // TODO: Make it public once the Core supports strides. + // The following two APIs are private until the Core supports strides. + /// /// Adds a 1D range along a subarray dimension index, in the form (start, end, stride). /// @@ -196,7 +197,6 @@ private void AddRange(uint dimensionIndex, T start, T end, T stride) where T AddRange(dimensionIndex, &start, &end, &stride); } - // TODO: Make it public once the Core supports strides. /// /// Adds a 1D range along a subarray dimension name, specified by its name, in the form(start, end, stride). /// From 43b6422abf2b293ad2af4d51ae0107705388c5f6 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 25 Jul 2024 14:02:34 +0300 Subject: [PATCH 3/5] Bump Core to 2.25.0. --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 8ff9762a..20e63b33 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,7 +3,7 @@ true TileDB.Native 2 - 24 + 25 [$(TileDBNativeVersionMajor).$(TileDBNativeVersionMinor).0,$(TileDBNativeVersionMajor).$([MSBuild]::Add($(TileDBNativeVersionMinor), 1)).0)