summaryrefslogtreecommitdiff
path: root/sql/ha_heap.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2003-11-28 12:18:13 +0200
committerunknown <monty@mysql.com>2003-11-28 12:18:13 +0200
commit76bf7d2224287b40ecfd2bac62b2dd45561affb1 (patch)
treee5a58d3f07e9cca109d78031822106ff2be7f6f8 /sql/ha_heap.cc
parent292cb97e964f95498396555d27bee1ef707b8797 (diff)
downloadmariadb-git-76bf7d2224287b40ecfd2bac62b2dd45561affb1.tar.gz
Added missing SSL library (Should be in source distribution)
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler) Added a lot of 'version_xxx' strings to 'show variables' Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris) Fixed problem with printing sub selects to debug log Docs/mysqld_error.txt: Updated error messages Makefile.am: Added missing SSL library (Should be in source distribution) configure.in: Added missing SSL library include/sql_common.h: Move duplicated prototypes innobase/os/os0file.c: Added comment for line that could be removed innobase/srv/srv0srv.c: Added comment for line that could be removed innobase/srv/srv0start.c: Added comment for line that could be removed innobase/trx/trx0sys.c: Added cast to remove compiler warning isam/isamchk.c: Fixed compiler warning libmysql/conf_to_src.c: Include files in proper order myisam/mi_check.c: Removed else part that caused compiler warning myisam/mi_delete.c: Added cast myisam/mi_page.c: Added cast myisam/mi_preload.c: Added cast myisam/mi_write.c: Added cast myisam/myisampack.c: changed 'byte' to 'current_byte' to avoid compiler warnings mysql-test/mysql-test-run.sh: Removed start-from as test '<' is not portable and this can easily be done from command line mysys/hash.c: Added cast mysys/mf_wcomp.c: Removed not reached line mysys/my_append.c: Fixed include file order to get this more portable mysys/my_copy.c: Fixed include file order to get this more portable mysys/my_redel.c: Fixed include file order to get this more portable sql-common/client.c: More DBUG_PRINT sql-common/pack.c: Added casts becasue Fortre compiler apparently compares (ulonglong) < (longlong) as signed sql/ha_heap.cc: Changed variable names to not cause hidden variables sql/ha_innodb.cc: Changed variable names to not cause hidden variables sql/item.cc: Changed variable names to not cause hidden variables sql/item.h: Changed variable names to not cause hidden variables sql/item_cmpfunc.h: Changed variable names to not cause hidden variables sql/item_func.cc: Changed variable names to not cause hidden variables sql/item_subselect.cc: Changed variable names to not cause hidden variables sql/item_subselect.h: Changed variable names to not cause hidden variables sql/item_sum.cc: Changed variable names to not cause hidden variables sql/item_timefunc.cc: Changed variable names to not cause hidden variables sql/log.cc: Changed variable names to not cause hidden variables sql/protocol.cc: Changed variable names to not cause hidden variables sql/protocol.h: Changed variable names to not cause hidden variables Remove function not declared in protocol.cc sql/protocol_cursor.cc: Changed variable names to not cause hidden variables sql/set_var.cc: Added a lot of 'version_xxx' strings Changed 'bdb_version' to 'version_bdb' sql/sql_class.cc: Changed variable names to not cause hidden variables Add TMP_TABLE_PARAM::init() to allow one to initialize structure several times sql/sql_class.h: Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris) sql/sql_derived.cc: Avoid copying TMP_TABLE_PARAM (Use class version instead) sql/sql_error.cc: More DBUG sql/sql_help.cc: Fixed compiler warning sql/sql_lex.cc: Changed variable names to not cause hidden variables sql/sql_list.h: Changed variable names to not cause hidden variables sql/sql_parse.cc: Changed variable names to not cause hidden variables sql/sql_select.cc: Changed variable names to not cause hidden variables Ensure that you don't send NULL to printf() for %s Fixed problem with printing sub selects to debug log sql/sql_select.h: Changed variable names to not cause hidden variables sql/sql_union.cc: Changed variable names to not cause hidden variables Don't use local copy of TMP_TABLE_PARAM (Caused core dump on Solaris) sql/sql_update.cc: Indentation cleanup sql/sql_yacc.yy: Remove warning strings/conf_to_src.c: Fixed include file order
Diffstat (limited to 'sql/ha_heap.cc')
-rw-r--r--sql/ha_heap.cc29
1 files changed, 16 insertions, 13 deletions
diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc
index fb4061b31e0..ae0267b98f3 100644
--- a/sql/ha_heap.cc
+++ b/sql/ha_heap.cc
@@ -248,7 +248,8 @@ ha_rows ha_heap::records_in_range(int inx,
}
}
-int ha_heap::create(const char *name, TABLE *table,
+
+int ha_heap::create(const char *name, TABLE *table_arg,
HA_CREATE_INFO *create_info)
{
uint key, parts, mem_per_row= 0;
@@ -259,17 +260,17 @@ int ha_heap::create(const char *name, TABLE *table,
char buff[FN_REFLEN];
int error;
- for (key= parts= 0; key < table->keys; key++)
- parts+= table->key_info[key].key_parts;
+ for (key= parts= 0; key < table_arg->keys; key++)
+ parts+= table_arg->key_info[key].key_parts;
- if (!(keydef= (HP_KEYDEF*) my_malloc(table->keys * sizeof(HP_KEYDEF) +
+ if (!(keydef= (HP_KEYDEF*) my_malloc(table_arg->keys * sizeof(HP_KEYDEF) +
parts * sizeof(HA_KEYSEG),
MYF(MY_WME))))
return my_errno;
- seg= my_reinterpret_cast(HA_KEYSEG*) (keydef + table->keys);
- for (key= 0; key < table->keys; key++)
+ seg= my_reinterpret_cast(HA_KEYSEG*) (keydef + table_arg->keys);
+ for (key= 0; key < table_arg->keys; key++)
{
- KEY *pos= table->key_info+key;
+ KEY *pos= table_arg->key_info+key;
KEY_PART_INFO *key_part= pos->key_part;
KEY_PART_INFO *key_part_end= key_part + pos->key_parts;
@@ -303,7 +304,7 @@ int ha_heap::create(const char *name, TABLE *table,
if (field->null_ptr)
{
seg->null_bit= field->null_bit;
- seg->null_pos= (uint) (field->null_ptr - (uchar*) table->record[0]);
+ seg->null_pos= (uint) (field->null_ptr - (uchar*) table_arg->record[0]);
}
else
{
@@ -317,7 +318,7 @@ int ha_heap::create(const char *name, TABLE *table,
}
}
}
- mem_per_row+= MY_ALIGN(table->reclength + 1, sizeof(char*));
+ mem_per_row+= MY_ALIGN(table_arg->reclength + 1, sizeof(char*));
max_rows = (ha_rows) (current_thd->variables.max_heap_table_size /
mem_per_row);
HP_CREATE_INFO hp_create_info;
@@ -326,10 +327,11 @@ int ha_heap::create(const char *name, TABLE *table,
hp_create_info.auto_increment= (create_info->auto_increment_value ?
create_info->auto_increment_value - 1 : 0);
error= heap_create(fn_format(buff,name,"","",4+2),
- table->keys,keydef, table->reclength,
- (ulong) ((table->max_rows < max_rows && table->max_rows) ?
- table->max_rows : max_rows),
- (ulong) table->min_rows, &hp_create_info);
+ table_arg->keys,keydef, table_arg->reclength,
+ (ulong) ((table_arg->max_rows < max_rows &&
+ table_arg->max_rows) ?
+ table_arg->max_rows : max_rows),
+ (ulong) table_arg->min_rows, &hp_create_info);
my_free((gptr) keydef, MYF(0));
if (file)
info(HA_STATUS_NO_LOCK | HA_STATUS_CONST | HA_STATUS_VARIABLE);
@@ -337,6 +339,7 @@ int ha_heap::create(const char *name, TABLE *table,
return (error);
}
+
void ha_heap::update_create_info(HA_CREATE_INFO *create_info)
{
table->file->info(HA_STATUS_AUTO);