mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Functions
Schema.hpp File Reference
#include <cmath>
#include <cstring>
#include <functional>
#include <iosfwd>
#include <iterator>
#include <list>
#include <memory>
#include <mutable/catalog/CardinalityEstimator.hpp>
#include <mutable/catalog/Type.hpp>
#include <mutable/mutable-config.hpp>
#include <mutable/storage/DataLayout.hpp>
#include <mutable/storage/Index.hpp>
#include <mutable/storage/Store.hpp>
#include <mutable/util/ADT.hpp>
#include <mutable/util/enum_ops.hpp>
#include <mutable/util/exception.hpp>
#include <mutable/util/fn.hpp>
#include <mutable/util/macro.hpp>
#include <type_traits>
#include <unordered_map>
#include <utility>
#include <vector>
#include <mutable/tables/Functions.tbl>
Include dependency graph for Schema.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  m::Schema
 A Schema represents a sequence of identifiers, optionally with a prefix, and their associated types. More...
 
struct  m::Schema::Identifier
 An Identifier is composed of a name and an optional prefix. More...
 
struct  m::Schema::entry_type
 
struct  m::Attribute
 An attribute of a table. More...
 
struct  m::Table
 A table is a sorted set of attributes. More...
 
struct  m::Table::the_iterator< V, H >
 
struct  m::ConcreteTable
 Basic implementation of Table. More...
 
struct  m::TableDecorator
 Abstract Decorator class that concrete TableDecorator inherit from. More...
 
struct  m::MultiVersioningTable
 A multi-versioning table is a Table with additional invisible timestamp attributes. More...
 
struct  m::Function
 Defines a function. More...
 
struct  m::Database
 A Database is a set of Tables, Functions, and Statistics. More...
 
struct  m::Database::index_entry_type
 
struct  std::hash< m::Schema::Identifier >
 Specializes std::hash<T> for m::Schema::Identifier. More...
 
struct  std::hash< m::Attribute >
 Specializes std::hash<T> for m::Attribute. More...
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  m::storage
 
namespace  std
 STL namespace.
 

Macros

#define kind_t(X)
 
#define M_FUNCTION(NAME, KIND)   FN_ ## NAME,
 
#define M_FUNCTION(NAME, KIND)   "FN_" #NAME,
 

Functions

Schema m::operator+ (const Schema &left, const Schema &right)
 
Schema m::operator& (const Schema &left, const Schema &right)
 Computes the set intersection of two Schemas.
 
Schema m::operator| (const Schema &left, const Schema &right)
 
template<typename T >
bool m::type_check (const Attribute &attr)
 Checks that the type of the attr matches the template type T.
 

Macro Definition Documentation

◆ kind_t

#define kind_t (   X)
Value:
X(FN_Scalar) \
X(FN_Aggregate)
#define X(Kind)
Definition: Operator.hpp:621

Definition at line 829 of file Schema.hpp.

◆ M_FUNCTION [1/2]

#define M_FUNCTION (   NAME,
  KIND 
)    FN_ ## NAME,

Definition at line 834 of file Schema.hpp.

◆ M_FUNCTION [2/2]

#define M_FUNCTION (   NAME,
  KIND 
)    "FN_" #NAME,

Definition at line 834 of file Schema.hpp.