From 5415286d6dd975c57313c24fb5773e80a4b85f06 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 8 May 2025 22:22:27 +0300 Subject: [PATCH 1/2] Regenerate bindings for 2.28. --- sources/TileDB.CSharp/Interop/Methods.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sources/TileDB.CSharp/Interop/Methods.cs b/sources/TileDB.CSharp/Interop/Methods.cs index 41b95884..6e79a0f0 100644 --- a/sources/TileDB.CSharp/Interop/Methods.cs +++ b/sources/TileDB.CSharp/Interop/Methods.cs @@ -1333,6 +1333,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("int32_t")] public static extern int tiledb_stats_disable(); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("int32_t")] + public static extern int tiledb_stats_is_enabled([NativeTypeName("uint8_t *")] byte* enabled); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("int32_t")] public static extern int tiledb_stats_reset(); @@ -1428,6 +1432,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("capi_return_t")] public static extern int tiledb_enumeration_get_offsets(tiledb_ctx_t* ctx, tiledb_enumeration_t* enumeration, [NativeTypeName("const void **")] void** offsets, [NativeTypeName("uint64_t *")] ulong* offsets_size); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_enumeration_get_value_index(tiledb_ctx_t* ctx, tiledb_enumeration_t* enumeration, [NativeTypeName("const void *")] void* value, [NativeTypeName("uint64_t")] ulong value_size, int* exist, [NativeTypeName("uint64_t *")] ulong* index); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("int32_t")] public static extern int tiledb_enumeration_dump_str(tiledb_ctx_t* ctx, tiledb_enumeration_t* enumeration, tiledb_string_t** @out); @@ -1508,6 +1516,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("capi_return_t")] public static extern int tiledb_current_domain_get_type(tiledb_ctx_t* ctx, [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_array_schema_alloc_at_timestamp(tiledb_ctx_t* ctx, tiledb_array_type_t array_type, [NativeTypeName("uint64_t")] ulong timestamp, tiledb_array_schema_t** array_schema); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("capi_return_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); @@ -1608,6 +1620,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("capi_return_t")] public static extern int tiledb_field_cell_val_num(tiledb_ctx_t* ctx, tiledb_query_field_t* field, [NativeTypeName("uint32_t *")] uint* cell_val_num); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_field_get_nullable(tiledb_ctx_t* ctx, tiledb_query_field_t* field, [NativeTypeName("uint8_t *")] byte* nullable); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("capi_return_t")] public static extern int tiledb_field_origin(tiledb_ctx_t* ctx, tiledb_query_field_t* field, tiledb_field_origin_t* origin); @@ -1624,6 +1640,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x) [return: NativeTypeName("capi_return_t")] public static extern int tiledb_subarray_add_point_ranges(tiledb_ctx_t* ctx, tiledb_subarray_t* subarray, [NativeTypeName("uint32_t")] uint dim_idx, [NativeTypeName("const void *")] void* start, [NativeTypeName("uint64_t")] ulong count); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] + [return: NativeTypeName("capi_return_t")] + public static extern int tiledb_subarray_add_point_ranges_var(tiledb_ctx_t* ctx, tiledb_subarray_t* subarray, [NativeTypeName("uint32_t")] uint dim_idx, [NativeTypeName("const void *")] void* start, [NativeTypeName("uint64_t")] ulong start_size, [NativeTypeName("const uint64_t *")] ulong* start_offsets, [NativeTypeName("uint64_t")] ulong start_offsets_size); + [DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("capi_return_t")] public static extern int tiledb_vfs_ls_recursive(tiledb_ctx_t* ctx, tiledb_vfs_t* vfs, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("tiledb_ls_callback_t")] delegate* unmanaged[Cdecl] callback, void* data); From e42dc89a62936e83ef15d88f765c0682fa969d07 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 8 May 2025 22:33:06 +0300 Subject: [PATCH 2/2] Add new APIs. --- sources/TileDB.CSharp/QueryField.cs | 15 +++++++++++++++ sources/TileDB.CSharp/Stats.cs | 14 ++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/sources/TileDB.CSharp/QueryField.cs b/sources/TileDB.CSharp/QueryField.cs index 117ad057..8f75e9e1 100644 --- a/sources/TileDB.CSharp/QueryField.cs +++ b/sources/TileDB.CSharp/QueryField.cs @@ -53,6 +53,21 @@ public DataType DataType } } + /// + /// Gets whether the is nullable. + /// + public bool IsNullable + { + get + { + using var ctxHandle = _ctx.Handle.Acquire(); + using var handle = _handle.Acquire(); + byte result; + _ctx.handle_error(Methods.tiledb_field_get_nullable(ctxHandle, handle, &result)); + return result != 0; + } + } + /// /// Gets the origin of the . /// diff --git a/sources/TileDB.CSharp/Stats.cs b/sources/TileDB.CSharp/Stats.cs index f2be22e2..352c30ce 100644 --- a/sources/TileDB.CSharp/Stats.cs +++ b/sources/TileDB.CSharp/Stats.cs @@ -18,6 +18,20 @@ public static unsafe class Stats /// public static void Disable() => ErrorHandling.ThrowOnError(Methods.tiledb_stats_disable()); + /// + /// Gets whether statistics are enabled. + /// + /// + /// + public static bool IsEnabled + { + get { + byte val; + ErrorHandling.ThrowOnError(Methods.tiledb_stats_is_enabled(&val)); + return val != 0; + } + } + /// /// Resets all previously gathered statistics. ///