Skip to content

Commit 63124d4

Browse files
Update Core to 2.30. (#602)
* Regenerate bindings for 2.30. * Add new APIs. * Update Core to 2.30.0. * Run nightlies on `release-2.30`. * Update version to 5.20.0.
1 parent 05b0bfb commit 63124d4

10 files changed

Lines changed: 112 additions & 17 deletions

File tree

.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.29, main]
29+
tag: [release-2.30, main]
3030
runs-on: ${{ matrix.os }}
3131
steps:
3232
- name: Checkout TileDB
@@ -73,7 +73,7 @@ jobs:
7373
strategy:
7474
fail-fast: false
7575
matrix:
76-
tag: [release-2.29, main]
76+
tag: [release-2.30, main]
7777
runs-on: ubuntu-latest
7878
steps:
7979
- name: Checkout TileDB-CSharp
@@ -107,7 +107,7 @@ jobs:
107107
fail-fast: false
108108
matrix:
109109
os: [ubuntu-latest, macos-latest, windows-latest]
110-
tag: [release-2.29, main]
110+
tag: [release-2.30, main]
111111
runs-on: ${{ matrix.os }}
112112
steps:
113113
- name: Checkout TileDB-CSharp

Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
<TileDBNativePackageName>TileDB.Native</TileDBNativePackageName>
5-
<TileDBNativePackageVersion>[2.29.1,2.30.0)</TileDBNativePackageVersion>
5+
<TileDBNativePackageVersion>[2.30.0,2.31.0)</TileDBNativePackageVersion>
66

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

sources/TileDB.CSharp/Context.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,19 @@ public void VisitChildObjects<T>(string uri, WalkOrderType? walkOrder, Func<stri
326326
return list;
327327
}
328328

329+
/// <summary>
330+
/// Gets the REST protocol version for the given <c>tiledb://</c> URI.
331+
/// </summary>
332+
/// <param name="uri">The URI to check.</param>
333+
public DataProtocol GetDataProtocol(string uri)
334+
{
335+
using var handle = _handle.Acquire();
336+
using var ms_uri = new MarshaledString(uri);
337+
tiledb_data_protocol_t result;
338+
handle_error(Methods.tiledb_ctx_get_data_protocol(handle, ms_uri, &result));
339+
return (DataProtocol)result;
340+
}
341+
329342
internal void handle_error(int rc)
330343
{
331344
var status = (Status)Methods.tiledb_status(rc);

sources/TileDB.CSharp/Enums.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public enum FileSystemType : uint
164164
/// </summary>
165165
S3 = tiledb_filesystem_t.TILEDB_S3,
166166
/// <summary>
167-
/// Azure filesystem.
167+
/// Azure file system.
168168
/// </summary>
169169
Azure = tiledb_filesystem_t.TILEDB_AZURE,
170170
/// <summary>
@@ -174,7 +174,11 @@ public enum FileSystemType : uint
174174
/// <summary>
175175
/// In-memory file system.
176176
/// </summary>
177-
InMemory = tiledb_filesystem_t.TILEDB_MEMFS
177+
InMemory = tiledb_filesystem_t.TILEDB_MEMFS,
178+
/// <summary>
179+
/// TileDB Filesystem file system.
180+
/// </summary>
181+
TileDBFilesystem = tiledb_filesystem_t.TILEDB_TILEDBFS,
178182
}
179183

180184
/// <summary>
@@ -807,6 +811,22 @@ public enum QueryFieldOrigin : uint
807811
Aggregate
808812
}
809813

