diff options
author | unknown <monty@donna.mysql.com> | 2000-09-14 02:39:07 +0300 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-09-14 02:39:07 +0300 |
commit | d5964ba20ca4c00a443c185186def44bb90831b3 (patch) | |
tree | 47d3199e561726437875c3247556ac5797525366 /sql/ha_myisammrg.cc | |
parent | 9e37676d7cd9ca30a05025b9fcc3424c4e4a1932 (diff) | |
download | mariadb-git-d5964ba20ca4c00a443c185186def44bb90831b3.tar.gz |
Fixes for MERGE TABLES and HEAP tables
Docs/manual.texi:
Updated MERGE table stuff + more
extra/perror.c:
Added missing error messages
include/myisammrg.h:
Fixes for MERGE TABLE
include/queues.h:
Fixes for MERGE TABLE
isam/isamlog.c:
Fixed hard bug
myisam/mi_log.c:
cleanup
myisam/mi_open.c:
Fixed file name format in myisam log
myisam/myisamlog.c:
Bug fixes
myisammrg/mymrgdef.h:
Fixes for MERGE TABLE
myisammrg/myrg_create.c:
Fixes for MERGE TABLE
myisammrg/myrg_open.c:
Fixes for MERGE TABLE
myisammrg/myrg_queue.c:
Fixes for MERGE TABLE
myisammrg/myrg_rfirst.c:
Fixes for MERGE TABLE
myisammrg/myrg_rkey.c:
Fixes for MERGE TABLE
myisammrg/myrg_rlast.c:
Fixes for MERGE TABLE
myisammrg/myrg_rnext.c:
Fixes for MERGE TABLE
myisammrg/myrg_rprev.c:
Fixes for MERGE TABLE
myisammrg/myrg_rrnd.c:
Fixes for MERGE TABLE
mysql.proj:
update
mysys/queues.c:
Fixed bug when using reverse queues
sql-bench/test-insert.sh:
Separated some things to get better timings
sql/ha_heap.cc:
Fixed heap table bug
sql/ha_heap.h:
Fixed heap table bug
sql/ha_myisam.h:
Fixed wrong max_keys
sql/ha_myisammrg.cc:
Fixed MERGE TABLES
sql/ha_myisammrg.h:
Fixed MERGE TABLES
sql/handler.h:
Fix for MERGE TABLES and HEAP tables
sql/lex.h:
Fixed MERGE TABLES
sql/mysql_priv.h:
Cleanup of code
sql/sql_acl.cc:
Fixed that privilege tables are flushed at start
sql/sql_lex.h:
Fixed MERGE TABLES
sql/sql_parse.cc:
Fixed MERGE TABLES
sql/sql_select.cc:
Fixes for HEAP tables
sql/sql_table.cc:
Cleanup
sql/sql_yacc.yy:
Fixed MERGE TABLES
Diffstat (limited to 'sql/ha_myisammrg.cc')
-rw-r--r-- | sql/ha_myisammrg.cc | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sql/ha_myisammrg.cc b/sql/ha_myisammrg.cc index 4e6a1f19583..45822444527 100644 --- a/sql/ha_myisammrg.cc +++ b/sql/ha_myisammrg.cc @@ -180,11 +180,7 @@ void ha_myisammrg::info(uint flag) mean_rec_length=info.reclength; block_size=0; update_time=0; -#if SIZEOF_OFF_T > 4 ref_length=6; // Should be big enough -#else - ref_length=4; -#endif } @@ -228,6 +224,16 @@ THR_LOCK_DATA **ha_myisammrg::store_lock(THD *thd, int ha_myisammrg::create(const char *name, register TABLE *form, HA_CREATE_INFO *create_info) { - char buff[FN_REFLEN]; - return myrg_create(fn_format(buff,name,"","",2+4+16),0); + char buff[FN_REFLEN],**table_names,**pos; + TABLE_LIST *tables= (TABLE_LIST*) create_info->merge_list.first; + DBUG_ENTER("ha_myisammrg::create"); + + if (!(table_names= (char**) sql_alloc((create_info->merge_list.elements+1)* + sizeof(char*)))) + DBUG_RETURN(1); + for (pos=table_names ; tables ; tables=tables->next) + *pos++= tables->real_name; + *pos=0; + DBUG_RETURN(myrg_create(fn_format(buff,name,"","",2+4+16), + (const char **) table_names, (my_bool) 0)); } |