Column Store
Public Member Functions | Private Attributes | List of all members
Parser::Projection Class Reference

#include <Projection.h>

Collaboration diagram for Parser::Projection:
Collaboration graph

Public Member Functions

void set_projection_name (std::string projection_n)
 
void set_base_table (std::string base_tab)
 
void set_sort_key (std::string sk)
 
void add_column (std::string name, std::string table, std::string column_name, std::string encoding, DataType data_type)
 
void add_join_table (std::string from, std::string table, std::string to)
 
void add_join_index (std::string from, std::string other_projection, std::string to)
 
std::string get_projection_name ()
 
std::string get_base_table ()
 
std::string get_sort_key ()
 
vector< foreign_keyget_join_tables ()
 
vector< projection_columnget_columns ()
 
vector< join_indexget_join_indexes ()
 
projection_columnoperator[] (int i)
 
projection_columnget_column (std::string name)
 
projection_columnoperator[] (std::string name)
 
std::vector< Parser::Columnget_metadata_columns ()
 
ColumnStore::DataRecordMetadataget_metadata ()
 

Private Attributes

std::string projection_name
 
std::string sort_key
 
vector< projection_columncolumns
 
unordered_map< string, int > column_map
 
std::string base_table
 
vector< foreign_keyjoin_tables
 
vector< join_indexjoin_indexes
 

Member Function Documentation

◆ add_column()

void Parser::Projection::add_column ( std::string  name,
std::string  table,
std::string  column_name,
std::string  encoding,
DataType  data_type 
)
Here is the caller graph for this function:

◆ add_join_index()

void Parser::Projection::add_join_index ( std::string  from,
std::string  other_projection,
std::string  to 
)
Here is the caller graph for this function:

◆ add_join_table()

void Parser::Projection::add_join_table ( std::string  from,
std::string  table,
std::string  to 
)
Here is the caller graph for this function:

◆ get_base_table()

std::string Parser::Projection::get_base_table ( )
inline

◆ get_column()

projection_column& Parser::Projection::get_column ( std::string  name)
inline

◆ get_columns()

vector<projection_column> Parser::Projection::get_columns ( )
inline
Here is the caller graph for this function:

◆ get_join_indexes()

vector<join_index> Parser::Projection::get_join_indexes ( )
inline
Here is the caller graph for this function:

◆ get_join_tables()

vector<foreign_key> Parser::Projection::get_join_tables ( )
inline

◆ get_metadata()

ColumnStore::DataRecordMetadata* Parser::Projection::get_metadata ( )
inline
Here is the caller graph for this function:

◆ get_metadata_columns()

std::vector<Parser::Column> Parser::Projection::get_metadata_columns ( )
inline
Here is the caller graph for this function:

◆ get_projection_name()

std::string Parser::Projection::get_projection_name ( )
inline
Here is the caller graph for this function:

◆ get_sort_key()

std::string Parser::Projection::get_sort_key ( )
inline

◆ operator[]() [1/2]

projection_column& Parser::Projection::operator[] ( int  i)
inline

◆ operator[]() [2/2]

projection_column& Parser::Projection::operator[] ( std::string  name)
inline

◆ set_base_table()

void Parser::Projection::set_base_table ( std::string  base_tab)
inline
Here is the caller graph for this function:

◆ set_projection_name()

void Parser::Projection::set_projection_name ( std::string  projection_n)
inline
Here is the caller graph for this function:

◆ set_sort_key()

void Parser::Projection::set_sort_key ( std::string  sk)
inline
Here is the caller graph for this function:

Member Data Documentation

◆ base_table

std::string Parser::Projection::base_table
private

◆ column_map

unordered_map<string, int> Parser::Projection::column_map
private

◆ columns

vector<projection_column> Parser::Projection::columns
private

◆ join_indexes

vector<join_index> Parser::Projection::join_indexes
private

◆ join_tables

vector<foreign_key> Parser::Projection::join_tables
private

◆ projection_name

std::string Parser::Projection::projection_name
private

◆ sort_key

std::string Parser::Projection::sort_key
private

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