Skip to content

Commit

Permalink
Complete migration of deprecated APIs in tiledb_unit. (#5016)
Browse files Browse the repository at this point in the history
[SC-48173](https://app.shortcut.com/tiledb-inc/story/48173/finish-work-to-build-tiledb-unit-with-no-deprecations)

This PR finishes migration of deprecated APIs in `tiledb_unit`. One use
in `unit-cppapi-array.cc` was trivial, and the other uses were in
`unit-capi-serialized_queries.cc`. They were migrated as well, and the
file's twin `unit-capi-serialized_queries_using_subarray.cc` was
deleted.

---
TYPE: NO_HISTORY
  • Loading branch information
teo-tsirpanis authored Jun 5, 2024
1 parent 0130764 commit c303e3c
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 777 deletions.
1 change: 0 additions & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,6 @@ endif()
if (TILEDB_SERIALIZATION)
list(APPEND TILEDB_UNIT_TEST_SOURCES
src/unit-capi-serialized_queries.cc
src/unit-capi-serialized_queries_using_subarray.cc
src/unit-QueryCondition-serialization.cc
src/unit-curl.cc
)
Expand Down
95 changes: 69 additions & 26 deletions test/src/unit-capi-serialized_queries.cc
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,22 @@ struct SerializationFx {
REQUIRE(loop_num->second > 0);
}

static void check_subarray_stats(int dim0_expected, int dim1_expected) {
Stats::enable();
std::string stats;
Stats::dump(&stats);
// Note: if these checks fail, use Stats::dump(stdout) to validate counters
CHECK(
stats.find(
"\"Context.StorageManager.subSubarray.add_range_dim_0\": " +
std::to_string(dim0_expected)) != std::string::npos);
CHECK(
stats.find(
"\"Context.StorageManager.subSubarray.add_range_dim_1\": " +
std::to_string(dim1_expected)) != std::string::npos);
Stats::disable();
}

static void check_delete_stats(const Query& query) {
auto stats = ((sm::Reader*)query.ptr()->query_->strategy())->stats();
REQUIRE(stats != nullptr);
Expand Down Expand Up @@ -177,7 +193,9 @@ struct SerializationFx {

Array array(ctx, array_uri, TILEDB_WRITE);
Query query(ctx, array);
query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand Down Expand Up @@ -218,10 +236,10 @@ struct SerializationFx {

Array array(ctx, array_uri, TILEDB_WRITE);
Query query(ctx, array);
Subarray sub(ctx, array);
sub.add_range(0, subarray[0], subarray[1]);
sub.add_range(1, subarray[2], subarray[3]);
query.set_subarray(sub);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.add_range(0, subarray[0], subarray[1]);
cppapi_subarray.add_range(1, subarray[2], subarray[3]);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand Down Expand Up @@ -356,7 +374,9 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {1, 10, 1, 10};

query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand All @@ -365,6 +385,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand Down Expand Up @@ -393,7 +414,9 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {1, 10, 1, 10};

query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand All @@ -407,6 +430,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand Down Expand Up @@ -456,7 +480,9 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {3, 4, 3, 4};

query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand All @@ -465,6 +491,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand Down Expand Up @@ -500,7 +527,9 @@ TEST_CASE_METHOD(
std::vector<char> a3_data(60);
std::vector<uint64_t> a3_offsets(4);
std::vector<int32_t> subarray = {3, 4, 3, 4};
query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);

auto set_buffers = [&](Query& q) {
q.set_data_buffer("a1", a1);
Expand Down Expand Up @@ -575,7 +604,9 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {1, 10, 1, 10};

query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand Down Expand Up @@ -625,7 +656,9 @@ TEST_CASE_METHOD(
std::vector<int32_t> subarray = {1, 10, 1, 10};

query.set_layout(TILEDB_GLOBAL_ORDER);
query.set_subarray(subarray);
Subarray cppapi_subarray(ctx_client, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand All @@ -634,6 +667,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand Down Expand Up @@ -667,7 +701,9 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {1, 10, 1, 10};

query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_coordinates(coords);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
Expand All @@ -677,6 +713,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand All @@ -699,6 +736,9 @@ TEST_CASE_METHOD(
"[query][dense][serialization][rest]") {
create_array(TILEDB_DENSE);
write_dense_array_ranges();
if (!vfs_test_setup_.is_rest()) {
check_subarray_stats(1, 1);
}

SECTION("- Read all") {
Array array(ctx, array_uri, TILEDB_READ);
Expand All @@ -710,10 +750,10 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {1, 10, 1, 10};

Subarray sub(ctx, array);
sub.add_range(0, subarray[0], subarray[1]);
sub.add_range(1, subarray[2], subarray[3]);
query.set_subarray(sub);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.add_range(0, subarray[0], subarray[1]);
cppapi_subarray.add_range(1, subarray[2], subarray[3]);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand All @@ -722,6 +762,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand All @@ -746,10 +787,10 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {3, 4, 3, 4};

Subarray sub(ctx, array);
sub.add_range(0, subarray[0], subarray[1]);
sub.add_range(1, subarray[2], subarray[3]);
query.set_subarray(sub);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.add_range(0, subarray[0], subarray[1]);
cppapi_subarray.add_range(1, subarray[2], subarray[3]);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand All @@ -758,6 +799,7 @@ TEST_CASE_METHOD(

// Submit query
query.submit();
REQUIRE(query.query_status() == Query::Status::COMPLETE);

// The deserialized query should also include the read stats
check_read_stats(query);
Expand All @@ -781,10 +823,10 @@ TEST_CASE_METHOD(
std::vector<char> a3_data(60);
std::vector<uint64_t> a3_offsets(4);
std::vector<int32_t> subarray = {3, 4, 3, 4};
Subarray sub(ctx, array);
sub.add_range(0, subarray[0], subarray[1]);
sub.add_range(1, subarray[2], subarray[3]);
query.set_subarray(sub);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.add_range(0, subarray[0], subarray[1]);
cppapi_subarray.add_range(1, subarray[2], subarray[3]);
query.set_subarray(cppapi_subarray);

auto set_buffers = [&](Query& q) {
q.set_data_buffer("a1", a1);
Expand All @@ -796,7 +838,6 @@ TEST_CASE_METHOD(

// Submit initial query.
set_buffers(query);
// Submit query
query.submit();
// The deserialized query should also include the read stats
check_read_stats(query);
Expand Down Expand Up @@ -861,7 +902,9 @@ TEST_CASE_METHOD(
std::vector<uint64_t> a3_offsets(1000);
std::vector<int32_t> subarray = {1, 10, 1, 10};

query.set_subarray(subarray);
Subarray cppapi_subarray(ctx, array);
cppapi_subarray.set_subarray(subarray);
query.set_subarray(cppapi_subarray);
query.set_data_buffer("a1", a1);
query.set_data_buffer("a2", a2);
query.set_validity_buffer("a2", a2_nullable);
Expand Down
Loading

0 comments on commit c303e3c

Please sign in to comment.