@@ -72,6 +72,7 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
7272 log_timer constructor_timer{" tdbMatrix constructor" };
7373
7474 std::reference_wrapper<const tiledb::Context> ctx_;
75+ std::string uri_;
7576 tiledb::Array array_;
7677 tiledb::ArraySchema schema_;
7778 std::unique_ptr<T[]> backing_data_;
@@ -195,7 +196,8 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
195196 size_t col_begin,
196197 size_t col_end) // noexcept
197198 : ctx_{ctx}
198- , array_{ctx, uri, TILEDB_READ}
199+ , uri_{uri}
200+ , array_{tiledb_helpers::open_array (tdb_func__, ctx, uri, TILEDB_READ)}
199201 , schema_{array_.schema ()} {
200202 constructor_timer.stop ();
201203 scoped_timer _{tdb_func__ + uri};
@@ -278,7 +280,7 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
278280 query.set_subarray (subarray)
279281 .set_layout (layout_order)
280282 .set_data_buffer (attr_name, data_.get (), num_rows * num_cols);
281- query. submit ( );
283+ tiledb_helpers::submit_query (tdb_func__, uri, query );
282284 _memory_data.insert_entry (tdb_func__, num_rows * num_cols * sizeof (T));
283285
284286 // assert(tiledb::Query::Status::COMPLETE == query.query_status());
@@ -391,7 +393,7 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
391393 query.set_subarray (subarray)
392394 .set_layout (layout_order)
393395 .set_data_buffer (attr_name, ptr, num_elements);
394- query. submit ( );
396+ tiledb_helpers::submit_query (tdb_func__, uri, query );
395397 _memory_data.insert_entry (tdb_func__, num_elements * sizeof (T));
396398
397399 // assert(tiledb::Query::Status::COMPLETE == query.query_status());
@@ -413,7 +415,7 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
413415 */
414416 auto attr_idx = 0 ;
415417
416- auto ids_array_ = tiledb::Array{ ctx_, id_uri, TILEDB_READ} ;
418+ tiledb::Array ids_array_ = tiledb_helpers::open_array (tdb_func__, ctx_, id_uri, TILEDB_READ) ;
417419 auto ids_schema_ = ids_array_.schema ();
418420
419421 auto attr_num{ids_schema_.attribute_num ()};
@@ -445,7 +447,7 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
445447 auto ptr = part_ids.data () + offset;
446448 query.set_subarray (subarray).set_data_buffer (
447449 attr_name, ptr, num_elements);
448- query. submit ( );
450+ tiledb_helpers::submit_query (tdb_func__, uri, query );
449451 _memory_data.insert_entry (tdb_func__, num_elements * sizeof (T));
450452
451453 if (tiledb::Query::Status::COMPLETE != query.query_status ()) {
@@ -552,7 +554,7 @@ class tdbMatrix : public Matrix<T, LayoutPolicy, I> {
552554 query.set_subarray (subarray)
553555 .set_layout (layout_order)
554556 .set_data_buffer (attr_name, this_data, read_size);
555- query. submit ( );
557+ tiledb_helpers::submit_query (tdb_func__, uri_, query );
556558 _memory_data.insert_entry (tdb_func__, read_size * sizeof (T));
557559
558560 // assert(tiledb::Query::Status::COMPLETE == query.query_status());
0 commit comments