Skip to content

Commit ddd3ac9

Browse files
committed
Merge remote-tracking branch 'origin/dev' into pd/sc-32991/use-handle-load-array-request
2 parents e9d8191 + 6bad3ac commit ddd3ac9

27 files changed

+174
-220
lines changed

test/src/unit-capi-fill_values.cc

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,24 +38,17 @@
3838

3939
void check_dump(
4040
tiledb_ctx_t* ctx, tiledb_attribute_t* a, const std::string& gold_out) {
41-
FILE* gold_fout = fopen("gold_fout.txt", "w");
42-
fwrite(gold_out.c_str(), sizeof(char), gold_out.size(), gold_fout);
43-
fclose(gold_fout);
44-
FILE* fout = fopen("fout.txt", "w");
45-
tiledb_attribute_dump(ctx, a, fout);
46-
fclose(fout);
47-
#ifdef _WIN32
48-
CHECK(!system("FC gold_fout.txt fout.txt > nul"));
49-
#else
50-
CHECK(!system("diff gold_fout.txt fout.txt"));
51-
#endif
41+
tiledb_string_t* tdb_string;
42+
auto rc = tiledb_attribute_dump_str(ctx, a, &tdb_string);
43+
REQUIRE(rc == TILEDB_OK);
5244

53-
// Clean up
54-
tiledb_vfs_t* vfs;
55-
tiledb_vfs_alloc(ctx, nullptr, &vfs);
56-
CHECK(tiledb_vfs_remove_file(ctx, vfs, "gold_fout.txt") == TILEDB_OK);
57-
CHECK(tiledb_vfs_remove_file(ctx, vfs, "fout.txt") == TILEDB_OK);
58-
tiledb_vfs_free(&vfs);
45+
const char* out_ptr;
46+
size_t out_length;
47+
rc = tiledb_string_view(tdb_string, &out_ptr, &out_length);
48+
REQUIRE(rc == TILEDB_OK);
49+
std::string out_str(out_ptr, out_length);
50+
51+
CHECK(out_str == gold_out);
5952
}
6053

