From 13b5c1c99374620b0b711f9accb393d60886aa1b Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Fri, 9 Feb 2024 14:59:42 -0500 Subject: [PATCH] Remove set_subarray_unsafe --- tiledb/sm/query/query.cc | 9 --------- tiledb/sm/query/query.h | 12 ------------ tiledb/sm/serialization/query.cc | 12 ++++++------ tiledb/sm/subarray/subarray.cc | 16 ---------------- tiledb/sm/subarray/subarray.h | 11 ----------- 5 files changed, 6 insertions(+), 54 deletions(-) diff --git a/tiledb/sm/query/query.cc b/tiledb/sm/query/query.cc index 32bcd7199b64..a641caa544b2 100644 --- a/tiledb/sm/query/query.cc +++ b/tiledb/sm/query/query.cc @@ -1517,11 +1517,6 @@ const Subarray* Query::subarray() const { return &subarray_; } -Status Query::set_subarray_unsafe(const Subarray& subarray) { - subarray_ = subarray; - return Status::Ok(); -} - void Query::set_subarray(const tiledb::sm::Subarray& subarray) { // Perform checks related to the query type. switch (type_) { @@ -1572,10 +1567,6 @@ Status Query::set_subarray_unsafe(const NDRange& subarray) { return Status::Ok(); } -void Query::set_subarray_unsafe(const void* subarray) { - subarray_.set_subarray_unsafe(subarray); -} - Status Query::submit() { // Do not resubmit completed reads. if (type_ == QueryType::READ && status_ == QueryStatus::COMPLETED) { diff --git a/tiledb/sm/query/query.h b/tiledb/sm/query/query.h index c5c8ecba2dba..4aa3cb055009 100644 --- a/tiledb/sm/query/query.h +++ b/tiledb/sm/query/query.h @@ -617,21 +617,9 @@ class Query { */ void set_subarray(const tiledb::sm::Subarray& subarray); - /** Sets the query subarray, without performing any checks. */ - Status set_subarray_unsafe(const Subarray& subarray); - /** Sets the query subarray, without performing any checks. */ Status set_subarray_unsafe(const NDRange& subarray); - /** - * Sets the query subarray without performing any checks. - * - * Used for deserialize dense writes. - * - * @param subarray The subarray to be set. - */ - void set_subarray_unsafe(const void* subarray); - /** Submits the query to the storage manager. */ Status submit(); diff --git a/tiledb/sm/serialization/query.cc b/tiledb/sm/serialization/query.cc index 51c7f50c97ce..340f17f50a84 100644 --- a/tiledb/sm/serialization/query.cc +++ b/tiledb/sm/serialization/query.cc @@ -1157,7 +1157,7 @@ Status reader_from_capnp( auto subarray_reader = reader_reader.getSubarray(); Subarray subarray = subarray_from_capnp( subarray_reader, array, layout, query->stats(), dummy_logger); - RETURN_NOT_OK(query->set_subarray_unsafe(subarray)); + query->set_subarray(subarray); // Read state if (reader_reader.hasReadState()) @@ -1198,7 +1198,7 @@ Status index_reader_from_capnp( auto subarray_reader = reader_reader.getSubarray(); Subarray subarray = subarray_from_capnp( subarray_reader, array, layout, query->stats(), dummy_logger); - RETURN_NOT_OK(query->set_subarray_unsafe(subarray)); + query->set_subarray(subarray); // Read state if (reader_reader.hasReadState()) @@ -1240,7 +1240,7 @@ Status dense_reader_from_capnp( auto subarray_reader = reader_reader.getSubarray(); Subarray subarray = subarray_from_capnp( subarray_reader, array, layout, query->stats(), dummy_logger); - RETURN_NOT_OK(query->set_subarray_unsafe(subarray)); + query->set_subarray(subarray); // Read state if (reader_reader.hasReadState()) @@ -2266,7 +2266,7 @@ Status query_from_capnp( RETURN_NOT_OK( utils::deserialize_subarray(subarray_reader, schema, &subarray)); try { - query->set_subarray_unsafe(subarray); + query->set_subarray(subarray); } catch (...) { tdb_free(subarray); throw; @@ -2279,7 +2279,7 @@ Status query_from_capnp( auto subarray_reader = writer_reader.getSubarrayRanges(); Subarray subarray = subarray_from_capnp( subarray_reader, array, layout, query->stats(), dummy_logger); - RETURN_NOT_OK(query->set_subarray_unsafe(subarray)); + query->set_subarray(subarray); } } } else { @@ -3229,7 +3229,7 @@ void ordered_dim_label_reader_from_capnp( auto subarray_reader = reader_reader.getSubarray(); Subarray subarray = subarray_from_capnp( subarray_reader, array, layout, query->stats(), dummy_logger); - throw_if_not_ok(query->set_subarray_unsafe(subarray)); + query->set_subarray(subarray); // OrderedDimLabelReader requires an initialized subarray for construction. query->set_dimension_label_ordered_read( diff --git a/tiledb/sm/subarray/subarray.cc b/tiledb/sm/subarray/subarray.cc index 0a6236a70214..ce256f023aa2 100644 --- a/tiledb/sm/subarray/subarray.cc +++ b/tiledb/sm/subarray/subarray.cc @@ -396,22 +396,6 @@ Status Subarray::set_subarray(const void* subarray) { return Status::Ok(); } -void Subarray::set_subarray_unsafe(const void* subarray) { - add_default_ranges(); - if (subarray != nullptr) { - auto dim_num = array_->array_schema_latest().dim_num(); - auto s_ptr = (const unsigned char*)subarray; - uint64_t offset = 0; - for (unsigned d = 0; d < dim_num; ++d) { - auto r_size = - 2 * array_->array_schema_latest().dimension_ptr(d)->coord_size(); - Range range(&s_ptr[offset], r_size); - throw_if_not_ok(this->add_range_unsafe(d, std::move(range))); - offset += r_size; - } - } -} - Status Subarray::add_range( unsigned dim_idx, const void* start, const void* end, const void* stride) { if (dim_idx >= this->array_->array_schema_latest().dim_num()) diff --git a/tiledb/sm/subarray/subarray.h b/tiledb/sm/subarray/subarray.h index a32a20667735..4f5ada1c0c9a 100644 --- a/tiledb/sm/subarray/subarray.h +++ b/tiledb/sm/subarray/subarray.h @@ -398,17 +398,6 @@ class Subarray { */ Status set_subarray(const void* subarray); - /** - * Sets the subarray using a pointer to raw range data that stores one range - * per dimension without performing validity checks. - * - * This is only valid for arrays with homogenous dimension data types. This - * function should only be used for deserializing dense write queries. - * - * @param subarray A pointer to the range data to use. - */ - void set_subarray_unsafe(const void* subarray); - /** * Adds dimension ranges computed from label ranges on the dimension label. *