Commit graph

1168 commits

Author SHA1 Message Date
unknown
c6de4d1c3b Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


BitKeeper/etc/collapsed:
  auto-union
mysql-test/r/ctype_utf8.result:
  Auto merged
sql/field.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-11-07 12:02:53 +01:00
unknown
6215085143 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysys/my_lock.c:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
configure.in:
  Manual merge
myisam/sort.c:
  Manual merge(double checked)
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/innodb_mysql.test:
  Manual merge
mysys/mf_iocache.c:
  Manual merge
2006-11-03 16:18:32 +01:00
unknown
e1a722b2d3 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint


configure.in:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
myisam/sort.c:
  Manual merge.
mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/t/innodb_mysql.test:
  Manual merge.
mysys/mf_iocache.c:
  Manual merge.
2006-11-02 17:27:42 -05:00
unknown
3e7cae68af Add an extra block to avoid that DBUG_ENTER declare variables after code 2006-10-30 13:08:57 +01:00
unknown
a0efc901bb Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


myisam/mi_open.c:
  Auto merged
sql/slave.cc:
  Auto merged
2006-10-25 17:10:18 +02:00
unknown
d4bfae38ac Merge siva.hindu.god:/usr/home/tim/m/bk/g50
into  siva.hindu.god:/usr/home/tim/m/bk/50


configure.in:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
myisam/sort.c:
  Manual merge
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/innodb_mysql.test:
  Manual merge
2006-10-24 14:42:08 -06:00
unknown
8cc480915f Merge bk-internal:/home/bk/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/myisam.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-20 11:02:56 +02:00
unknown
0153d67e59 Merge bk-internal:/home/bk/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-20 10:57:38 +02:00
unknown
baacb8a13d Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines


myisam/sort.c:
  Auto merged
mysql-test/r/repair.result:
  Auto merged
mysql-test/t/repair.test:
  Auto merged
sql/sql_base.cc:
  Use local.
2006-10-19 18:04:34 +05:00
unknown
d30186772f Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/merge.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-19 14:37:49 +02:00
unknown
9bfaab57fa Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-10-19 14:34:56 +02:00
unknown
48cf65c037 BUG#23175 - MYISAM crash/repair failed during repair
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.

Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.

Also fixed memory leak if thr_find_all_keys returns an error.


myisam/sort.c:
  maxbuffer is number of BUFFPEK-s for repair. It is calculated
  as records / keys. keys is number of keys that can be stored
  in memory (myisam_sort_buffer_size). There must be sufficient
  memory to store both BUFFPEK-s and keys. It was checked
  correctly before this patch. However there is another
  requirement that wasn't checked: there must be sufficient
  memory for at least one key per BUFFPEK, otherwise repair
  by sort/parallel repair cannot operate.
  
  Return an error if there is not sufficient memory to store at
  least one key per BUFFPEK.
  
  Also fixed memory leak if thr_find_all_keys returns an error.
mysql-test/r/repair.result:
  A test case for BUG#23175.
mysql-test/t/repair.test:
  A test case for BUG#23175.
2006-10-18 17:57:29 +05:00
unknown
05d8dc82b4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug8283


include/my_sys.h:
  Auto merged
myisam/myisamdef.h:
  Auto merged
2006-10-11 17:57:47 +02:00
unknown
175209d249 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  example.com:/work/bug23074/my41-bug23074
2006-10-11 13:58:31 +02:00
unknown
92a6bd28fe Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  example.com:/work/bug23074/my50-bug23074
2006-10-11 12:32:18 +02:00
unknown
ca3cafc006 Merge example.com:/work/bug23074/my41-bug23074
into  example.com:/work/bug23074/my50-bug23074


myisam/sort.c:
  Auto merged
2006-10-11 11:14:42 +02:00
unknown
a4a319cf0c Fix a typo regarding checking whether HA_VAR_LENGTH_KEY is
set. This has always worked because when flag is !=0 then
HA_VAR_LENGTH_KEY is always set. Therefore, a test case cannot
reveal a faulty behavior.

Fix for bug#23074: typo in myisam/sort.c


myisam/sort.c:
  fix typo. Nevertheless, it has worked as expected
  because when a bit in flag is set HA_VAR_LENGTH_KEY has
  been always set too. Actually, no problem exposed through
  DDL.
2006-10-11 11:07:25 +02:00
unknown
3daec06dae Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0-rpl.b22052
2006-10-11 12:56:47 +05:00
unknown
91be4f6f0c Merge chilla.local:/home/mydev/mysql-4.1-bug8283-one
into  chilla.local:/home/mydev/mysql-5.0-bug8283


include/my_sys.h:
  Auto merged
include/myisam.h:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/mi_packrec.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
myisam/myisamdef.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Merge from 4.1
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Merge from 4.1
mysys/mf_iocache.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Merge from 4.1
2006-10-09 20:03:12 +02:00
unknown
679b5848f3 Merge chilla.local:/home/mydev/mysql-4.1-bug8283
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one


