OmniSciDB
a5dc49c757
|
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/access.hpp>
#include <boost/serialization/shared_ptr.hpp>
#include <boost/serialization/unique_ptr.hpp>
#include <boost/serialization/unordered_map.hpp>
#include <boost/serialization/variant.hpp>
#include <boost/serialization/vector.hpp>
#include "QueryEngine/RelAlgDag.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/ExecutionResultSerializer.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/QueryHintSerializer.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/RexWindowBoundSerializer.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/SQLTypeInfoSerializer.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/SortFieldSerializer.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/StdOptionalSerializer.h"
#include "QueryEngine/RelAlgDagSerializer/serialization/TargetMetaInfoSerializer.h"
#include "Shared/scope.h"
Go to the source code of this file.
Namespaces | |
anonymous_namespace{RelAlgDagSerializer.h} | |
boost | |
boost::serialization | |
Macros | |
#define | REL_ALG_NODE_DERIVED_CLASSES |
#define | REX_DERIVED_CLASSES |
Typedefs | |
template<class T > | |
using | anonymous_namespace{RelAlgDagSerializer.h}::is_rel_alg_node_class = is_any_class< T, RelAlgNode, ModifyManipulationTarget, REL_ALG_NODE_DERIVED_CLASSES > |
template<class T > | |
using | anonymous_namespace{RelAlgDagSerializer.h}::is_rex_class = is_any_class< T, Rex, RexScalar, REX_DERIVED_CLASSES > |
Functions | |
template<class RelAlgType , typename std::enable_if_t< all_serializable_rel_alg_classes_v< RelAlgType >> * = nullptr> | |
void | boost::serialization::serialize (boost::archive::text_iarchive &ar, RelAlgType &obj, const unsigned int version) |
template<class RelAlgType , typename std::enable_if_t< all_serializable_rel_alg_classes_v< RelAlgType >> * = nullptr> | |
void | boost::serialization::serialize (boost::archive::text_oarchive &ar, RelAlgType &obj, const unsigned int version) |
template<class Archive > | |
void | boost::serialization::serialize (Archive &ar, boost::blank &blank, const unsigned int version) |
template<class RelAlgNodeType , typename std::enable_if_t< is_catalog_rel_alg_node_v< RelAlgNodeType >> * = nullptr> | |
void | boost::serialization::save_construct_data (boost::archive::text_oarchive &ar, const RelAlgNodeType *node, const unsigned int version) |
template<class RelAlgNodeType > | |
void | boost::serialization::construct_catalog_rel_alg_node (RelAlgNodeType *node, const Catalog_Namespace::Catalog *cat, const TableDescriptor *td) |
void | boost::serialization::construct_catalog_rel_alg_node (RelModify *node, const Catalog_Namespace::Catalog &cat, const TableDescriptor *td) |
void | boost::serialization::construct_catalog_rel_alg_node (RelScan *node, const Catalog_Namespace::Catalog &cat, const TableDescriptor *td) |
template<class RelAlgNodeType , typename std::enable_if_t< is_catalog_rel_alg_node< RelAlgNodeType >::value > * = nullptr> | |
void | boost::serialization::load_construct_data (boost::archive::text_iarchive &ar, RelAlgNodeType *node, const unsigned int version) |
Variables | |
template<class T > | |
constexpr bool | anonymous_namespace{RelAlgDagSerializer.h}::is_rel_alg_node_class_v = is_rel_alg_node_class<T>::value |
template<class T > | |
constexpr bool | anonymous_namespace{RelAlgDagSerializer.h}::is_rex_class_v = is_rex_class<T>::value |
template<class T > | |
constexpr bool | anonymous_namespace{RelAlgDagSerializer.h}::all_serializable_rel_alg_classes_v |
template<class T > | |
constexpr bool | boost::serialization::is_catalog_rel_alg_node_v = is_catalog_rel_alg_node<T>::value |
template<class T > | |
constexpr bool | boost::serialization::is_modify_target_rel_alg_node_v |
#define REL_ALG_NODE_DERIVED_CLASSES |
Simple macros defining a list of derived classes for RelAlgNode and Rex/RexScalar base classes respectively. Derived classes are intended to be leaf-level classes, meaning they themselves should not be inherited. If new derived classes are added that require serialization, then it should be as simple as adding that class name in one of these respective lists here and providing a specialization in its appropriate RelAlgDagSerializer::serialize() static method.
Definition at line 51 of file RelAlgDagSerializer.h.
#define REX_DERIVED_CLASSES |
Definition at line 56 of file RelAlgDagSerializer.h.