814+
/// <summary>
815+
/// Specifies the protocol version of a URI.
816+
/// </summary>
817+
/// <seealso cref="Context.GetDataProtocol"/>
818+
public enum DataProtocol : uint
819+
{
820+
/// <summary>
821+
/// REST API v2 (legacy)
822+
/// </summary>
823+
Version2 = tiledb_data_protocol_t.TILEDB_DATA_PROTOCOL_v2,
824+
/// <summary>
825+
/// REST API v3 (Tiledb 3.0+)
826+
/// </summary>
827+
Version3 = tiledb_data_protocol_t.TILEDB_DATA_PROTOCOL_v3,
828+
}
829+
810830
public static class Constants
811831
{
812832
/// <summary>

sources/TileDB.CSharp/Interop/Methods.cs

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
102102
[return: NativeTypeName("capi_return_t")]
103103
public static extern int tiledb_ctx_alloc(tiledb_config_t* config, tiledb_ctx_t** ctx);
104104

105+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
106+
[return: NativeTypeName("capi_return_t")]
107+
public static extern int tiledb_ctx_alloc_with_error(tiledb_config_t* config, tiledb_ctx_t** ctx, tiledb_error_t** error);
108+
105109
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
106110
public static extern void tiledb_ctx_free(tiledb_ctx_t** ctx);
107111

@@ -129,6 +133,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
129133
[return: NativeTypeName("capi_return_t")]
130134
public static extern int tiledb_ctx_set_tag(tiledb_ctx_t* ctx, [NativeTypeName("const char *")] sbyte* key, [NativeTypeName("const char *")] sbyte* value);
131135

136+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
137+
[return: NativeTypeName("capi_return_t")]
138+
public static extern int tiledb_ctx_get_data_protocol(tiledb_ctx_t* ctx, [NativeTypeName("const char *")] sbyte* uri, tiledb_data_protocol_t* data_protocol);
139+
132140
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
133141
[return: NativeTypeName("capi_return_t")]
134142
public static extern int tiledb_filter_type_to_str(tiledb_filter_type_t filter_type, [NativeTypeName("const char **")] sbyte** str);
@@ -922,11 +930,6 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
922930
[return: NativeTypeName("capi_return_t")]
923931
public static extern int tiledb_group_get_query_type(tiledb_ctx_t* ctx, tiledb_group_t* group, tiledb_query_type_t* query_type);
924932

925-
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
926-
[return: NativeTypeName("capi_return_t")]
927-
[Obsolete]
928-
public static extern int tiledb_group_dump_str(tiledb_ctx_t* ctx, tiledb_group_t* group, [NativeTypeName("char **")] sbyte** dump_ascii, [NativeTypeName("const uint8_t")] byte recursive);
929-
930933
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
931934
[return: NativeTypeName("capi_return_t")]
932935
public static extern int tiledb_group_dump_str_v2(tiledb_ctx_t* ctx, tiledb_group_t* group, tiledb_string_t** dump_ascii, [NativeTypeName("const uint8_t")] byte recursive);
@@ -1562,11 +1565,46 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
15621565

15631566
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
15641567
[return: NativeTypeName("capi_return_t")]
1565-
public static extern int tiledb_ctx_alloc_with_error(tiledb_config_t* config, tiledb_ctx_t** ctx, tiledb_error_t** error);
1568+
public static extern int tiledb_fragment_info_get_total_cell_num(tiledb_ctx_t* ctx, tiledb_fragment_info_t* fragment_info, [NativeTypeName("uint64_t *")] ulong* count);
15661569

15671570
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
15681571
[return: NativeTypeName("capi_return_t")]
1569-
public static extern int tiledb_fragment_info_get_total_cell_num(tiledb_ctx_t* ctx, tiledb_fragment_info_t* fragment_info, [NativeTypeName("uint64_t *")] ulong* count);
1572+
public static extern int tiledb_profile_alloc([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("const char *")] sbyte* dir, [NativeTypeName("tiledb_profile_t **")] tiledb_profile_handle_t** profile, tiledb_error_t** error);
1573+
1574+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1575+
public static extern void tiledb_profile_free([NativeTypeName("tiledb_profile_t **")] tiledb_profile_handle_t** profile);
1576+
1577+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1578+
[return: NativeTypeName("capi_return_t")]
1579+
public static extern int tiledb_profile_get_name([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, tiledb_string_t** name, tiledb_error_t** error);
1580+
1581+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1582+
[return: NativeTypeName("capi_return_t")]
1583+
public static extern int tiledb_profile_get_dir([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, tiledb_string_t** dir, tiledb_error_t** error);
1584+
1585+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1586+
[return: NativeTypeName("capi_return_t")]
1587+
public static extern int tiledb_profile_set_param([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, [NativeTypeName("const char *")] sbyte* param1, [NativeTypeName("const char *")] sbyte* value, tiledb_error_t** error);
1588+
1589+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1590+
[return: NativeTypeName("capi_return_t")]
1591+
public static extern int tiledb_profile_get_param([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, [NativeTypeName("const char *")] sbyte* param1, tiledb_string_t** value, tiledb_error_t** error);
1592+
1593+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1594+
[return: NativeTypeName("capi_return_t")]
1595+
public static extern int tiledb_profile_save([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, [NativeTypeName("uint8_t")] byte overwrite, tiledb_error_t** error);
1596+
1597+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1598+
[return: NativeTypeName("capi_return_t")]
1599+
public static extern int tiledb_profile_load([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, tiledb_error_t** error);
1600+
1601+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1602+
[return: NativeTypeName("capi_return_t")]
1603+
public static extern int tiledb_profile_remove([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("const char *")] sbyte* dir, tiledb_error_t** error);
1604+
1605+
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
1606+
[return: NativeTypeName("capi_return_t")]
1607+
public static extern int tiledb_profile_dump_str([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, tiledb_string_t** @out, tiledb_error_t** error);
15701608

15711609
[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
15721610
[return: NativeTypeName("int32_t")]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// <auto-generated/>
2+
3+
namespace TileDB.Interop
4+
{
5+
internal enum tiledb_data_protocol_t
6+
{
7+
TILEDB_DATA_PROTOCOL_v2 = 0,
8+
TILEDB_DATA_PROTOCOL_v3 = 1,
9+
}
10+
}

sources/TileDB.CSharp/Interop/tiledb_filesystem_t.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ internal enum tiledb_filesystem_t
99
TILEDB_AZURE = 2,
1010
TILEDB_GCS = 3,
1111
TILEDB_MEMFS = 4,
12+
TILEDB_TILEDBFS = 5,
1213
}
1314
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// <auto-generated/>
2+
3+
namespace TileDB.Interop
4+
{
5+
internal partial struct tiledb_profile_handle_t
6+
{
7+
}
8+
}

sources/TileDB.CSharp/Marshalling/SafeHandles/ContextHandle.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,13 @@ public static ContextHandle Create(ConfigHandle? configHandle = null)
1717
tiledb_ctx_t* context = null;
1818
try
1919
{
20-
using var configHandleHolder = configHandle?.Acquire() ?? default;
21-
ErrorHandling.ThrowOnError(Methods.tiledb_ctx_alloc(configHandleHolder, &context));
20+
tiledb_error_t* p_tiledb_error;
21+
int status;
22+
using (var configHandleHolder = configHandle?.Acquire() ?? default)
23+
{
24+
status = Methods.tiledb_ctx_alloc_with_error(configHandleHolder, &context, &p_tiledb_error);
25+
}
26+
ErrorHandling.CheckLastError(&p_tiledb_error, status);
2227
successful = true;
2328
}
2429
finally

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.19.1</Version>
9+
<Version>5.20.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.19.0</PackageValidationBaselineVersion>
14+
<PackageValidationBaselineVersion>5.19.1</PackageValidationBaselineVersion>
1515
</PropertyGroup>
1616

1717
<ItemGroup>

0 commit comments

Comments
 (0)