myisam/mi_check.c:
  Auto merged
myisam/mi_packrec.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Manual merge
mysql-test/t/myisam.test:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Manual merge
2006-10-09 19:40:16 +02:00
unknown
3109da7719 Bug#8283 - OPTIMIZE TABLE causes data loss
OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
parallel repair. This means that it does not only rebuild all 
indexes, but also the data file.

Non-quick parallel repair works so that there is one thread per 
index. The first of the threads rebuilds also the new data file.

The problem was that all threads shared the read io cache on the
old data file. If there were holes (deleted records) in the table,
the first thread skipped them, writing only contiguous, non-deleted
records to the new data file. Then it built the new index so that
its entries pointed to the correct record positions. But the other
threads didn't know the new record positions, but put the positions
from the old data file into the index.

The new design is so that there is a shared io cache which is filled
by the first thread (the data file writer) with the new contiguous
records and read by the other threads. Now they know the new record
positions.

Another problem was that for the parallel repair of compressed
tables a common bit_buff and rec_buff was used. I changed it so
that thread specific buffers are used for parallel repair.

A similar problem existed for checksum calculation. I made this
multi-thread safe too.


include/my_sys.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of io_cache_share.
include/myisam.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of checksum calculation in mi_check.c.
  'calc_checksum' is now in myisamdef.h:st_mi_sort_param.
myisam/mi_check.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Implemented a new parallel repair design.
  Using a synchronized shared read/write cache.
  Allowed for thread specific bit_buff, rec_buff, and calc_checksum.
myisam/mi_open.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added DBUG output.
myisam/mi_packrec.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Allowed for thread specific bit_buff and rec_buff.
myisam/myisamdef.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Commented on checksum calculation variables.
  Allowed for thread specific bit_buff.
  Added DBUG output for better table crash detection.
myisam/sort.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added implications of the new parallel repair design.
  Renamed 'info' -> 'sort_param'.
  Added DBUG output.
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added test results.
mysql-test/t/myisam.test:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added test cases.
mysys/mf_iocache.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of io_cache_share.
  We do now allow a writer to synchronize himself with the
  readers of a shared cache. When all threads join in the lock,
  the writer copies the data from his write buffer to the shared
  read buffer.
2006-10-09 19:26:55 +02:00
unknown
90316529ad Merge mysql.com:/usr/home/bar/mysql-4.1-rpl.b8663
into  mysql.com:/usr/home/bar/mysql-5.0-rpl


myisam/mi_key.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  After merge fix
2006-10-03 14:17:12 +05:00
unknown
de70be9da6 Bug#22052 Trailing spaces are not removed from UNICODE fields in an index
Fix: using charset-aware functions cs->cset->lengthsp() and cs->cset->fill()
  instead of single byte code which is not UCS2 compatible.


myisam/mi_key.c:
  Using character-set aware functions to trim and append spaces.
myisam/mi_open.c:
  Initialize charset for BINARY/VARBINARY to my_charset_bin,
      instead of NULL
mysql-test/r/ctype_ucs.result:
  Adding test case
mysql-test/t/ctype_ucs.test:
  Adding test case
2006-10-03 14:11:57 +05:00
unknown
5d5ef8469a Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
sql/item_func.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2006-10-03 01:01:06 +02:00
unknown
ef5fe1f2b7 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines


BitKeeper/etc/ignore:
  auto-union
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-02 14:52:09 +05:00
unknown
350ec8b198 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-02 14:42:12 +05:00
unknown
602343262f Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  mysql.com:/home/hf/work/21888/my41-21888
2006-10-01 19:04:08 +05:00
unknown
ac579ef893 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/21888/my50-21888
2006-10-01 15:28:50 +05:00
unknown
c681d06f9b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


sql/mysql_priv.h:
  Auto merged
2006-09-29 16:24:21 -04:00
unknown
41773604c7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug22384
2006-09-29 17:17:01 +02:00
unknown
aa9e1c8334 Merge chilla.local:/home/mydev/mysql-5.0--team
into  chilla.local:/home/mydev/mysql-5.0-bug22384
2006-09-29 15:28:38 +02:00
unknown
55aa43fe35 Merge mysql.com:/home/hf/work/21888/my41-21888
into  mysql.com:/home/hf/work/21888/my50-21888


myisam/mi_range.c:
  Auto merged
mysql-test/r/gis-rtree.result:
  Auto merged
mysql-test/t/gis-rtree.test:
  Auto merged
2006-09-29 17:57:16 +05:00
unknown
01fe277cc6 bug #21888 (Query on GEOMETRY field crashes the server)
RTree keys are really different from BTree and need specific
paramters to be set by optimizer to work.
Sometimes optimizer doesn't set those properly.
Here we decided just to add code to check that the parameters
are correct. Hope to fix optimizer sometimes.


myisam/mi_range.c:
  return the error if min_key is NULL
mysql-test/r/gis-rtree.result:
  test result
mysql-test/t/gis-rtree.test:
  test case
