Drizzled Public API Documentation

drizzled::table_reference_st Struct Reference

Public Attributes

bool key_err
 
uint32_t key_parts
 
uint32_t key_length
 
int32_t key
 
unsigned char * key_buff
 
unsigned char * key_buff2
 
StoredKey ** key_copy
 
Item ** items
 
bool ** cond_guards
 
key_part_map null_rejecting
 
table_map depend_map
 
unsigned char * null_ref_key
 
bool disable_cache
 

Detailed Description

Definition at line 35 of file table_reference.h.

Member Data Documentation

bool** drizzled::table_reference_st::cond_guards

Array of pointers to trigger variables. Some/all of the pointers may be NULL. The ref access can be used iff

for each used key part i, (!cond_guards[i] || *cond_guards[i])

This array is used by subquery code. The subquery code may inject triggered conditions, i.e. conditions that can be 'switched off'. A ref access created from such condition is not valid when at least one of the underlying conditions is switched off (see subquery code for more details)

Definition at line 70 of file table_reference.h.

table_map drizzled::table_reference_st::depend_map

Table depends on these tables.

Definition at line 76 of file table_reference.h.

Referenced by drizzled::update_depend_map().

bool drizzled::table_reference_st::disable_cache

true <=> disable the "cache" as doing lookup with the same key value may produce different results (because of Index Condition Pushdown)

Definition at line 83 of file table_reference.h.

Item** drizzled::table_reference_st::items

val()'s for each keypart

Definition at line 58 of file table_reference.h.

Referenced by drizzled::add_ref_to_table_cond(), drizzled::eq_ref_table(), and drizzled::update_depend_map().

unsigned char* drizzled::table_reference_st::key_buff
unsigned char* drizzled::table_reference_st::key_buff2

key_buff+key_length

Definition at line 56 of file table_reference.h.

StoredKey** drizzled::table_reference_st::key_copy

No idea what this does...

Definition at line 57 of file table_reference.h.

uint32_t drizzled::table_reference_st::key_length

length of key_buff

Definition at line 53 of file table_reference.h.

Referenced by drizzled::find_key_for_maxmin(), and drizzled::matching_cond().

unsigned char* drizzled::table_reference_st::null_ref_key

null byte position in the key_buf. Used for REF_OR_NULL optimization

Definition at line 78 of file table_reference.h.

Referenced by drizzled::join_read_always_key_or_null().

key_part_map drizzled::table_reference_st::null_rejecting

(null_rejecting & (1<<i)) means the condition is '=' and no matching rows will be produced if items[i] IS NULL (see add_not_null_conds())

Definition at line 75 of file table_reference.h.


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