Public Member Functions | |
Singular (Session *session, std::list< CreateField > &) | |
TableShare * | getMutableShare () |
void | setShare (TableShare *) |
const TableShare * | getShare () const |
bool | hasShare () const |
void | release () |
bool | hasVariableWidth () const |
bool | create_myisam_tmp_table (KeyInfo *keyinfo, MI_COLUMNDEF *start_recinfo, MI_COLUMNDEF **recinfo, uint64_t options) |
void | setup_tmp_table_column_bitmaps () |
bool | open_tmp_table () |
void | setVariableWidth () |
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 & | mem () |
unsigned char * | alloc (size_t arg) |
char * | strdup (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 () |
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 () const |
void | fill_item_list (List< Item > &) 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 () const |
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 | |
TableShare | _share |
bool | _has_variable_width |
Definition at line 28 of file singular.h.
|
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 1422 of file table.cc.
References drizzled::Field::null_bit, and drizzled::Field::null_ptr.
Referenced by drizzled::update_query().
|
inherited |
Free information allocated by openfrm
If | true if we also want to free table_share |
Definition at line 75 of file table.cc.
Referenced by drizzled::plugin::StorageEngine::createTable().
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 |
Definition at line 1632 of file table.cc.
References drizzled::Table::field.
|
inlineinherited |
Definition at line 556 of file table.h.
Referenced by drizzled::end_unique_update(), drizzled::prepare_record_for_error_message(), and drizzled::plugin::StorageEngine::print_error().
|
inherited |
True if the table's input and output record buffers are comparable using compare_records(TABLE*).
Definition at line 1403 of file table.cc.
Referenced by drizzled::update_query().
|
inherited |
Help function when we get some an error from the table Cursor.
Definition at line 1591 of file table.cc.
Referenced by drizzled::join_read_const(), and drizzled::join_read_last_key().
|
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 1611 of file table.cc.
References drizzled::TableList::force_index, drizzled::Table::map, and drizzled::TableList::outer_join.
|
inherited |
Should blobs by copied when storing?
Definition at line 178 of file table.h.
Referenced by drizzled::create_tmp_table(), and drizzled::field_conv().
|
inherited |
Type of lock on table
Definition at line 177 of file table.h.
Referenced by drizzled::Session::unlock_external().
|
inherited |
Pointer to the storage engine's Cursor managing this table
Definition at line 68 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::create_tmp_table(), 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::Open_tables_state::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_statistics(), 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().
|
inherited |
information about the cursor as in Cursor.h
Definition at line 117 of file table.h.
Referenced by drizzled::Session::close_old_data_files(), drizzled::create_tmp_table(), drizzled::Open_tables_state::free_cached_table(), and drizzled::Session::get_lock_data().
|
inherited |
|
inherited |
|
inherited |
Points to the "next-number" field (autoincrement field)
Definition at line 143 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().
|
inherited |
Pointer to the current session using this object
Definition at line 123 of file table.h.
Referenced by drizzled::Session::abortLockForThread(), drizzled::Field_num::check_int(), ha_innobase::close(), drizzled::StoredKey::copy(), drizzled::create_tmp_table(), ha_innobase::doOpen(), drizzled::field_conv(), drizzled::Open_tables_state::free_cached_table(), ha_innobase::info(), drizzled::Session::lock_table_name(), drizzled::set_field_to_null_with_conversions(), drizzled::Field::set_warning(), drizzled::Field_decimal::store(), drizzled::Field_date::store_time(), drizzled::store_val_in_field(), and drizzled::Item_field::update_null_value().
|
inherited |
data of keys in database
Definition at line 141 of file table.h.
Referenced by drizzled::add_ref_to_table_cond(), drizzled::best_access_path(), ha_innobase::cmp_ref(), create_index(), drizzled::create_tmp_table(), InnobaseEngine::doCreateTable(), ha_innobase::doOpen(), drizzled::end_update(), drizzled::find_key_for_maxmin(), 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_statistics(), drizzled::prepare_alter_table(), drizzled::plugin::StorageEngine::print_error(), 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().
|
inherited |
Number of locks
Definition at line 172 of file table.h.
Referenced by drizzled::Session::close_old_data_files(), drizzled::Session::get_lock_data(), and drizzled::Session::unlockReadTables().
|
inherited |
Start pos. in DRIZZLE_LOCK.locks
Definition at line 171 of file table.h.
Referenced by drizzled::Session::get_lock_data(), and drizzled::Session::unlockReadTables().
|
inherited |
Position in DRIZZLE_LOCK.table
Definition at line 170 of file table.h.
Referenced by drizzled::Session::get_lock_data(), and drizzled::Session::unlockReadTables().
|
inherited |
Set if next_number is activated. What the heck is the difference between this and the next member?
Definition at line 142 of file table.h.
Referenced by ha_innobase::doInsertRecord(), ha_innobase::doUpdateRecord(), drizzled::insert_query(), and drizzled::set_field_to_null_with_conversions().
|
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 255 of file table.h.
Referenced by drizzled::best_access_path(), drizzled::make_join_statistics(), and drizzled::test_if_skip_sort_order().
|
inherited |
Pointer to "records"
Definition at line 139 of file table.h.
Referenced by drizzled::create_tmp_table(), drizzled::dump_leaf_key(), drizzled::Item_insert_value::fix_fields(), drizzled::group_concat_key_cmp_with_distinct(), and drizzled::group_concat_key_cmp_with_order().
|
inherited |
Points to the auto-setting timestamp field, if any
Definition at line 144 of file table.h.
Referenced by drizzled::CreateField::CreateField(), and drizzled::update_query().