RDM::DB::QUERY::join_rows_to_many< table_id, NEXT > Class Template Reference

Template base class for doing a join for one to many. More...

#include "rdm_db_query.h"

Inheritance diagram for RDM::DB::QUERY::join_rows_to_many< table_id, NEXT >:
Inheritance graph
Collaboration diagram for RDM::DB::QUERY::join_rows_to_many< table_id, NEXT >:
Collaboration graph

Friends

template<RDM_TABLE_ID any_table_id, class ANY_NEXT >
class join_rows_to_many
template<RDM_TABLE_ID any_table_id, class ANY_NEXT >
class join_rows_to_one

Additional Inherited Members

- Public Member Functions inherited from RDM::DB::QUERY::join_rows< table_id, NEXT >
uint8_t * serialize (uint8_t *buffer)
uint8_t * unserialize (uint8_t *buffer)
join_rows ()
~join_rows ()
uint32_t init_tables_to_write_lock (RDM_TABLE_ID *tables)
IDs of the tables where rows are inserted. More...
uint32_t init_tables_to_read_lock (RDM_TABLE_ID *tables)
IDs of the tables where rows are read. More...
RDM_RETCODE init (RDM_DB p_db)
Initialize this object. More...
void reset (void)
Reset this object. More...
RDM_RETCODE fetch_first ()
Fetch the first. More...
RDM_RETCODE fetch_prev ()
Fetch the previous. More...
RDM_RETCODE fetch_next ()
Fetch the next. More...
RDM_RETCODE fetch_last ()
Fetch the last. More...
template<class TARGET_ROW_T >
RDM_RETCODE bind_row (TARGET_ROW_T *target_row, bool *target_all_columns_null=NULL)
Bind a row. More...
- Static Public Member Functions inherited from RDM::DB::QUERY::join_rows< table_id, NEXT >
constexpr static int get_serialize_size (void)
Get the size of a buffer for serialization to hold its state. More...
constexpr static int number_of_tables_to_write_lock (void)
Number of tables where rows are inserted. More...
constexpr static int number_of_tables_to_read_lock (void)
Number of tables where rows are read. More...
- Data Fields inherited from RDM::DB::QUERY::join_rows< table_id, NEXT >
NEXT next
- Protected Member Functions inherited from RDM::DB::QUERY::join_rows< table_id, NEXT >
virtual RDM_RETCODE setup_cursor_for_join (RDM_CURSOR cursor)=0
Set up the cursor for the join. More...
- Protected Attributes inherited from RDM::DB::QUERY::join_rows< table_id, NEXT >
RDM_DB db
RDM_CURSOR cursor
void * target_row
uint32_t target_size
bool * target_all_columns_null
bool outer_join
bool keyed_join
position pos

Detailed Description

template<RDM_TABLE_ID table_id, class NEXT>
class RDM::DB::QUERY::join_rows_to_many< table_id, NEXT >

Template base class for doing a join for one to many.

Don't use this template class directly. Instead, use one of the derived classes.

Template Parameters
table_id The ID of the table
NEXT The class in the chain to fetch data from

Friends And Related Function Documentation

join_rows_to_many

template<RDM_TABLE_ID table_id, class NEXT >
template<RDM_TABLE_ID any_table_id, class ANY_NEXT >
friend class join_rows_to_many
friend

join_rows_to_one

template<RDM_TABLE_ID table_id, class NEXT >
template<RDM_TABLE_ID any_table_id, class ANY_NEXT >
friend class join_rows_to_one
friend

The documentation for this class was generated from the following file: