32#ifndef ddl0impl_loader_h
33#define ddl0impl_loader_h
Unbounded task queue.
Definition: ddl0loader.cc:46
Build indexes on a table by reading a clustered index, creating a temporary file containing index ent...
Definition: ddl0impl-loader.h:44
dberr_t build_all() noexcept
Build the read instance.
Definition: ddl0loader.cc:477
bool validate_indexes() const noexcept
Validate the indexes (except FTS).
Definition: ddl0loader.cc:509
Builders m_builders
Index builders.
Definition: ddl0impl-loader.h:124
dberr_t prepare() noexcept
Prepare to build and load the indexes.
Definition: ddl0loader.cc:366
~Loader() noexcept
Destructor.
Definition: ddl0loader.cc:267
size_t m_io_buffer_size
IO buffer size.
Definition: ddl0impl-loader.h:121
size_t m_sort_buffer_size
Sort buffer size.
Definition: ddl0impl-loader.h:118
Task_queue * m_taskq
Task queue.
Definition: ddl0impl-loader.h:127
void add_task(Task task) noexcept
Add a task to the task queue.
Definition: ddl0loader.cc:287
dberr_t load() noexcept
Load the indexes.
Definition: ddl0loader.cc:289
ddl::Context & m_ctx
DDL context, shared by the loader threads.
Definition: ddl0impl-loader.h:112
dberr_t scan_and_build_indexes() noexcept
Scan and build the indexes.
Definition: ddl0loader.cc:398
bool m_parallel
If true then use parallel scan and index build.
Definition: ddl0impl-loader.h:115
Loader(ddl::Context &ctx) noexcept
Constructor.
Definition: ddl0loader.cc:265
dberr_t
Definition: db0err.h:39
Create Full Text Index with (parallel) merge sort.
DDL buffer infrastructure.
static my_thread_id thread_id
Definition: my_thr_init.cc:63
The general architecture is that the work is done in two phases, roughly the read and write phase.
Definition: btr0load.cc:42
std::vector< Builder *, ut::allocator< Builder * > > Builders
Definition: ddl0impl.h:61
For loading indexes.
Definition: ddl0impl-builder.h:48
DDL context/configuration.
Definition: ddl0ddl.h:321
Builder task.
Definition: ddl0impl-loader.h:47
size_t m_thread_id
Thread state index.
Definition: ddl0impl-loader.h:70
Task()=default
Constructor.
Builder * m_builder
Builder instance.
Definition: ddl0impl-loader.h:67
Task(Builder *builder)
Constructor.
Definition: ddl0impl-loader.h:53
dberr_t operator()() noexcept
Do the operation.
Definition: ddl0builder.cc:2132
Task(Builder *builder, size_t thread_id)
Constructor.
Definition: ddl0impl-loader.h:58