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::ConflictManager::ConflictData Struct Reference
Collaboration diagram for duckdb::ConflictManager::ConflictData:

Public Member Functions

void Insert (const idx_t index_in_chunk, const row_t row_id)
 Inserts a conflict into the two selection vectors, the row IDs, and the validity.
 
row_t GetRowId (const idx_t index_in_chunk)
 Returns the row ID matching the index in the chunk.
 
void Reset ()
 Resets the conflict data.
 

Public Attributes

idx_t count = 0
 Conflict count.
 
unique_ptr< SelectionVectorsel
 Links the conflicting rows to their row IDs (index_in_chunk -> count).
 
unique_ptr< SelectionVectorinverted_sel
 Inverted selection vector to slice the input chunk (count -> index_in_chunk).
 
unique_ptr< Vectorrow_ids
 Row IDs.
 
row_trow_ids_data
 Optional row ID data.
 
ValidityArray validity
 

Detailed Description

ConflictData is a helper struct tracking conflicts for each index in a chunk, as well as the total conflict count, and the row ID matching each conflict.

Member Function Documentation

◆ Insert()

void duckdb::ConflictManager::ConflictData::Insert ( const idx_t  index_in_chunk,
const row_t  row_id 
)
inline

Inserts a conflict into the two selection vectors, the row IDs, and the validity.

55927 {
55928 D_ASSERT(!validity.RowIsValid(index_in_chunk));
55929 sel->set_index(index_in_chunk, count);
55930 inverted_sel->set_index(count, index_in_chunk);
55931 validity.SetValid(index_in_chunk);
55932 row_ids_data[count] = row_id;
55933 count++;
55934 }
idx_t count
Conflict count.
Definition duckdb.cpp:55913
unique_ptr< SelectionVector > sel
Links the conflicting rows to their row IDs (index_in_chunk -> count).
Definition duckdb.cpp:55915
row_t * row_ids_data
Optional row ID data.
Definition duckdb.cpp:55921
unique_ptr< SelectionVector > inverted_sel
Inverted selection vector to slice the input chunk (count -> index_in_chunk).
Definition duckdb.cpp:55917
ValidityArray validity
Definition duckdb.cpp:55924
bool RowIsValid(idx_t row_idx) const
Returns true if a row is valid (i.e. not null), false otherwise.
Definition duckdb.hpp:9342
void SetValid(idx_t row_idx)
Marks the entry at the specified row index as valid (i.e. not-null)
Definition duckdb.hpp:9362
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetRowId()

row_t duckdb::ConflictManager::ConflictData::GetRowId ( const idx_t  index_in_chunk)
inline

Returns the row ID matching the index in the chunk.

55937 {
55938 D_ASSERT(validity.RowIsValid(index_in_chunk));
55939 auto idx = sel->get_index(index_in_chunk);
55940 return row_ids_data[idx];
55941 }
Here is the call graph for this function:

◆ Reset()

void duckdb::ConflictManager::ConflictData::Reset ( )
inline

Resets the conflict data.

55944 {
55945 count = 0;
55946 sel = nullptr;
55947 inverted_sel = nullptr;
55948 row_ids_data = nullptr;
55949 row_ids = nullptr;
55950 }
unique_ptr< Vector > row_ids
Row IDs.
Definition duckdb.cpp:55919

Member Data Documentation

◆ validity

ValidityArray duckdb::ConflictManager::ConflictData::validity

Keeps track of the indexes in the chunk for which we've seen a conflict. True (valid) indicates a conflict.


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