![]() |
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().