6154
TEST_CASE(

tiledb/api/c_api/attribute/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ gather_sources(${SOURCES})
3535
commence(object_library capi_attribute_stub)
3636
this_target_sources(${SOURCES})
3737
this_target_link_libraries(export)
38-
this_target_object_libraries(capi_datatype capi_filter_list_stub)
38+
this_target_object_libraries(capi_datatype capi_filter_list_stub capi_string)
3939
this_target_object_libraries(attribute)
4040
conclude(object_library)
4141

tiledb/api/c_api/attribute/attribute_api_external.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ TILEDB_EXPORT int32_t tiledb_attribute_get_cell_size(
288288
const tiledb_attribute_t* attr,
289289
uint64_t* cell_size) TILEDB_NOEXCEPT;
290290

291+
#ifndef TILEDB_REMOVE_DEPRECATIONS
291292
/**
292293
* Dumps the contents of an attribute in ASCII form to some output (e.g.,
293294
* file or stdout).
@@ -305,10 +306,11 @@ TILEDB_EXPORT int32_t tiledb_attribute_get_cell_size(
305306
* @param out The output.
306307
* @return `TILEDB_OK` for success and `TILEDB_ERR` for error./
307308
*/
308-
TILEDB_EXPORT int32_t tiledb_attribute_dump(
309+
TILEDB_DEPRECATED_EXPORT int32_t tiledb_attribute_dump(
309310
tiledb_ctx_t* ctx,
310311
const tiledb_attribute_t* attr,
311312
FILE* out) TILEDB_NOEXCEPT;
313+
#endif
312314

313315
/**
314316
* Dumps the contents of an Attribute in ASCII form to the selected string

tiledb/api/c_api/attribute/test/unit_capi_attribute.cc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "../../../c_api_test_support/testsupport_capi_datatype.h"
3535
#include "../../filter_list/filter_list_api_internal.h"
3636
#include "../attribute_api_external.h"
37+
3738
using namespace tiledb::api::test_support;
3839

3940
TEST_CASE(
@@ -363,11 +364,15 @@ TEST_CASE(
363364
ordinary_attribute_1 attr{};
364365
// SECTION("success") omitted to avoid log noise
365366
SECTION("null context") {
366-
capi_return_t rc = tiledb_attribute_dump(nullptr, attr.attribute, stderr);
367+
tiledb_string_t* tdb_string;
368+
capi_return_t rc =
369+
tiledb_attribute_dump_str(nullptr, attr.attribute, &tdb_string);
367370
REQUIRE(tiledb_status(rc) == TILEDB_INVALID_CONTEXT);
368371
}
369372
SECTION("null dimension") {
370-
capi_return_t rc = tiledb_attribute_dump(attr.context(), nullptr, stderr);
373+
tiledb_string_t* tdb_string;
374+
capi_return_t rc =
375+
tiledb_attribute_dump_str(attr.context(), nullptr, &tdb_string);
371376
REQUIRE(tiledb_status(rc) == TILEDB_ERR);
372377
}
373378
// SECTION("null file pointer") `nullptr` is allowed; it's mapped to `stdout`

tiledb/api/c_api/dimension/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ gather_sources(${SOURCES})
3535
commence(object_library capi_dimension_stub)
3636
this_target_sources(dimension_api.cc)
3737
this_target_link_libraries(export)
38-
this_target_object_libraries(capi_datatype capi_filter_list_stub)
38+
this_target_object_libraries(capi_datatype capi_filter_list_stub capi_string)
3939
this_target_object_libraries(dimension)
4040
conclude(object_library)
4141

tiledb/api/c_api/dimension/dimension_api_external.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ TILEDB_EXPORT int32_t tiledb_dimension_get_tile_extent(
271271
const tiledb_dimension_t* dim,
272272
const void** tile_extent) TILEDB_NOEXCEPT;
273273

274+
#ifndef TILEDB_REMOVE_DEPRECATIONS
274275
/**
275276
* Dumps the contents of a dimension in ASCII form to some output (e.g.,
276277
* file or stdout).
@@ -288,10 +289,11 @@ TILEDB_EXPORT int32_t tiledb_dimension_get_tile_extent(
288289
* @param out The output.
289290
* @return `TILEDB_OK` for success and `TILEDB_ERR` for error.
290291
*/
291-
TILEDB_EXPORT int32_t tiledb_dimension_dump(
292+
TILEDB_DEPRECATED_EXPORT int32_t tiledb_dimension_dump(
292293
tiledb_ctx_t* ctx,
293294
const tiledb_dimension_t* dim,
294295
FILE* out) TILEDB_NOEXCEPT;
296+
#endif
295297

296298
/**
297299
* Dumps the contents of a dimension in ASCII form to the selected string

tiledb/api/c_api/dimension/test/unit_capi_dimension.cc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "../../../c_api_test_support/testsupport_capi_datatype.h"
3535
#include "../../filter_list/filter_list_api_internal.h"
3636
#include "../dimension_api_internal.h"
37+
3738
using namespace tiledb::api::test_support;
3839

3940
TEST_CASE(
@@ -341,11 +342,15 @@ TEST_CASE(
341342
ordinary_dimension_1 dim;
342343
// SECTION("success") omitted to avoid log noise
343344
SECTION("null context") {
344-
capi_return_t rc = tiledb_dimension_dump(nullptr, dim.dimension, stderr);
345+
tiledb_string_t* tdb_string;
346+
capi_return_t rc =
347+
tiledb_dimension_dump_str(nullptr, dim.dimension, &tdb_string);
345348
REQUIRE(tiledb_status(rc) == TILEDB_INVALID_CONTEXT);
346349
}
347350
SECTION("null dimension") {
348-
capi_return_t rc = tiledb_dimension_dump(dim.ctx.context, nullptr, stderr);
351+
tiledb_string_t* tdb_string;
352+
capi_return_t rc =
353+
tiledb_dimension_dump_str(dim.ctx.context, nullptr, &tdb_string);
349354
REQUIRE(tiledb_status(rc) == TILEDB_ERR);
350355
}
351356
// SECTION("null file pointer") `nullptr` is allowed; it's mapped to `stdout`

tiledb/api/c_api/domain/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ gather_sources(${SOURCES})
3535
commence(object_library capi_domain_stub)
3636
this_target_sources(domain_api.cc)
3737
this_target_link_libraries(export)
38-
this_target_object_libraries(capi_dimension_stub)
38+
this_target_object_libraries(capi_dimension_stub capi_string)
3939
this_target_object_libraries(domain)
4040
conclude(object_library)
4141

tiledb/api/c_api/domain/domain_api_external.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ TILEDB_EXPORT int32_t tiledb_domain_has_dimension(
206206
const char* name,
207207
int32_t* has_dim) TILEDB_NOEXCEPT;
208208

209+
#ifndef TILEDB_REMOVE_DEPRECATIONS
209210
/**
210211
* Dumps the info of a domain in ASCII form to some output (e.g.,
211212
* file or `stdout`).
@@ -223,10 +224,11 @@ TILEDB_EXPORT int32_t tiledb_domain_has_dimension(
223224
* @param out The output.
224225
* @return `TILEDB_OK` for success and `TILEDB_ERR` for error.
225226
*/
226-
TILEDB_EXPORT int32_t tiledb_domain_dump(
227+
TILEDB_DEPRECATED_EXPORT int32_t tiledb_domain_dump(
227228
tiledb_ctx_t* ctx,
228229
const tiledb_domain_t* domain,
229230
FILE* out) TILEDB_NOEXCEPT;
231+
#endif
230232

231233
/**
232234
* Dumps the contents of a domain in ASCII form to the selected string output.

tiledb/api/c_api/domain/test/unit_capi_domain.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
*/
3030
#define CATCH_CONFIG_MAIN
3131
#include <test/support/tdb_catch.h>
32-
3332
#include "../../../c_api_test_support/testsupport_capi_context.h"
3433
#include "../domain_api_external.h"
3534
#include "../domain_api_internal.h"
@@ -247,11 +246,13 @@ TEST_CASE("C API: tiledb_domain_dump argument validation", "[capi][domain]") {
247246
* platform test, as it requires a FILE *.
248247
*/
249248
SECTION("null context") {
250-
auto rc{tiledb_domain_dump(nullptr, dom.domain, nullptr)};
249+
tiledb_string_t* tdb_string;
250+
auto rc{tiledb_domain_dump_str(nullptr, dom.domain, &tdb_string)};
251251
CHECK(rc == TILEDB_INVALID_CONTEXT);
252252
}
253253
SECTION("null domain") {
254-
auto rc{tiledb_domain_dump(ctx, nullptr, nullptr)};
254+
tiledb_string_t* tdb_string;
255+
auto rc{tiledb_domain_dump_str(ctx, nullptr, &tdb_string)};
255256
CHECK(rc == TILEDB_ERR);
256257
}
257258
// SECTION("null FILE") is omitted. Null FILE* defaults to stderr

0 commit comments

Comments
 (0)