Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
platform: macos-arm64
- os: windows-latest
platform: windows-x86_64
tag: [release-2.29, main]
tag: [release-2.30, main]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout TileDB
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
strategy:
fail-fast: false
matrix:
tag: [release-2.29, main]
tag: [release-2.30, main]
runs-on: ubuntu-latest
steps:
- name: Checkout TileDB-CSharp
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
tag: [release-2.29, main]
tag: [release-2.30, main]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout TileDB-CSharp
Expand Down
2 changes: 1 addition & 1 deletion Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<TileDBNativePackageName>TileDB.Native</TileDBNativePackageName>
<TileDBNativePackageVersion>[2.29.1,2.30.0)</TileDBNativePackageVersion>
<TileDBNativePackageVersion>[2.30.0,2.31.0)</TileDBNativePackageVersion>

<!-- The DevelopmentBuild property switches to the locally built native packages.
They have a different name to avoid publishing them by mistake, and to
Expand Down
13 changes: 13 additions & 0 deletions sources/TileDB.CSharp/Context.cs
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,19 @@ public void VisitChildObjects<T>(string uri, WalkOrderType? walkOrder, Func<stri
return list;
}

/// <summary>
/// Gets the REST protocol version for the given <c>tiledb://</c> URI.
/// </summary>
/// <param name="uri">The URI to check.</param>
public DataProtocol GetDataProtocol(string uri)
{
using var handle = _handle.Acquire();
using var ms_uri = new MarshaledString(uri);
tiledb_data_protocol_t result;
handle_error(Methods.tiledb_ctx_get_data_protocol(handle, ms_uri, &result));
return (DataProtocol)result;
}
Comment thread
teo-tsirpanis marked this conversation as resolved.

internal void handle_error(int rc)
{
var status = (Status)Methods.tiledb_status(rc);
Expand Down
24 changes: 22 additions & 2 deletions sources/TileDB.CSharp/Enums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
/// Write query.
/// </summary>
Write = tiledb_query_type_t.TILEDB_WRITE,
Delete = tiledb_query_type_t.TILEDB_DELETE,

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Validate-Package

Missing XML comment for publicly visible type or member 'QueryType.Delete'

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Run-Tests (ubuntu-latest)

Missing XML comment for publicly visible type or member 'QueryType.Delete'

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Run-Tests (ubuntu-latest)

Missing XML comment for publicly visible type or member 'QueryType.Delete'

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Run-Tests (windows-latest)

Missing XML comment for publicly visible type or member 'QueryType.Delete'

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Run-Tests (windows-latest)

Missing XML comment for publicly visible type or member 'QueryType.Delete'

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Run-Tests (macos-latest)

Missing XML comment for publicly visible type or member 'QueryType.Delete'

Check warning on line 48 in sources/TileDB.CSharp/Enums.cs

View workflow job for this annotation

GitHub Actions / Run-Tests (macos-latest)

Missing XML comment for publicly visible type or member 'QueryType.Delete'
Update = tiledb_query_type_t.TILEDB_UPDATE,
ModifyExclusive = tiledb_query_type_t.TILEDB_MODIFY_EXCLUSIVE
}
Expand Down Expand Up @@ -164,7 +164,7 @@
/// </summary>
S3 = tiledb_filesystem_t.TILEDB_S3,
/// <summary>
/// Azure filesystem.
/// Azure file system.
/// </summary>
Azure = tiledb_filesystem_t.TILEDB_AZURE,
/// <summary>
Expand All @@ -174,7 +174,11 @@
/// <summary>
/// In-memory file system.
/// </summary>
InMemory = tiledb_filesystem_t.TILEDB_MEMFS
InMemory = tiledb_filesystem_t.TILEDB_MEMFS,
/// <summary>
/// TileDB Filesystem file system.
/// </summary>
TileDBFilesystem = tiledb_filesystem_t.TILEDB_TILEDBFS,
}

/// <summary>
Expand Down Expand Up @@ -807,6 +811,22 @@
Aggregate
}

/// <summary>
/// Specifies the protocol version of a URI.
/// </summary>
/// <seealso cref="Context.GetDataProtocol"/>
public enum DataProtocol : uint
{
/// <summary>
/// REST API v2 (legacy)
/// </summary>
Version2 = tiledb_data_protocol_t.TILEDB_DATA_PROTOCOL_v2,
/// <summary>
/// REST API v3 (Tiledb 3.0+)
/// </summary>
Version3 = tiledb_data_protocol_t.TILEDB_DATA_PROTOCOL_v3,
}

