Skip to content

Commit 117d75f

Browse files
Update Core to 2.28.1. (#557)
* Regenerate bindings for 2.28. * Add new APIs. * Add tests for the new APIs. * Update Core to 2.28.1. * Run nightlies on `release-2.28`. * Update version to 5.18.0.
1 parent 3e1d995 commit 117d75f

File tree

8 files changed

+65
-8
lines changed

8 files changed

+65
-8
lines changed

.github/workflows/nightly.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
platform: macos-arm64
2727
- os: windows-latest
2828
platform: windows-x86_64
29-
tag: [release-2.27, main]
29+
tag: [release-2.28, main]
3030
runs-on: ${{ matrix.os }}
3131
steps:
3232
- name: Checkout TileDB
@@ -70,7 +70,7 @@ jobs:
7070
strategy:
7171
fail-fast: false
7272
matrix:
73-
tag: [release-2.27, main]
73+
tag: [release-2.28, main]
7474
runs-on: ubuntu-latest
7575
steps:
7676
- name: Checkout TileDB-CSharp
@@ -104,7 +104,7 @@ jobs:
104104
fail-fast: false
105105
matrix:
106106
os: [ubuntu-latest, macos-latest, windows-latest]
107-
tag: [release-2.27, main]
107+
tag: [release-2.28, main]
108108
runs-on: ${{ matrix.os }}
109109
steps:
110110
- name: Checkout TileDB-CSharp

Directory.Packages.props

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
<PropertyGroup>
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
<TileDBNativePackageName>TileDB.Native</TileDBNativePackageName>
5-
<TileDBNativeVersionMajor>2</TileDBNativeVersionMajor>
6-
<TileDBNativeVersionMinor>27</TileDBNativeVersionMinor>
7-
<TileDBNativePackageVersion>[$(TileDBNativeVersionMajor).$(TileDBNativeVersionMinor).0,$(TileDBNativeVersionMajor).$([MSBuild]::Add($(TileDBNativeVersionMinor), 1)).0)</TileDBNativePackageVersion>
5+
<TileDBNativePackageVersion>[2.28.1,2.29.0)</TileDBNativePackageVersion>
86

97
<!-- The DevelopmentBuild property switches to the locally built native packages.
108
They have a different name to avoid publishing them by mistake, and to

sources/TileDB.CSharp/Interop/Methods.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,6 +1333,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
13331333
[return: NativeTypeName("int32_t")]
13341334
public static extern int tiledb_stats_disable();
13351335

1336+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1337+
[return: NativeTypeName("int32_t")]
1338+
public static extern int tiledb_stats_is_enabled([NativeTypeName("uint8_t *")] byte* enabled);
1339+
13361340
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
13371341
[return: NativeTypeName("int32_t")]
13381342
public static extern int tiledb_stats_reset();
@@ -1428,6 +1432,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
14281432
[return: NativeTypeName("capi_return_t")]
14291433
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);
14301434

1435+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1436+
[return: NativeTypeName("capi_return_t")]
1437+
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);
1438+
14311439
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
14321440
[return: NativeTypeName("int32_t")]
14331441
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)
15081516
[return: NativeTypeName("capi_return_t")]
15091517
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);
15101518

1519+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1520+
[return: NativeTypeName("capi_return_t")]
1521+
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);
1522+
15111523
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
15121524
[return: NativeTypeName("capi_return_t")]
15131525
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)
16081620
[return: NativeTypeName("capi_return_t")]
16091621
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);
16101622

1623+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1624+
[return: NativeTypeName("capi_return_t")]
1625+
public static extern int tiledb_field_get_nullable(tiledb_ctx_t* ctx, tiledb_query_field_t* field, [NativeTypeName("uint8_t *")] byte* nullable);
1626+
16111627
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
16121628
[return: NativeTypeName("capi_return_t")]
16131629
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)
16241640
[return: NativeTypeName("capi_return_t")]
16251641
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);
16261642

1643+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1644+
[return: NativeTypeName("capi_return_t")]
1645+
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);
1646+
16271647
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
16281648
[return: NativeTypeName("capi_return_t")]
16291649
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]<sbyte*, nuint, ulong, void*, int> callback, void* data);

sources/TileDB.CSharp/QueryField.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,21 @@ public DataType DataType
5353
}
5454
}
5555

56+
/// <summary>
57+
/// Gets whether the <see cref="QueryField"/> is nullable.
58+
/// </summary>
59+
public bool IsNullable
60+
{
61+
get
62+
{
63+
using var ctxHandle = _ctx.Handle.Acquire();
64+
using var handle = _handle.Acquire();
65+
byte result;
66+
_ctx.handle_error(Methods.tiledb_field_get_nullable(ctxHandle, handle, &result));
67+
return result != 0;
68+
}
69+
}
70+
5671
/// <summary>
5772
/// Gets the origin of the <see cref="QueryField"/>.
5873
/// </summary>

sources/TileDB.CSharp/Stats.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,20 @@ public static unsafe class Stats
1818
/// </summary>
1919
public static void Disable() => ErrorHandling.ThrowOnError(Methods.tiledb_stats_disable());
2020

21+
/// <summary>
22+
/// Gets whether statistics are enabled.
23+
/// </summary>
24+
/// <seealso cref="Enable"/>
25+
/// <seealso cref="Disable"/>
26+
public static bool IsEnabled
27+
{
28+
get {
29+
byte val;
30+
ErrorHandling.ThrowOnError(Methods.tiledb_stats_is_enabled(&val));
31+
return val != 0;
32+
}
33+
}
34+
2135
/// <summary>
2236
/// Resets all previously gathered statistics.
2337
/// </summary>

sources/TileDB.CSharp/TileDB.CSharp.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
77
<Nullable>enable</Nullable>
88
<RootNamespace>TileDB.CSharp</RootNamespace>
9-
<Version>5.17.0</Version>
9+
<Version>5.18.0</Version>
1010
<Description>C# wrapper of the TileDB Embedded universal data engine.</Description>
1111
<PackageReadmeFile>README.md</PackageReadmeFile>
1212
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1313
<EnablePackageValidation>true</EnablePackageValidation>
14-
<PackageValidationBaselineVersion>5.16.0</PackageValidationBaselineVersion>
14+
<PackageValidationBaselineVersion>5.17.0</PackageValidationBaselineVersion>
1515
<NoWarn>$(NoWarn);TILEDB0012;TILEDB0013;TILEDB0014</NoWarn>
1616
</PropertyGroup>
1717

tests/TileDB.CSharp.Test/AggregatesTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public unsafe void Test()
6363
Assert.AreEqual(DataType.UInt64, countField.DataType);
6464
Assert.AreEqual(1u, countField.ValuesPerCell);
6565
Assert.AreEqual(QueryFieldOrigin.Aggregate, countField.Origin);
66+
Assert.IsFalse(countField.IsNullable);
6667

6768
query.SetDataBuffer("a1", dataRead);
6869
query.SetValidityBuffer("a1", validityRead);

tests/TileDB.CSharp.Test/CoreUtilTest.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,13 @@ public void BuildConfigurationNonEmpty()
1212

1313
Assert.IsFalse(string.IsNullOrWhiteSpace(buildConfiguration));
1414
}
15+
16+
[TestMethod]
17+
public void TestStats()
18+
{
19+
Stats.Disable();
20+
Assert.IsFalse(Stats.IsEnabled);
21+
Stats.Enable();
22+
Assert.IsTrue(Stats.IsEnabled);
23+
}
1524
}

0 commit comments

Comments
 (0)