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::TableIndexList Class Reference
Collaboration diagram for duckdb::TableIndexList:

Public Member Functions

TableIndexIterationHelper< IndexEntryIndexEntries () const
 
TableIndexIterationHelper< IndexIndexes () const
 
void AddIndex (unique_ptr< Index > index)
 Adds an index entry to the list of index entries.
 
void RemoveIndex (const string &name)
 Removes an index entry from the list of index entries.
 
void CommitDrop (const string &name)
 Removes all remaining memory of an index after dropping the catalog entry.
 
bool NameIsUnique (const string &name)
 Returns true, if the index name does not exist.
 
optional_ptr< BoundIndexFind (const string &name)
 Returns an optional pointer to the index matching the name.
 
void Bind (ClientContext &context, DataTableInfo &table_info, const char *index_type=nullptr)
 Binds unbound indexes possibly present after loading an extension.
 
bool Empty () const
 Returns true, if there are no index entries.
 
idx_t Count () const
 Returns the number of index entries.
 
bool HasUnbound () const
 Returns true, if there are unbound indexes.
 
unordered_set< string > DistinctIndexTypes () const
 Returns the set of distinct index types across all bound indexes.
 
void Move (TableIndexList &other)
 Overwrite this list with the other list.
 
void MergeCheckpointDeltas (transaction_t checkpoint_id)
 Merge any changes added to deltas during a checkpoint back into the main indexes.
 
optional_ptr< IndexEntryFindForeignKeyIndex (const vector< PhysicalIndex > &fk_keys, const ForeignKeyType fk_type)
 
void VerifyForeignKey (optional_ptr< LocalTableStorage > storage, const vector< PhysicalIndex > &fk_keys, DataChunk &chunk, ConflictManager &conflict_manager)
 Verify a foreign key constraint.
 
unordered_set< column_tGetRequiredColumns ()
 Get the combined column ids of the indexes.
 
IndexSerializationResult SerializeToDisk (QueryContext context, const IndexSerializationInfo &info)
 Serialize all indexes of the table.
 

Static Public Member Functions

static void InitializeIndexChunk (DataChunk &index_chunk, const vector< LogicalType > &table_types, vector< StorageIndex > &mapped_column_ids, DataTableInfo &data_table_info)
 Initialize an index_chunk from a table.
 
static void ReferenceIndexChunk (DataChunk &table_chunk, DataChunk &index_chunk, vector< StorageIndex > &mapped_column_ids)
 Reference the indexed columns of a table chunk.
 

Private Attributes

mutex index_entries_lock
 A lock to prevent any concurrent changes to the index entries.
 
vector< unique_ptr< IndexEntry > > index_entries
 The index entries of the table.
 
idx_t unbound_count = 0
 Contains the number of unbound indexes.
 

Member Function Documentation

◆ Empty()

bool duckdb::TableIndexList::Empty ( ) const
inline

Returns true, if there are no index entries.

50258 {
50259 return Count() == 0;
50260 }
idx_t Count() const
Returns the number of index entries.
Definition duckdb.hpp:50262
Here is the call graph for this function:

◆ Count()

idx_t duckdb::TableIndexList::Count ( ) const
inline

Returns the number of index entries.

50262 {
50263 lock_guard<mutex> lock(index_entries_lock);
50264 return index_entries.size();
50265 }
vector< unique_ptr< IndexEntry > > index_entries
The index entries of the table.
Definition duckdb.hpp:50303
mutex index_entries_lock
A lock to prevent any concurrent changes to the index entries.
Definition duckdb.hpp:50301
Here is the caller graph for this function:

◆ HasUnbound()

bool duckdb::TableIndexList::HasUnbound ( ) const
inline

Returns true, if there are unbound indexes.

50267 {
50268 lock_guard<mutex> lock(index_entries_lock);
50269 return unbound_count != 0;
50270 }
idx_t unbound_count
Contains the number of unbound indexes.
Definition duckdb.hpp:50305

◆ Move()

void duckdb::TableIndexList::Move ( TableIndexList other)
inline

Overwrite this list with the other list.

50274 {
50275 D_ASSERT(index_entries.empty());
50276 index_entries = std::move(other.index_entries);
50277 }

◆ FindForeignKeyIndex()

optional_ptr< IndexEntry > duckdb::TableIndexList::FindForeignKeyIndex ( const vector< PhysicalIndex > &  fk_keys,
const ForeignKeyType  fk_type 
)

Returns true, if all indexes Find the foreign key matching the keys.


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