diff options
author | monty@mashka.mysql.fi <> | 2002-07-23 18:31:22 +0300 |
---|---|---|
committer | monty@mashka.mysql.fi <> | 2002-07-23 18:31:22 +0300 |
commit | dddc20d9d1eea5fd526a2082a43801fed304afe4 (patch) | |
tree | 2e458857fc65791ee553b4cde0e28ef9459050a5 /myisammrg/myrg_extra.c | |
parent | 373e19dca1d209476a15d7d61cb350361c9d6efa (diff) | |
download | mariadb-git-dddc20d9d1eea5fd526a2082a43801fed304afe4.tar.gz |
New SET syntax & system variables.
Made a some new buffers thread specific and changeable.
Resize of key_buffer.
AUTO_COMMIT -> AUTOCOMMIT
Fixed mutex bug in DROP DATABASE
Fixed bug when using auto_increment as second part of a key where first part could include NULL.
Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
Don't write message to error log when slave reconnects becasue of timeout.
Fixed possible update problem when using DELETE/UPDATE on small tables
(In some cases we used index even if table scanning would be better)
A lot of minior code cleanups
Diffstat (limited to 'myisammrg/myrg_extra.c')
-rw-r--r-- | myisammrg/myrg_extra.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/myisammrg/myrg_extra.c b/myisammrg/myrg_extra.c index 5434d30a50e..ad17b0f82f2 100644 --- a/myisammrg/myrg_extra.c +++ b/myisammrg/myrg_extra.c @@ -22,7 +22,8 @@ #include "myrg_def.h" -int myrg_extra(MYRG_INFO *info,enum ha_extra_function function) +int myrg_extra(MYRG_INFO *info,enum ha_extra_function function, + void *extra_arg) { int error,save_error=0; MYRG_TABLE *file; @@ -30,7 +31,11 @@ int myrg_extra(MYRG_INFO *info,enum ha_extra_function function) DBUG_PRINT("info",("function: %d",(ulong) function)); if (function == HA_EXTRA_CACHE) + { info->cache_in_use=1; + info->cache_size= (extra_arg ? *(long*) extra_arg : + my_default_record_cache_size); + } else { if (function == HA_EXTRA_NO_CACHE || function == HA_EXTRA_RESET) @@ -41,12 +46,15 @@ int myrg_extra(MYRG_INFO *info,enum ha_extra_function function) info->last_used_table=info->open_tables; } for (file=info->open_tables ; file != info->end_table ; file++) - if ((error=mi_extra(file->table,function))) + { + if ((error=mi_extra(file->table, function, extra_arg))) save_error=error; + } } DBUG_RETURN(save_error); } + void myrg_extrafunc(MYRG_INFO *info, invalidator_by_filename inv) { MYRG_TABLE *file; |