summaryrefslogtreecommitdiff
path: root/sql/ha_innobase.h
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2001-02-17 14:19:19 +0200
committerunknown <monty@donna.mysql.com>2001-02-17 14:19:19 +0200
commit2662b59306ef0cd495fa6e2edf7129e58a11393a (patch)
treebfe39951a73e906579ab819bf5198ad8f3a64a36 /sql/ha_innobase.h
parent66de55a56bdcf2f7a9c0c4f8e19b3e761475e202 (diff)
downloadmariadb-git-2662b59306ef0cd495fa6e2edf7129e58a11393a.tar.gz
Added Innobase to source distribution
Docs/manual.texi: Added Innobase documentation configure.in: Incremented version include/my_base.h: Added option for Innobase myisam/mi_check.c: cleanup mysql-test/t/bdb.test: cleanup mysql-test/t/innobase.test: Extended with new tests from bdb.test mysql-test/t/merge.test: Added test of SHOW create mysys/my_init.c: Fix for UNIXWARE 7 scripts/mysql_install_db.sh: Always write how to start mysqld scripts/safe_mysqld.sh: Fixed type sql/ha_innobase.cc: Update to new version sql/ha_innobase.h: Update to new version sql/handler.h: Added 'update_table_comment()' and 'append_create_info()' sql/sql_delete.cc: Fixes for Innobase sql/sql_select.cc: Fixes for Innobase sql/sql_show.cc: Append create information (for MERGE tables) sql/sql_update.cc: Fixes for Innobase
Diffstat (limited to 'sql/ha_innobase.h')
-rw-r--r--sql/ha_innobase.h37
1 files changed, 17 insertions, 20 deletions
diff --git a/sql/ha_innobase.h b/sql/ha_innobase.h
index fc9d4892c9b..43dee4b1aae 100644
--- a/sql/ha_innobase.h
+++ b/sql/ha_innobase.h
@@ -1,18 +1,18 @@
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
&& Innobase Oy
-
+
-This file is modified from ha_berkeley.h of MySQL distribution-
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
@@ -21,10 +21,6 @@
#pragma interface /* gcc class implementation */
#endif
-/* Store the MySQL bool type definition to this defined type:
-inside ha_innobase we use the Innobase definition of the bool type! */
-typedef bool mysql_bool;
-
/* This file defines the Innobase handler: the interface between MySQL and
Innobase */
@@ -39,10 +35,8 @@ typedef struct st_innobase_share {
/* The class defining a handle to an Innobase table */
class ha_innobase: public handler
{
- void* innobase_table_handle; /* (dict_table_t*) pointer to a table
- in Innobase data dictionary cache */
void* innobase_prebuilt; /* (row_prebuilt_t*) prebuilt
- structs in Innobase, used to save
+ struct in Innobase, used to save
CPU */
THD* user_thd; /* the thread handle of the user
currently using the handle; this is
@@ -51,9 +45,6 @@ class ha_innobase: public handler
INNOBASE_SHARE *share;
gptr alloc_ptr;
- byte* rec_buff; /* buffer used in converting
- rows from MySQL format
- to Innobase format */
byte* upd_buff; /* buffer used in updates */
byte* key_val_buff; /* buffer used in converting
search key values from MySQL format
@@ -62,12 +53,15 @@ class ha_innobase: public handler
'ref' buffer of the handle, if any */
ulong int_option_flag;
uint primary_key;
+ ulong start_of_scan; /* this is set to 1 when we are
+ starting a table scan but have not
+ yet fetched any row, else 0 */
uint last_dup_key;
uint last_match_mode;/* match mode of the latest search:
- ROW_SEL_EXACT or
- ROW_SEL_EXACT_PREFIX or undefined */
-
+ ROW_SEL_EXACT, ROW_SEL_EXACT_PREFIX,
+ or undefined */
+
ulong max_row_length(const byte *buf);
uint store_key_val_for_row(uint keynr, char* buff, const byte* record);
@@ -78,16 +72,16 @@ class ha_innobase: public handler
/* Init values for the class: */
public:
ha_innobase(TABLE *table): handler(table),
- rec_buff(0),
int_option_flag(HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER |
HA_REC_NOT_IN_SEQ |
HA_KEYPOS_TO_RNDPOS | HA_LASTKEY_ORDER |
HA_HAVE_KEY_READ_ONLY | HA_READ_NOT_EXACT_KEY |
- HA_LONGLONG_KEYS | HA_NULL_KEY | HA_NO_BLOBS |
+ HA_LONGLONG_KEYS | HA_NULL_KEY |
HA_NOT_EXACT_COUNT |
HA_NO_WRITE_DELAYED |
HA_PRIMARY_KEY_IN_READ_INDEX | HA_DROP_BEFORE_CREATE),
- last_dup_key((uint) -1)
+ last_dup_key((uint) -1),
+ start_of_scan(0)
{
}
~ha_innobase() {}
@@ -145,6 +139,8 @@ class ha_innobase: public handler
int delete_table(const char *name);
int rename_table(const char* from, const char* to);
+ char* update_table_comment(const char* comment);
+
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
enum thr_lock_type lock_type);
};
@@ -157,7 +153,7 @@ extern long innobase_lock_scan_time;
extern long innobase_mirrored_log_groups, innobase_log_files_in_group;
extern long innobase_log_file_size, innobase_log_buffer_size;
extern long innobase_buffer_pool_size, innobase_additional_mem_pool_size;
-extern long innobase_file_io_threads;
+extern long innobase_file_io_threads, innobase_lock_wait_timeout;
extern char *innobase_data_home_dir, *innobase_data_file_path;
extern char *innobase_log_group_home_dir, *innobase_log_arch_dir;
extern bool innobase_flush_log_at_trx_commit, innobase_log_archive,
@@ -168,6 +164,7 @@ extern TYPELIB innobase_lock_typelib;
bool innobase_init(void);
bool innobase_end(void);
bool innobase_flush_logs(void);
+uint innobase_get_free_space(void);
int innobase_commit(THD *thd, void* trx_handle);
int innobase_rollback(THD *thd, void* trx_handle);