![]() |
mutable
A Database System for Research and Fast Prototyping
|
#include <mutable/storage/DataLayoutFactory.hpp>#include <memory>#include <mutable/catalog/Catalog.hpp>#include <mutable/catalog/Type.hpp>#include <numeric>Go to the source code of this file.
Namespaces | |
| namespace | M_LCOV_EXCL_STOP |
| namespace | M_LCOV_EXCL_STOP::options |
Macros | |
| #define | REGISTER_PAX_BYTES(NAME, BLOCK_SIZE, DESCRIPTION) C.register_data_layout(C.pool(#NAME), std::make_unique<PAXLayoutFactory>(PAXLayoutFactory::NBytes, BLOCK_SIZE), DESCRIPTION) |
| #define | REGISTER_PAX_TUPLES(NAME, BLOCK_SIZE, DESCRIPTION) C.register_data_layout(C.pool(#NAME), std::make_unique<PAXLayoutFactory>(PAXLayoutFactory::NTuples, BLOCK_SIZE), DESCRIPTION) |
Functions | |
| M_LCOV_EXCL_STOP::__attribute__ ((constructor(201))) static void add_storage_args() | |
| std::unique_ptr< std::size_t[]> | compute_attribute_order (const std::vector< const Type * > &types) |
Computes the order for attributes of types types and returns this permutation as array of indices. | |
| __attribute__ ((constructor(202))) static void register_data_layouts() | |
Variables | |
| bool | M_LCOV_EXCL_STOP::options::attribute_reordering = true |
| Whether to reorder attributes when creating data layouts. | |
| bool | M_LCOV_EXCL_STOP::options::remove_null_bitmap = false |
| Whether to remove the NULL bitmap in all created data layouts. | |
| bool | M_LCOV_EXCL_STOP::options::pax_pack_one_tuple_less = false |
| Whether to pack one tuple less than theoretically possible in a created PAX data layout. | |
| #define REGISTER_PAX_BYTES | ( | NAME, | |
| BLOCK_SIZE, | |||
| DESCRIPTION | |||
| ) | C.register_data_layout(C.pool(#NAME), std::make_unique<PAXLayoutFactory>(PAXLayoutFactory::NBytes, BLOCK_SIZE), DESCRIPTION) |
| #define REGISTER_PAX_TUPLES | ( | NAME, | |
| BLOCK_SIZE, | |||
| DESCRIPTION | |||
| ) | C.register_data_layout(C.pool(#NAME), std::make_unique<PAXLayoutFactory>(PAXLayoutFactory::NTuples, BLOCK_SIZE), DESCRIPTION) |
| __attribute__ | ( | (constructor(202)) | ) |
Definition at line 229 of file DataLayoutFactory.cpp.
References m::Catalog::Get(), m::Catalog::pool(), m::Catalog::register_data_layout(), REGISTER_PAX_BYTES, and REGISTER_PAX_TUPLES.
| std::unique_ptr< std::size_t[]> compute_attribute_order | ( | const std::vector< const Type * > & | types | ) |
Computes the order for attributes of types types and returns this permutation as array of indices.
Attributes are reordered by their alignment requirement to minimize padding except the CLI option --no-attribute-reordering is set.
Definition at line 73 of file DataLayoutFactory.cpp.
Referenced by m::storage::RowLayoutFactory::make(), and m::storage::PAXLayoutFactory::make().