![]() |
mutable
A Database System for Research and Fast Prototyping
|
A BaseTable is a DataSource that is materialized and stored persistently by the database system.
More...
#include <QueryGraph.hpp>
Public Member Functions | |
| const Table & | table () const |
Returns a reference to the Table providing the tuples. | |
| ThreadSafePooledOptionalString | name () const override |
Returns the name of this DataSource. | |
| bool | is_correlated () const override |
BaseTable is never correlated. | |
| std::size_t | id () const |
Returns the id of this DataSource. | |
| const ThreadSafePooledOptionalString & | alias () const |
Returns the alias of this DataSource. | |
| const cnf::CNF & | filter () const |
Returns the filter of this DataSource. | |
| void | update_filter (cnf::CNF filter) |
Adds filter to the current filter of this DataSource by logical conjunction. | |
| void | add_join (Join &join) |
Adds join to the set of Joins of this DataSource. | |
| const auto & | joins () const |
Returns a reference to the Joins using this DataSource. | |
| bool | operator== (const DataSource &other) const |
| bool | operator!= (const DataSource &other) const |
Private Member Functions | |
| BaseTable (std::size_t id, ThreadSafePooledOptionalString alias, const Table &table) | |
| |
| void | remove_join (Join &join) |
Private Attributes | |
| const Table & | table_ |
| the table providing the tuples | |
| cnf::CNF | filter_ |
| filter condition on this data source | |
| std::vector< std::reference_wrapper< Join > > | joins_ |
| joins with this data source | |
| ThreadSafePooledOptionalString | alias_ |
| alias of this data source, may not have a value if this data source has no alias | |
| std::size_t | id_ |
| unique identifier of this data source within its query graph | |
| bool | decorrelated_ = true |
| indicates whether this source is already decorrelated | |
Friends | |
| struct | QueryGraph |
| struct | GetPrimaryKey |
A BaseTable is a DataSource that is materialized and stored persistently by the database system.
Definition at line 88 of file QueryGraph.hpp.
|
inlineprivate |
list of designators expanded from
GetPrimaryKey::compute()orGetAttributes::compute()
Definition at line 99 of file QueryGraph.hpp.
|
inlineinherited |
Adds join to the set of Joins of this DataSource.
Definition at line 67 of file QueryGraph.hpp.
|
inlineinherited |
Returns the alias of this DataSource.
May not have a value.
Definition at line 58 of file QueryGraph.hpp.
|
inlineinherited |
|
inlineinherited |
Returns the id of this DataSource.
Definition at line 56 of file QueryGraph.hpp.
|
inlineoverridevirtual |
BaseTable is never correlated.
Always returns false.
Implements m::DataSource.
Definition at line 110 of file QueryGraph.hpp.
|
inlineinherited |
Returns a reference to the Joins using this DataSource.
Definition at line 69 of file QueryGraph.hpp.
|
inlineoverridevirtual |
Returns the name of this DataSource.
Either the same as alias(), if an alias is given, otherwise the name of the referenced Table. Returned value might be empty for anonymous nested queries (e.g. in a WHERE clause).
Implements m::DataSource.
Definition at line 107 of file QueryGraph.hpp.
References m::Table::name().
|
inlineinherited |
Definition at line 84 of file QueryGraph.hpp.
|
inlineinherited |
Definition at line 83 of file QueryGraph.hpp.
References m::DataSource::id_.
|
inlineprivateinherited |
Definition at line 75 of file QueryGraph.hpp.
|
inline |
Returns a reference to the Table providing the tuples.
Definition at line 105 of file QueryGraph.hpp.
|
inlineinherited |
Adds filter to the current filter of this DataSource by logical conjunction.
Definition at line 65 of file QueryGraph.hpp.
References and().
Referenced by m::QueryGraph::add_custom_filter().
|
friend |
Definition at line 91 of file QueryGraph.hpp.
|
friend |
Definition at line 90 of file QueryGraph.hpp.
|
privateinherited |
alias of this data source, may not have a value if this data source has no alias
Definition at line 41 of file QueryGraph.hpp.
|
privateinherited |
indicates whether this source is already decorrelated
Definition at line 44 of file QueryGraph.hpp.
|
privateinherited |
filter condition on this data source
Definition at line 39 of file QueryGraph.hpp.
|
privateinherited |
unique identifier of this data source within its query graph
Definition at line 42 of file QueryGraph.hpp.
Referenced by m::DataSource::operator==().
|
privateinherited |
joins with this data source
Definition at line 40 of file QueryGraph.hpp.
|
private |
the table providing the tuples
Definition at line 94 of file QueryGraph.hpp.