MCPcopy Create free account
hub / github.com/TileDB-Inc/TileDB / get_validity_buffer

Method get_validity_buffer

tiledb/sm/query/query.cc:621–646  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

619}
620
621Status Query::get_validity_buffer(
622 const char* name,
623 uint8_t** buffer_validity_bytemap,
624 uint64_t** buffer_validity_bytemap_size) const {
625 // Check query type
626 if (type_ != QueryType::READ && type_ != QueryType::WRITE &&
627 type_ != QueryType::MODIFY_EXCLUSIVE) {
628 return LOG_STATUS(Status_SerializationError(
629 "Cannot get buffer; Unsupported query type."));
630 }
631
632 // Check attribute
633 if (!array_schema_->is_nullable(name))
634 return logger_->status(Status_QueryError(
635 std::string("Cannot get buffer; '") + name + "' is non-nullable"));
636
637 // Attribute or dimension
638 auto it = buffers_.find(name);
639 if (it != buffers_.end()) {
640 auto vv = &it->second.validity_vector_;
641 *buffer_validity_bytemap = vv->bytemap();
642 *buffer_validity_bytemap_size = vv->bytemap_size();
643 }
644
645 return Status::Ok();
646}
647
648Status Query::get_attr_serialization_state(
649 const std::string& attribute, SerializationState::AttrState** state) {

Callers 4

query_from_capnpFunction · 0.80
buffer_infoMethod · 0.80
test_for_column_sizeFunction · 0.80

Calls 8

LOG_STATUSFunction · 0.85
Status_QueryErrorFunction · 0.85
bytemapMethod · 0.80
bytemap_sizeMethod · 0.80
is_nullableMethod · 0.45
statusMethod · 0.45
endMethod · 0.45

Tested by 1

test_for_column_sizeFunction · 0.64