Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::DictionaryVector Struct Reference

Static Public Member Functions

static void VerifyDictionary (const Vector &vector)
 
static const SelectionVectorSelVector (const Vector &vector)
 
static SelectionVectorSelVector (Vector &vector)
 
static const VectorChild (const Vector &vector)
 
static VectorChild (Vector &vector)
 
static optional_idx DictionarySize (const Vector &vector)
 
static const string & DictionaryId (const Vector &vector)
 
static bool CanCacheHashes (const LogicalType &type)
 
static bool CanCacheHashes (const Vector &vector)
 
static buffer_ptr< VectorChildBufferCreateReusableDictionary (const LogicalType &type, const idx_t &size)
 
static const VectorGetCachedHashes (Vector &input)
 

Member Function Documentation

◆ VerifyDictionary()

static void duckdb::DictionaryVector::VerifyDictionary ( const Vector vector)
inlinestatic
10854 {
10855#ifdef DUCKDB_DEBUG_NO_SAFETY
10856 D_ASSERT(vector.GetVectorType() == VectorType::DICTIONARY_VECTOR);
10857#else
10858 if (vector.GetVectorType() != VectorType::DICTIONARY_VECTOR) {
10859 throw InternalException(
10860 "Operation requires a dictionary vector but a non-dictionary vector was encountered");
10861 }
10862#endif
10863 }

◆ SelVector() [1/2]

static const SelectionVector & duckdb::DictionaryVector::SelVector ( const Vector vector)
inlinestatic
10864 {
10865 VerifyDictionary(vector);
10866 return vector.buffer->Cast<DictionaryBuffer>().GetSelVector();
10867 }

◆ SelVector() [2/2]

static SelectionVector & duckdb::DictionaryVector::SelVector ( Vector vector)
inlinestatic
10868 {
10869 VerifyDictionary(vector);
10870 return vector.buffer->Cast<DictionaryBuffer>().GetSelVector();
10871 }

◆ Child() [1/2]

static const Vector & duckdb::DictionaryVector::Child ( const Vector vector)
inlinestatic
10872 {
10873 VerifyDictionary(vector);
10874 return vector.auxiliary->Cast<VectorChildBuffer>().data;
10875 }

◆ Child() [2/2]

static Vector & duckdb::DictionaryVector::Child ( Vector vector)
inlinestatic
10876 {
10877 VerifyDictionary(vector);
10878 return vector.auxiliary->Cast<VectorChildBuffer>().data;
10879 }

◆ DictionarySize()

static optional_idx duckdb::DictionaryVector::DictionarySize ( const Vector vector)
inlinestatic
10880 {
10881 VerifyDictionary(vector);
10882 const auto &child_buffer = vector.auxiliary->Cast<VectorChildBuffer>();
10883 if (child_buffer.size.IsValid()) {
10884 return child_buffer.size;
10885 }
10886 return vector.buffer->Cast<DictionaryBuffer>().GetDictionarySize();
10887 }

◆ DictionaryId()

static const string & duckdb::DictionaryVector::DictionaryId ( const Vector vector)
inlinestatic
10888 {
10889 VerifyDictionary(vector);
10890 const auto &child_buffer = vector.auxiliary->Cast<VectorChildBuffer>();
10891 if (!child_buffer.id.empty()) {
10892 return child_buffer.id;
10893 }
10894 return vector.buffer->Cast<DictionaryBuffer>().GetDictionaryId();
10895 }

◆ CanCacheHashes() [1/2]

static bool duckdb::DictionaryVector::CanCacheHashes ( const LogicalType type)
inlinestatic
10896 {
10897 return type.InternalType() == PhysicalType::VARCHAR;
10898 }
@ VARCHAR
DuckDB Extensions.

◆ CanCacheHashes() [2/2]

static bool duckdb::DictionaryVector::CanCacheHashes ( const Vector vector)
inlinestatic
10899 {
10900 return DictionarySize(vector).IsValid() && CanCacheHashes(vector.GetType());
10901 }

The documentation for this struct was generated from the following file: