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::InMemoryLogStorage Class Reference

#include <duckdb.hpp>

Inheritance diagram for duckdb::InMemoryLogStorage:
Collaboration diagram for duckdb::InMemoryLogStorage:

Public Member Functions

 InMemoryLogStorage (DatabaseInstance &db)
 
const string GetStorageName () override
 
bool CanScan (LoggingTargetTable table) override
 Implement LogStorage Single-threaded scan interface.
 
unique_ptr< LogStorageScanStateCreateScanState (LoggingTargetTable table) const override
 
bool Scan (LogStorageScanState &state, DataChunk &result) const override
 
void InitializeScan (LogStorageScanState &state) const override
 
- Public Member Functions inherited from duckdb::BufferingLogStorage
 BufferingLogStorage (DatabaseInstance &db_p, idx_t buffer_size, bool normalize)
 
void WriteLogEntry (timestamp_t timestamp, LogLevel level, const string &log_type, const string &log_message, const RegisteredLoggingContext &context) final
 (Partially) Implements LogStorage API
 
void WriteLogEntries (DataChunk &chunk, const RegisteredLoggingContext &context) final
 Write out the chunk to the buffers.
 
void FlushAll () final
 Flushes buffers for all tables.
 
void Flush (LoggingTargetTable table) final
 Flushes buffer for a specific table.
 
void Truncate () override
 Truncates log storage: both buffers and persistent storage (if applicable)
 
void UpdateConfig (DatabaseInstance &db, case_insensitive_map_t< Value > &config) override
 Apply a new log storage configuration.
 
bool IsEnabled (LoggingTargetTable table) override
 Returns whether the table is enabled for this storage.
 
- Public Member Functions inherited from duckdb::LogStorage
virtual DUCKDB_API unique_ptr< TableRefBindReplace (ClientContext &context, TableFunctionBindInput &input, LoggingTargetTable table)
 

Protected Member Functions

void FlushChunk (LoggingTargetTable table, DataChunk &chunk) override
 Implement BufferingLogStorage interface.
 
void ResetAllBuffers () override
 Resets the all ColumnDataCollection's.
 
- Protected Member Functions inherited from duckdb::BufferingLogStorage
virtual void UpdateConfigInternal (DatabaseInstance &db, case_insensitive_map_t< Value > &config)
 
void FlushAllInternal ()
 Helper methods.
 
void FlushInternal (LoggingTargetTable table)
 Flushes one of the tables.
 
bool IsEnabledInternal (LoggingTargetTable table)
 Whether a specific table is available in the log storage.
 
idx_t GetBufferLimit () const
 

Private Member Functions

ColumnDataCollectionGetBuffer (LoggingTargetTable table) const
 Helper function to get the buffer.
 

Private Attributes

map< LoggingTargetTable, unique_ptr< ColumnDataCollection > > log_storage_buffers
 

Additional Inherited Members

- Static Public Member Functions inherited from duckdb::LogStorage
static vector< LogicalTypeGetSchema (LoggingTargetTable table)
 
static vector< string > GetColumnNames (LoggingTargetTable table)
 
- Protected Attributes inherited from duckdb::BufferingLogStorage
mutex lock
 
bool normalize_contexts = true
 

Detailed Description

The InMemoryLogStorage implements a log storage that is backed by ColumnDataCollection's. It only support normalized mode and support a basic single-threaded scan. TODO: improve?

Member Function Documentation

◆ GetStorageName()

const string duckdb::InMemoryLogStorage::GetStorageName ( )
inlineoverridevirtual

Implements duckdb::LogStorage.

39772 {
39773 return "InMemoryLogStorage";
39774 }

◆ CanScan()

bool duckdb::InMemoryLogStorage::CanScan ( LoggingTargetTable  table)
overridevirtual

Implement LogStorage Single-threaded scan interface.

Reimplemented from duckdb::LogStorage.

◆ CreateScanState()

unique_ptr< LogStorageScanState > duckdb::InMemoryLogStorage::CreateScanState ( LoggingTargetTable  table) const
overridevirtual

Reimplemented from duckdb::LogStorage.

◆ Scan()

bool duckdb::InMemoryLogStorage::Scan ( LogStorageScanState state,
DataChunk result 
) const
overridevirtual

Reimplemented from duckdb::LogStorage.

◆ InitializeScan()

void duckdb::InMemoryLogStorage::InitializeScan ( LogStorageScanState state) const
overridevirtual

Reimplemented from duckdb::LogStorage.

◆ FlushChunk()

void duckdb::InMemoryLogStorage::FlushChunk ( LoggingTargetTable  table,
DataChunk chunk 
)
overrideprotectedvirtual

Implement BufferingLogStorage interface.

Flushes a chunk to the corresponding ColumnDataCollection

Implements duckdb::BufferingLogStorage.

◆ ResetAllBuffers()

void duckdb::InMemoryLogStorage::ResetAllBuffers ( )
overrideprotectedvirtual

Resets the all ColumnDataCollection's.

Reimplemented from duckdb::BufferingLogStorage.


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