mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes
m::QueryDatabase Struct Reference

Run a query against the selected database. More...

#include <DatabaseCommand.hpp>

Inheritance diagram for m::QueryDatabase:
[legend]
Collaboration diagram for m::QueryDatabase:
[legend]

Public Member Functions

void accept (DatabaseCommandVisitor &v) override
 
void accept (ConstDatabaseCommandVisitor &v) const override
 
void execute (Diagnostic &diag) override
 Executes the command.
 
template<typename T = ast::Command>
requires std::derived_from<T, ast::Command>
Tast ()
 
template<typename T = ast::Command>
requires std::derived_from<T, ast::Command>
const Tast () const
 
std::unique_ptr< ast::Commandast (std::unique_ptr< ast::Command > new_ast)
 
Scheduler::Transactiontransaction ()
 
void transaction (Scheduler::Transaction *t)
 

Private Attributes

std::unique_ptr< QueryGraphgraph_
 
std::unique_ptr< Consumerlogical_plan_
 
std::unique_ptr< MatchBasephysical_plan_
 
std::unique_ptr< ast::Commandast_
 

‍the AST of the command; optional


 
Scheduler::Transactiont_
 

‍the transaction this command belongs to


 

Detailed Description

Run a query against the selected database.

Definition at line 115 of file DatabaseCommand.hpp.

Member Function Documentation

◆ accept() [1/2]

void m::QueryDatabase::accept ( ConstDatabaseCommandVisitor &  v) const
overridevirtual

Implements m::DatabaseCommand.

◆ accept() [2/2]

void m::QueryDatabase::accept ( DatabaseCommandVisitor &  v)
overridevirtual

Implements m::DatabaseCommand.

◆ ast() [1/3]

template<typename T = ast::Command>
requires std::derived_from<T, ast::Command>
T & m::DatabaseCommand::ast ( )
inlineinherited

Definition at line 39 of file DatabaseCommand.hpp.

References m::DatabaseCommand::ast_, and m::T().

Referenced by execute().

◆ ast() [2/3]

template<typename T = ast::Command>
requires std::derived_from<T, ast::Command>
const T & m::DatabaseCommand::ast ( ) const
inlineinherited

Definition at line 42 of file DatabaseCommand.hpp.

References m::DatabaseCommand::ast_, and m::T().

◆ ast() [3/3]

std::unique_ptr< ast::Command > m::DatabaseCommand::ast ( std::unique_ptr< ast::Command new_ast)
inlineinherited

Definition at line 44 of file DatabaseCommand.hpp.

References m::DatabaseCommand::ast_.

◆ execute()

void QueryDatabase::execute ( Diagnostic diag)
overridevirtual

◆ transaction() [1/2]

Scheduler::Transaction * m::DatabaseCommand::transaction ( )
inlineinherited

Definition at line 48 of file DatabaseCommand.hpp.

References m::DatabaseCommand::t_.

Referenced by execute(), m::InsertRecords::execute(), and m::ImportDSV::execute().

◆ transaction() [2/2]

void m::DatabaseCommand::transaction ( Scheduler::Transaction t)
inlineinherited

Definition at line 49 of file DatabaseCommand.hpp.

References m::DatabaseCommand::t_.

Field Documentation

◆ ast_

std::unique_ptr<ast::Command> m::DatabaseCommand::ast_
privateinherited

‍the AST of the command; optional

Definition at line 24 of file DatabaseCommand.hpp.

Referenced by m::DatabaseCommand::ast().

◆ graph_

std::unique_ptr<QueryGraph> m::QueryDatabase::graph_
private

Definition at line 118 of file DatabaseCommand.hpp.

Referenced by execute().

◆ logical_plan_

std::unique_ptr<Consumer> m::QueryDatabase::logical_plan_
private

Definition at line 119 of file DatabaseCommand.hpp.

Referenced by execute().

◆ physical_plan_

std::unique_ptr<MatchBase> m::QueryDatabase::physical_plan_
private

Definition at line 120 of file DatabaseCommand.hpp.

Referenced by execute().

◆ t_

Scheduler::Transaction* m::DatabaseCommand::t_
privateinherited

‍the transaction this command belongs to

Definition at line 26 of file DatabaseCommand.hpp.

Referenced by m::DatabaseCommand::transaction().


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