public static class Constants
{
/// <summary>
Expand Down
52 changes: 45 additions & 7 deletions sources/TileDB.CSharp/Interop/Methods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_ctx_alloc(tiledb_config_t* config, tiledb_ctx_t** ctx);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_ctx_alloc_with_error(tiledb_config_t* config, tiledb_ctx_t** ctx, tiledb_error_t** error);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void tiledb_ctx_free(tiledb_ctx_t** ctx);

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

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_ctx_get_data_protocol(tiledb_ctx_t* ctx, [NativeTypeName("const char *")] sbyte* uri, tiledb_data_protocol_t* data_protocol);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_filter_type_to_str(tiledb_filter_type_t filter_type, [NativeTypeName("const char **")] sbyte** str);
Expand Down Expand Up @@ -922,11 +930,6 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_group_get_query_type(tiledb_ctx_t* ctx, tiledb_group_t* group, tiledb_query_type_t* query_type);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
[Obsolete]
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);
Expand Down Expand Up @@ -1562,11 +1565,46 @@ public static int tiledb_status([NativeTypeName("capi_return_t")] int x)

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_ctx_alloc_with_error(tiledb_config_t* config, tiledb_ctx_t** ctx, tiledb_error_t** error);
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void tiledb_profile_free([NativeTypeName("tiledb_profile_t **")] tiledb_profile_handle_t** profile);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_profile_load([NativeTypeName("tiledb_profile_t *")] tiledb_profile_handle_t* profile, tiledb_error_t** error);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
public static extern int tiledb_profile_remove([NativeTypeName("const char *")] sbyte* name, [NativeTypeName("const char *")] sbyte* dir, tiledb_error_t** error);

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("capi_return_t")]
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);
Comment thread
teo-tsirpanis marked this conversation as resolved.

[DllImport("tiledb", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("int32_t")]
Expand Down
10 changes: 10 additions & 0 deletions sources/TileDB.CSharp/Interop/tiledb_data_protocol_t.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// <auto-generated/>

namespace TileDB.Interop
{
internal enum tiledb_data_protocol_t
{
TILEDB_DATA_PROTOCOL_v2 = 0,
TILEDB_DATA_PROTOCOL_v3 = 1,
}
}
1 change: 1 addition & 0 deletions sources/TileDB.CSharp/Interop/tiledb_filesystem_t.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ internal enum tiledb_filesystem_t
TILEDB_AZURE = 2,
TILEDB_GCS = 3,
TILEDB_MEMFS = 4,
TILEDB_TILEDBFS = 5,
}
}
8 changes: 8 additions & 0 deletions sources/TileDB.CSharp/Interop/tiledb_profile_handle_t.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// <auto-generated/>

namespace TileDB.Interop
{
internal partial struct tiledb_profile_handle_t
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@ public static ContextHandle Create(ConfigHandle? configHandle = null)
tiledb_ctx_t* context = null;
try
{
using var configHandleHolder = configHandle?.Acquire() ?? default;
ErrorHandling.ThrowOnError(Methods.tiledb_ctx_alloc(configHandleHolder, &context));
tiledb_error_t* p_tiledb_error;
Comment thread
teo-tsirpanis marked this conversation as resolved.
int status;
using (var configHandleHolder = configHandle?.Acquire() ?? default)
{
status = Methods.tiledb_ctx_alloc_with_error(configHandleHolder, &context, &p_tiledb_error);
}
ErrorHandling.CheckLastError(&p_tiledb_error, status);
successful = true;
}
finally
Expand Down
4 changes: 2 additions & 2 deletions sources/TileDB.CSharp/TileDB.CSharp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Nullable>enable</Nullable>
<RootNamespace>TileDB.CSharp</RootNamespace>
<Version>5.19.1</Version>
<Version>5.20.0</Version>
<Description>C# wrapper of the TileDB Embedded universal data engine.</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>5.19.0</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>5.19.1</PackageValidationBaselineVersion>
</PropertyGroup>

<ItemGroup>
Expand Down
Loading