Public Member Functions | |
Temporary (const identifier::Table::Type type_arg, const identifier::Table &identifier, char *path_arg, uint32_t path_length_arg) | |
virtual const TableShare * | getShare () const |
virtual TableShare * | getMutableShare () |
virtual bool | hasShare () const |
virtual void | setShare (TableShare *new_share) |
void | release (void) |
Field ** | getFields () const |
Field * | getField (uint32_t arg) const |
void | setFields (Field **arg) |
void | setFieldAt (Field *arg, uint32_t arg_pos) |
Table * | getNext () const |
Table ** | getNextPtr () |
void | setNext (Table *arg) |
void | unlink () |
Table * | getPrev () const |
Table ** | getPrevPtr () |
void | setPrev (Table *arg) |
Session * | getSession () |
unsigned char * | getInsertRecord () const |
unsigned char * | getUpdateRecord () |
const char * | getAlias () const |
void | clearAlias () |
void | setAlias (const char *arg) |
memory::Root * | getMemRoot () |
void * | alloc_root (size_t arg) |
char * | strmake_root (const char *str_arg, size_t len_arg) |
int | report_error (int error) |
int | delete_table (bool free_share=false) |
void | resetTable (Session *session, TableShare *share, uint32_t db_stat_arg) |
uint32_t | sizeKeys () |
uint32_t | sizeFields () |
uint32_t | getRecordLength () const |
uint32_t | sizeBlobFields () |
uint32_t * | getBlobField () |
virtual bool | hasVariableWidth () const |
virtual void | setVariableWidth (void) |
Field_blob * | getBlobFieldAt (uint32_t arg) const |
uint8_t | getBlobPtrSize () const |
uint32_t | getNullBytes () const |
uint32_t | getNullFields () const |
unsigned char * | getDefaultValues () |
const char * | getSchemaName () const |
const char * | getTableName () const |
bool | isDatabaseLowByteFirst () const |
bool | isNameLock () const |
uint32_t | index_flags (uint32_t idx) const |
plugin::StorageEngine * | getEngine () const |
Cursor & | getCursor () const |
size_t | max_row_length (const unsigned char *data) |
uint32_t | find_shortest_key (const key_map *usable_keys) |
bool | compare_record (Field **ptr) |
bool | records_are_comparable () |
bool | compare_records () |
void | storeRecord () |
void | storeRecordAsInsert () |
void | storeRecordAsDefault () |
void | restoreRecord () |
void | restoreRecordAsDefault () |
void | emptyRecord () |
uint32_t | getDBStat () |
uint32_t | setDBStat () |
bool | fill_item_list (List< Item > *item_list) const |
void | clear_column_bitmaps (void) |
void | prepare_for_position (void) |
void | mark_columns_used_by_index_no_reset (uint32_t index, boost::dynamic_bitset<> &bitmap) |
void | mark_columns_used_by_index_no_reset (uint32_t index) |
void | mark_columns_used_by_index (uint32_t index) |
void | restore_column_maps_after_mark_index () |
void | mark_auto_increment_column (void) |
void | mark_columns_needed_for_update (void) |
void | mark_columns_needed_for_delete (void) |
void | mark_columns_needed_for_insert (void) |
void | column_bitmaps_set (boost::dynamic_bitset<> &read_set_arg, boost::dynamic_bitset<> &write_set_arg) |
void | restore_column_map (const boost::dynamic_bitset<> &old) |
const boost::dynamic_bitset | use_all_columns (boost::dynamic_bitset<> &map) |
void | use_all_columns () |
void | default_column_bitmaps () |
bool | isReadSet (uint32_t index) const |
void | setReadSet (uint32_t index) |
void | setReadSet () |
void | clearReadSet (uint32_t index) |
void | clearReadSet () |
bool | isWriteSet (uint32_t index) |
void | setWriteSet (uint32_t index) |
void | setWriteSet () |
void | clearWriteSet (uint32_t index) |
void | clearWriteSet () |
bool | is_name_opened () |
bool | needs_reopen_or_name_lock () const |
void | setup_table_map (TableList *table_list, uint32_t tablenr) |
void | mark_as_null_row () |
void | free_io_cache () |
void | filesort_free_buffers (bool full=false) |
void | intern_close_table () |
void | print_error (int error, myf errflag) const |
uint32_t | get_dup_key (int error) const |
bool | operator< (const Table &right) const |
virtual bool | isPlaceHolder (void) const |
Static Public Member Functions | |
static bool | compare (const Table *a, const Table *b) |
Public Attributes | |
Cursor * | cursor |
boost::dynamic_bitset * | read_set |
boost::dynamic_bitset * | write_set |
uint32_t | tablenr |
uint32_t | db_stat |
boost::dynamic_bitset | def_read_set |
boost::dynamic_bitset | def_write_set |
boost::dynamic_bitset | tmp_set |
Session * | in_use |
unsigned char * | record [2] |
std::vector< unsigned char > | insert_values |
KeyInfo * | key_info |
Field * | next_number_field |
Field * | found_next_number_field |
field::Epoch * | timestamp_field |
TableList * | pos_in_table_list |
Order * | group |
unsigned char * | null_flags |
uint32_t | lock_position |
uint32_t | lock_data_start |
uint32_t | lock_count |
uint32_t | used_fields |
uint32_t | status |
uint32_t | derived_select_number |
int | current_lock |
bool | copy_blobs |
bool | maybe_null |
bool | null_row |
bool | force_index |
bool | distinct |
bool | const_table |
bool | no_rows |
bool | key_read |
bool | no_keyread |
bool | open_placeholder |
bool | locked_by_name |
bool | no_cache |
bool | auto_increment_field_not_null |
bool | alias_name_used |
query_id_t | query_id |
ha_rows | quick_condition_rows |
timestamp_auto_set_type | timestamp_field_type |
table_map | map |
ID bit of table (1,2,4,8,16...) | |
RegInfo | reginfo |
key_map | covering_keys |
key_map | quick_keys |
key_map | merge_keys |
key_map | keys_in_use_for_query |
key_map | keys_in_use_for_group_by |
key_map | keys_in_use_for_order_by |
ha_rows | quick_rows [MAX_KEY] |
key_part_map | const_key_parts [MAX_KEY] |
uint32_t | quick_key_parts [MAX_KEY] |
uint32_t | quick_n_ranges [MAX_KEY] |
filesort_info | sort |
Private Attributes | |
instance::Singular * | _share |
Friends | |
std::ostream & | operator<< (std::ostream &output, const Table &table) |
Definition at line 29 of file temporary.h.
bool drizzled::Table::compare_records | ( | ) | [inherited] |
Compares the input and outbut record buffers of the table to see if a row has changed. The algorithm iterates over updated columns and if they are nullable compares NULL bits in the buffer before comparing actual data. Special care must be taken to compare only the relevant NULL bits and mask out all others as they may be undefined. The storage engine will not and should not touch them.
table | The table to evaluate. |
Definition at line 1476 of file table.cc.
References drizzled::Field::null_bit, and drizzled::Field::null_ptr.
Referenced by drizzled::update_query().
int drizzled::Table::delete_table | ( | bool | free_share = false | ) | [inherited] |
Free information allocated by openfrm
If | true if we also want to free table_share |
Definition at line 78 of file table.cc.
Referenced by drizzled::plugin::StorageEngine::createTable().
bool drizzled::Table::fill_item_list | ( | List< Item > * | item_list | ) | const [inherited] |
Create Item_field for each column in the table.
[out] | a | pointer to an empty list used to store items |
Create Item_field object for each column in the table and initialize it with the corresponding Field. New items are created in the current Session memory root.
false | on success |
true | when out of memory |
uint32_t drizzled::Table::get_dup_key | ( | int | error | ) | const [inline, inherited] |
Definition at line 587 of file table.h.
Referenced by drizzled::end_unique_update(), drizzled::prepare_record_for_error_message(), and drizzled::plugin::StorageEngine::print_error().
bool drizzled::Table::records_are_comparable | ( | ) | [inherited] |
True if the table's input and output record buffers are comparable using compare_records(TABLE*).
Definition at line 1457 of file table.cc.
Referenced by drizzled::update_query().
int drizzled::Table::report_error | ( | int | error | ) | [inherited] |
Help function when we get some an error from the table Cursor.
Definition at line 1645 of file table.cc.
Referenced by drizzled::join_read_const(), and drizzled::join_read_last_key().
void drizzled::Table::setup_table_map | ( | TableList * | table_list, |
uint32_t | tablenr | ||
) | [inherited] |
clean/setup table fields and map.
table | Table structure pointer (which should be setup) |
table_list | TableList structure pointer (owner of Table) |
tablenr | table number |
Definition at line 1665 of file table.cc.
References drizzled::TableList::force_index, drizzled::Table::map, and drizzled::TableList::outer_join.
Pointer to the shared metadata about the table
Definition at line 31 of file temporary.h.
bool drizzled::Table::copy_blobs [inherited] |
Should blobs by copied when storing?
Definition at line 198 of file table.h.
Referenced by drizzled::field_conv().
int drizzled::Table::current_lock [inherited] |
Cursor* drizzled::Table::cursor [inherited] |
Pointer to the storage engine's Cursor managing this table
Definition at line 88 of file table.h.
Referenced by drizzled::alter_table_manage_keys(), drizzled::best_access_path(), drizzled::calc_used_field_length(), drizzled::select_union::cleanup(), drizzled::Join::cleanup(), drizzled::delete_query(), drizzled::do_select(), drizzled::end_unique_update(), drizzled::end_update(), drizzled::Join::exec(), drizzled::FileSort::find_all_keys(), drizzled::find_key_for_maxmin(), drizzled::Session::free_cached_table(), drizzled::Session::get_lock_data(), drizzled::get_sweep_read_cost(), drizzled::optimizer::UniqueIndex::getStats(), drizzled::optimizer::Index::getStats(), drizzled::optimizer::Scan::getStats(), drizzled::optimizer::Const::getStats(), drizzled::subselect_hash_sj_engine::init_permanent(), drizzled::ReadRecord::init_read_record_idx(), drizzled::insert_query(), drizzled::internal_alter_table(), drizzled::join_read_const(), drizzled::join_read_last_key(), drizzled::make_join_readinfo(), drizzled::make_join_statistics(), drizzled::Session::mark_used_tables_as_free_for_reuse(), drizzled::optimize_keyuse(), drizzled::prepare_alter_table(), drizzled::prepare_record_for_error_message(), drizzled::remove_dup_with_hash_index(), drizzled::Join::rollup_write_data(), drizzled::FileSort::run(), drizzled::test_if_order_by_key(), drizzled::test_if_skip_sort_order(), and drizzled::update_query().
uint32_t drizzled::Table::db_stat [inherited] |
information about the cursor as in Cursor.h
Definition at line 137 of file table.h.
Referenced by drizzled::Session::close_old_data_files(), drizzled::Session::free_cached_table(), drizzled::Session::get_lock_data(), and drizzled::Cursor::ha_open().
boost::dynamic_bitset drizzled::Table::def_read_set [inherited] |
boost::dynamic_bitset drizzled::Table::def_write_set [inherited] |
Field* drizzled::Table::found_next_number_field [inherited] |
Points to the "next-number" field (autoincrement field)
Definition at line 163 of file table.h.
Referenced by ha_innobase::doUpdateRecord(), ha_innobase::info(), ha_innobase::innobase_initialize_autoinc(), drizzled::insert_query(), and drizzled::prepare_alter_table().
Session* drizzled::Table::in_use [inherited] |
Pointer to the current session using this object
Definition at line 143 of file table.h.
Referenced by drizzled::Session::abortLockForThread(), drizzled::Field_num::check_int(), ha_innobase::close(), drizzled::StoredKey::copy(), ha_innobase::doOpen(), drizzled::field_conv(), drizzled::Session::free_cached_table(), drizzled::Cursor::ha_delete_all_rows(), drizzled::Cursor::ha_release_auto_increment(), ha_innobase::info(), drizzled::Session::lock_table_name(), drizzled::log_row_for_replication(), drizzled::set_field_to_null_with_conversions(), drizzled::Field::set_warning(), drizzled::Cursor::setTransactionReadWrite(), drizzled::Field_decimal::store(), drizzled::Field_date::store_time(), drizzled::store_val_in_field(), and drizzled::Item_field::update_null_value().
KeyInfo* drizzled::Table::key_info [inherited] |
data of keys in database
Definition at line 161 of file table.h.
Referenced by drizzled::add_ref_to_table_cond(), drizzled::best_access_path(), ha_innobase::cmp_ref(), create_index(), InnobaseEngine::doCreateTable(), ha_innobase::doOpen(), drizzled::end_update(), drizzled::find_key_for_maxmin(), drizzled::Cursor::index_only_read_time(), ha_innobase::info(), drizzled::subselect_hash_sj_engine::init_permanent(), innobase_build_index_translation(), ha_innobase::innobase_get_index(), innobase_get_mysql_key_number_for_index(), drizzled::key_cmp_if_same(), drizzled::list_contains_unique_index(), drizzled::make_join_readinfo(), drizzled::make_join_statistics(), drizzled::prepare_alter_table(), drizzled::plugin::StorageEngine::print_error(), drizzled::Cursor::read_range_first(), ha_innobase::records_in_range(), ha_innobase::store_key_val_for_row(), drizzled::test_if_order_by_key(), drizzled::test_if_skip_sort_order(), drizzled::test_if_subkey(), and drizzled::update_const_equal_items().
uint32_t drizzled::Table::lock_count [inherited] |
Number of locks
Definition at line 192 of file table.h.
Referenced by drizzled::Session::close_old_data_files(), drizzled::Session::get_lock_data(), and drizzled::Session::unlockReadTables().
uint32_t drizzled::Table::lock_data_start [inherited] |
Start pos. in DRIZZLE_LOCK.locks
Definition at line 191 of file table.h.
Referenced by drizzled::Session::get_lock_data(), and drizzled::Session::unlockReadTables().
uint32_t drizzled::Table::lock_position [inherited] |
Position in DRIZZLE_LOCK.table
Definition at line 190 of file table.h.
Referenced by drizzled::Session::get_lock_data(), and drizzled::Session::unlockReadTables().
Field* drizzled::Table::next_number_field [inherited] |
Set if next_number is activated. What the heck is the difference between this and the next member?
Definition at line 162 of file table.h.
Referenced by ha_innobase::doInsertRecord(), ha_innobase::doUpdateRecord(), drizzled::insert_query(), and drizzled::set_field_to_null_with_conversions().
ha_rows drizzled::Table::quick_condition_rows [inherited] |
Estimate of number of records that satisfy SARGable part of the table condition, or table->cursor->records if no SARGable condition could be constructed. This value is used by join optimizer as an estimate of number of records that will pass the table condition (condition that depends on fields of this table and constants)
Definition at line 275 of file table.h.
Referenced by drizzled::best_access_path(), drizzled::make_join_statistics(), and drizzled::test_if_skip_sort_order().
unsigned char* drizzled::Table::record[2] [inherited] |
Pointer to "records"
Definition at line 159 of file table.h.
Referenced by drizzled::dump_leaf_key(), drizzled::Item_default_value::fix_fields(), drizzled::Item_insert_value::fix_fields(), drizzled::group_concat_key_cmp_with_distinct(), and drizzled::group_concat_key_cmp_with_order().
field::Epoch* drizzled::Table::timestamp_field [inherited] |
Points to the auto-setting timestamp field, if any
Definition at line 164 of file table.h.
Referenced by drizzled::CreateField::CreateField(), and drizzled::update_query().