1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Merge with 4.0

BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-apply-patch:
  Delete: netware/BUILD/apply-patch
BitKeeper/deleted/.del-save-patch:
  Delete: netware/BUILD/save-patch
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
  Auto merged
BitKeeper/triggers/post-commit:
  Auto merged
VC++Files/mysys/mysys.dsp:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
extra/resolveip.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/include/os0thread.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/thr/thr0loc.c:
  Auto merged
libmysql/manager.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_extra.c:
  Auto merged
myisam/mi_locking.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/rpl_reset_slave.test:
  Auto merged
mysql-test/t/rpl_trunc_binlog.test:
  Auto merged
mysys/Makefile.am:
  Auto merged
mysys/errors.c:
  Auto merged
mysys/my_symlink.c:
  Auto merged
mysys/my_thr_init.c:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/unireg.h:
  Auto merged
client/mysqldump.c:
  merge with 4.0 (quoted names)
configure.in:
  use local file
include/my_pthread.h:
  Use local file
innobase/include/srv0srv.h:
  Use local file
innobase/row/row0sel.c:
  Use local file
innobase/srv/srv0srv.c:
  Use local file
libmysql/libmysql.c:
  Use local file
myisam/myisamchk.c:
  merge fixes
mysql-test/r/func_crypt.result:
  update results
mysql-test/r/order_by.result:
  update results
mysql-test/r/query_cache.result:
  update results
mysql-test/r/range.result:
  update results
mysql-test/r/rpl_reset_slave.result:
  update results
mysql-test/r/rpl_trunc_binlog.result:
  update results
mysql-test/t/func_crypt.test:
  Added disable_warnings/enable warnings
mysql-test/t/query_cache.test:
  merge tests
mysql-test/t/range.test:
  merge tests
mysys/charset.c:
  use local file (will merge patch separately)
sql/ha_innodb.cc:
  use local file
sql/log_event.cc:
  new slave_proxy_id handling
sql/slave.h:
  merge
sql/sql_base.cc:
  merge
sql/sql_parse.cc:
  Fixes for counting user connect resourses
  Added function comments for involved functions
sql/sql_select.cc:
  Fix for not doing sort with LIMIT when OPTION_FOUND_ROWS is used
sql/unireg.cc:
  merge fixes
support-files/mysql.server.sh:
  merge fixes
This commit is contained in:
unknown
2003-11-04 09:40:36 +02:00
67 changed files with 882 additions and 199 deletions

View File

@ -2761,11 +2761,33 @@ my_bool Query_cache::move_by_type(byte **border,
relink(block, new_block, next, prev, pnext, pprev);
if (queries_blocks == block)
queries_blocks = new_block;
Query_cache_block_table *beg_of_table_table= block->table(0),
*end_of_table_table= block->table(n_tables);
byte *beg_of_new_table_table= (byte*) new_block->table(0);
for (TABLE_COUNTER_TYPE j=0; j < n_tables; j++)
{
Query_cache_block_table *block_table = new_block->table(j);
block_table->next->prev = block_table;
block_table->prev->next = block_table;
// use aligment from begining of table if 'next' is in same block
if ((beg_of_table_table <= block_table->next) &&
(block_table->next < end_of_table_table))
((Query_cache_block_table *)(beg_of_new_table_table +
(((byte*)block_table->next) -
((byte*)beg_of_table_table))))->prev=
block_table;
else
block_table->next->prev= block_table;
// use aligment from begining of table if 'prev' is in same block
if ((beg_of_table_table <= block_table->prev) &&
(block_table->prev < end_of_table_table))
((Query_cache_block_table *)(beg_of_new_table_table +
(((byte*)block_table->prev) -
((byte*)beg_of_table_table))))->next=
block_table;
else
block_table->prev->next = block_table;
}
DBUG_PRINT("qcache", ("after circle tt"));
*border += len;