OmniSciDB  04ee39c94c
RelScan Class Reference

#include <RelAlgAbstractInterpreter.h>

+ Inheritance diagram for RelScan:
+ Collaboration diagram for RelScan:

Public Member Functions

 RelScan (const TableDescriptor *td, const std::vector< std::string > &field_names)
 
size_t size () const override
 
const TableDescriptorgetTableDescriptor () const
 
const std::vector< std::string > & getFieldNames () const
 
const std::string getFieldName (const size_t i) const
 
std::string toString () const override
 
std::shared_ptr< RelAlgNodedeepCopy () const override
 
- Public Member Functions inherited from RelAlgNode
 RelAlgNode ()
 
virtual ~RelAlgNode ()
 
void setContextData (const void *context_data) const
 
void setOutputMetainfo (const std::vector< TargetMetaInfo > &targets_metainfo) const
 
const std::vector< TargetMetaInfo > & getOutputMetainfo () const
 
unsigned getId () const
 
bool hasContextData () const
 
const void * getContextData () const
 
const size_t inputCount () const
 
const RelAlgNodegetInput (const size_t idx) const
 
std::shared_ptr< const RelAlgNodegetAndOwnInput (const size_t idx) const
 
void addManagedInput (std::shared_ptr< const RelAlgNode > input)
 
bool hasInput (const RelAlgNode *needle) const
 
virtual void replaceInput (std::shared_ptr< const RelAlgNode > old_input, std::shared_ptr< const RelAlgNode > input)
 
bool isNop () const
 
void markAsNop ()
 

Private Attributes

const TableDescriptortd_
 
const std::vector< std::string > field_names_
 

Additional Inherited Members

- Static Public Member Functions inherited from RelAlgNode
static void resetRelAlgFirstId () noexcept
 
- Protected Attributes inherited from RelAlgNode
std::vector< std::shared_ptr< const RelAlgNode > > inputs_
 
const unsigned id_
 

Detailed Description

Definition at line 694 of file RelAlgAbstractInterpreter.h.

Constructor & Destructor Documentation

◆ RelScan()

RelScan::RelScan ( const TableDescriptor td,
const std::vector< std::string > &  field_names 
)
inline

Definition at line 696 of file RelAlgAbstractInterpreter.h.

697  : td_(td), field_names_(field_names) {}
const TableDescriptor * td_
const std::vector< std::string > field_names_

Member Function Documentation

◆ deepCopy()

std::shared_ptr<RelAlgNode> RelScan::deepCopy ( ) const
inlineoverridevirtual

Implements RelAlgNode.

Definition at line 712 of file RelAlgAbstractInterpreter.h.

References CHECK.

712  {
713  CHECK(false);
714  return nullptr;
715  };
#define CHECK(condition)
Definition: Logger.h:187

◆ getFieldName()

const std::string RelScan::getFieldName ( const size_t  i) const
inline

Definition at line 705 of file RelAlgAbstractInterpreter.h.

705 { return field_names_[i]; }
const std::vector< std::string > field_names_

◆ getFieldNames()

const std::vector<std::string>& RelScan::getFieldNames ( ) const
inline

Definition at line 703 of file RelAlgAbstractInterpreter.h.

703 { return field_names_; }
const std::vector< std::string > field_names_

◆ getTableDescriptor()

const TableDescriptor* RelScan::getTableDescriptor ( ) const
inline

Definition at line 701 of file RelAlgAbstractInterpreter.h.

Referenced by anonymous_namespace{RelAlgExecutor.cpp}::table_id_from_ra(), anonymous_namespace{RelAlgExecutor.cpp}::RexUsedInputsVisitor::visitInput(), and anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalTableInputsVisitor::visitScan().

701 { return td_; }
const TableDescriptor * td_
+ Here is the caller graph for this function:

◆ size()

size_t RelScan::size ( ) const
inlineoverridevirtual

Implements RelAlgNode.

Definition at line 699 of file RelAlgAbstractInterpreter.h.

699 { return field_names_.size(); }
const std::vector< std::string > field_names_

◆ toString()

std::string RelScan::toString ( ) const
inlineoverridevirtual

Implements RelAlgNode.

Definition at line 707 of file RelAlgAbstractInterpreter.h.

References to_string().

707  {
708  return "(RelScan<" + std::to_string(reinterpret_cast<uint64_t>(this)) + "> " +
709  td_->tableName + ")";
710  }
std::string tableName
const TableDescriptor * td_
std::string to_string(char const *&&v)
+ Here is the call graph for this function:

Member Data Documentation

◆ field_names_

const std::vector<std::string> RelScan::field_names_
private

Definition at line 719 of file RelAlgAbstractInterpreter.h.

◆ td_

const TableDescriptor* RelScan::td_
private

Definition at line 715 of file RelAlgAbstractInterpreter.h.


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