32#ifndef ddl0impl_cursor_h 
   33#define ddl0impl_cursor_h 
   57  virtual void open() noexcept = 0;
 
   72                                         Row &row) noexcept = 0;
 
   99  [[nodiscard]] 
virtual bool eof() const noexcept = 0;
 
const char * p
Definition: ctype-mb.cc:1227
 
dberr_t
Definition: db0err.h:39
 
@ DB_OUT_OF_MEMORY
Definition: db0err.h:49
 
@ DB_SUCCESS
Definition: db0err.h:43
 
Create Full Text Index with (parallel) merge sort.
 
DDL implementation include file.
 
static my_thread_id thread_id
Definition: my_thr_init.cc:60
 
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
 
byte[UNIV_PAGE_SIZE_MAX] mrec_buf_t
Secondary buffer for I/O operations of merge records.
Definition: ddl0ddl.h:72
 
static Value err()
Create a Value object that represents an error condition.
Definition: json_binary.cc:924
 
void * malloc_withkey(PSI_memory_key_t key, std::size_t size) noexcept
Dynamically allocates storage of given size.
Definition: ut0new.h:598
 
void free(void *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::malloc*(),...
Definition: ut0new.h:719
 
Heap wrapper that destroys the heap instance when it goes out of scope.
Definition: mem0mem.h:439
 
void create(size_t n, ut::Location location) noexcept
Create the heap, it must not already be created.
Definition: mem0mem.h:457
 
Type * get() noexcept
Definition: mem0mem.h:468
 
DDL context/configuration.
Definition: ddl0ddl.h:360
 
Cursor for reading the data.
Definition: ddl0impl-cursor.h:41
 
static Cursor * create_cursor(ddl::Context &ctx) noexcept
Create a cluster index scan cursor.
Definition: ddl0par-scan.cc:415
 
std::function< dberr_t()> Post_row
Definition: ddl0impl-cursor.h:42
 
virtual bool eof() const noexcept=0
 
virtual ~Cursor() noexcept
Destructor.
Definition: ddl0impl-cursor.h:49
 
Cursor(ddl::Context &ctx) noexcept
Constructor.
Definition: ddl0impl-cursor.h:46
 
Scoped_heap m_row_heap
Scoped heap to use for rows.
Definition: ddl0impl-cursor.h:111
 
ddl::Context & m_ctx
DDL context.
Definition: ddl0impl-cursor.h:108
 
dberr_t setup_pk_sort(size_t n_uniq) noexcept
Setup the primary key sort data structures.
Definition: ddl0impl-cursor.h:77
 
virtual dberr_t finish(dberr_t err) noexcept
Do any post processing.
Definition: ddl0ddl.cc:534
 
virtual void open() noexcept=0
Open the cursor.
 
virtual dict_index_t * index() noexcept=0
 
dfield_t * m_prev_fields
Previous fields.
Definition: ddl0impl-cursor.h:117
 
Scoped_heap m_tuple_heap
Scoped heap to use for tuple instances.
Definition: ddl0impl-cursor.h:114
 
virtual dberr_t copy_row(size_t thread_id, Row &row) noexcept=0
Copy the row data, by default only the pointers are copied.
 
virtual dberr_t scan(Builders &builders) noexcept=0
Reads clustered index of the table and create temporary file(s) containing the index entries for the ...
 
Physical row context.
Definition: ddl0impl.h:121
 
Structure for an SQL data field.
Definition: data0data.h:617
 
Data structure for an index.
Definition: dict0mem.h:1041
 
#define UT_LOCATION_HERE
Definition: ut0core.h:73
 
#define UT_NEW_THIS_FILE_PSI_KEY
Definition: ut0new.h:566