2006-09-29 17:56:02 +05:00
unknown
43f00a0994 Merge chilla.local:/home/mydev/mysql-4.1-bug22384
into  chilla.local:/home/mydev/mysql-5.0-bug22384


myisam/mi_delete.c:
  Auto merged
2006-09-28 21:50:46 +02:00
unknown
03b88a48a1 Merge chilla.local:/home/mydev/mysql-4.0-bug22384
into  chilla.local:/home/mydev/mysql-4.1-bug22384


myisam/mi_delete.c:
  Auto merged
2006-09-28 21:47:42 +02:00
unknown
24a1e6f605 Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
Deletes on a big index could crash the index when it needs to
shrink.

Put a forgotten negation operator in.

No test case. It is too big for the test suite. And it does not
work with 4.0, only with higher versions. It is attached to the
bug report.


myisam/mi_delete.c:
  Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
  Put a negation operator ('!') before _mi_get_last_key() in del().
  It returns NULL on error, non-NULL on success.
2006-09-28 11:41:38 +02:00
unknown
70255e8509 Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-09-28 10:36:04 +02:00
unknown
b8fe620615 Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-09-28 10:19:25 +02:00
unknown
8948564e0d Bug#20719 - Reading dynamic records with write buffer could fail
After merge fix.
2006-09-27 11:55:30 +02:00
unknown
850b668869 Merge chilla.local:/home/mydev/mysql-4.1-bug20719
into  chilla.local:/home/mydev/mysql-4.1-bug20719-m


myisam/mi_dynrec.c:
  Auto merged
2006-09-27 09:30:54 +02:00
unknown
fe9f7980b7 Merge mysql.com:/home/hf/work/mysql-4.1.15428
into  mysql.com:/home/hf/work/mysql-5.0-mrg


myisam/mi_check.c:
  Auto merged
mysys/my_chsize.c:
  Auto merged
2006-09-25 16:44:53 +05:00
unknown
feb9cc2f15 Merge mysql.com:/home/hf/work/mysql-4.1.12991
into  mysql.com:/home/hf/work/mysql-4.1.15428


myisam/mi_check.c:
  Auto merged
2006-09-25 16:35:57 +05:00
unknown
7732a5901f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
2006-09-23 09:48:43 -04:00
unknown
ac746932e8 Bug#14400 - Query joins wrong rows from table which is subject of
"concurrent insert"
After merge fix.
2006-09-22 17:23:25 +02:00
unknown
52758ca0f1 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into  chilla.local:/home/mydev/mysql-4.0-bug14400


mysql-test/r/myisam.result:
  Auto merged
myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge
2006-09-22 15:06:01 +02:00
unknown
7359aec2db Merge chilla.local:/home/mydev/mysql-4.0--team
into  chilla.local:/home/mydev/mysql-4.0-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge
2006-09-22 15:03:50 +02:00
unknown
1eb82be26d BUG#21459 - myisam_ftdump gives bad counts for common words
This problem affects myisam_ftdump tool only.

For fulltext index positive subkeys means word weight, negative subkeys
means number of documents in level 2 fulltext index.

Fixed that document counter was not properly updated for keys having
level 2 fulltext index.

No test case for this bug.


myisam/myisam_ftdump.c:
  For fulltext index positive subkeys means word weight, negative subkeys
  means number of documents in level 2 fulltext index.
  
  Fixed that document counter was not properly updated for keys having
  level 2 fulltext index.
2006-09-20 17:12:37 +05:00
unknown
044ea86cb1 Merge naruto.:C:/cpp/bug20789/my50-bug20789
into  naruto.:C:/cpp/mysql-5.0-maint
2006-09-20 07:46:33 +02:00
unknown
18edc55b83 Bug#20789 Merge Subtable Rename Causes Crash
- When a MyISAM table which belongs to a merge table union and is 
  renamed the associated file descriptors are closed on windows.
  This causes a server crash next time an insert or update is 
  performed on the merge table.
- This patch prevents the system from crashing on windows by
  checking for bad file descriptors every time the MyISAM table
  is locked by associated the merge table.


myisam/mi_locking.c:
  - Added check for bad file descriptors when table is part of merge union.
  - This patch prevents the server from crash on windows.
myisam/myisamdef.h:
  Added boolean value to indicate that this myisam table is part of
  a merge union.
myisammrg/myrg_locking.c:
  Added paramter owned_by_merge=TRUE for mi_lock_database through MYRG_TABLE struct.
2006-09-19 17:40:09 +02:00
unknown
08f4565e6a Merge chilla.local:/home/mydev/mysql-4.1-bug14400-monty
into  chilla.local:/home/mydev/mysql-5.0-bug14400-monty


BitKeeper/etc/ignore:
  auto-union
include/my_global.h:
  Auto merged
myisam/mi_rkey.c:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
myisam/mi_test_all.res:
  Manual merge from 4.1.
sql/sql_select.cc:
  Manual merge from 4.1.
2006-09-19 11:27:00 +02:00