31#ifndef ddl0impl_loader_h
32#define ddl0impl_loader_h
Unbounded task queue.
Definition: ddl0loader.cc:45
Build indexes on a table by reading a clustered index, creating a temporary file containing index ent...
Definition: ddl0impl-loader.h:43
dberr_t build_all() noexcept
Build the read instance.
Definition: ddl0loader.cc:476
bool validate_indexes() const noexcept
Validate the indexes (except FTS).
Definition: ddl0loader.cc:508
Builders m_builders
Index builders.
Definition: ddl0impl-loader.h:123
dberr_t prepare() noexcept
Prepare to build and load the indexes.
Definition: ddl0loader.cc:365
~Loader() noexcept
Destructor.
Definition: ddl0loader.cc:266
size_t m_io_buffer_size
IO buffer size.
Definition: ddl0impl-loader.h:120
size_t m_sort_buffer_size
Sort buffer size.
Definition: ddl0impl-loader.h:117
Task_queue * m_taskq
Task queue.
Definition: ddl0impl-loader.h:126
void add_task(Task task) noexcept
Add a task to the task queue.
Definition: ddl0loader.cc:286
dberr_t load() noexcept
Load the indexes.
Definition: ddl0loader.cc:288
ddl::Context & m_ctx
DDL context, shared by the loader threads.
Definition: ddl0impl-loader.h:111
dberr_t scan_and_build_indexes() noexcept
Scan and build the indexes.
Definition: ddl0loader.cc:397
bool m_parallel
If true then use parallel scan and index build.
Definition: ddl0impl-loader.h:114
Loader(ddl::Context &ctx) noexcept
Constructor.
Definition: ddl0loader.cc:264
dberr_t
Definition: db0err.h:38
Create Full Text Index with (parallel) merge sort.
DDL buffer infrastrucure.
static my_thread_id thread_id
Definition: my_thr_init.cc:62
The general architecture is that the work is done in two phases, roughly the read and write phase.
Definition: btr0load.cc:41
std::vector< Builder *, ut::allocator< Builder * > > Builders
Definition: ddl0impl.h:60
For loading indexes.
Definition: ddl0impl-builder.h:47
DDL context/configuration.
Definition: ddl0ddl.h:320
Builder task.
Definition: ddl0impl-loader.h:46
size_t m_thread_id
Thread state index.
Definition: ddl0impl-loader.h:69
Task()=default
Constructor.
Builder * m_builder
Builder instance.
Definition: ddl0impl-loader.h:66
Task(Builder *builder)
Constructor.
Definition: ddl0impl-loader.h:52
dberr_t operator()() noexcept
Do the operation.
Definition: ddl0builder.cc:2084
Task(Builder *builder, size_t thread_id)
Constructor.
Definition: ddl0impl-loader.h:57