Commit graph

22207 commits

Author SHA1 Message Date
unknown
8f04094134 INSTALL-WIN-SOURCE:
BitKeeper file /home/kent/bk/bug25205/mysql-4.1-build/INSTALL-WIN-SOURCE


INSTALL-WIN-SOURCE:
  BitKeeper file /home/kent/bk/bug25205/mysql-4.1-build/INSTALL-WIN-SOURCE
2007-11-02 12:36:44 +01:00
unknown
acea5f18bf Merge mysql.com:/home/kent/bk/bug25205/mysql-4.0
into  mysql.com:/home/kent/bk/bug25205/mysql-4.1-build
2007-11-02 12:33:16 +01:00
unknown
5ee36c1d97 mysql.info, INSTALL-BINARY, INSTALL-SOURCE, ReadMe.txt, Docs/Makefile.am:
Let place holders for real documentation have text that
  makes sense to the user (Bug#25205)


BitKeeper/deleted/.del-generate-text-files.pl:
  Delete: Docs/Support/generate-text-files.pl
Docs/INSTALL-BINARY:
  BitKeeper file /home/kent/bk/bug25205/mysql-4.0/Docs/INSTALL-BINARY
INSTALL-SOURCE:
  BitKeeper file /home/kent/bk/bug25205/mysql-4.0/INSTALL-SOURCE
support-files/MacOSX/ReadMe.txt:
  BitKeeper file /home/kent/bk/bug25205/mysql-4.0/support-files/MacOSX/ReadMe.txt
Docs/mysql.info:
  More of a end-user text
Docs/Makefile.am:
  Don't generate text files from the documentation
2007-11-02 12:29:13 +01:00
unknown
afa5d5a6da Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-10-29 11:54:09 +01:00
unknown
80241b44a8 add new trigger to prevent certain naming clashes
BitKeeper/triggers/pre-commit.check-case.pl:
  catch duplicate file names, ignoring capitalisation, mostly to avoid changesets where a deleted file foobar and a deleted file FooBar break a tree on case insensitive file systems
2007-10-25 13:28:12 +02:00
unknown
31634a38e8 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2007-10-23 14:06:56 +05:00
unknown
1a74cdf9d7 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines.merge
2007-10-19 13:01:08 -07:00
unknown
78a13fa46d Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  sin.intern.azundris.com:/misc/mysql/31588/41-31588
2007-10-18 11:15:32 +02:00
unknown
cd9d89a75d Bug#31588: buffer overrun when setting variables
Buffer used when setting variables was not dimensioned to accomodate
trailing '\0'. An overflow by one character was therefore possible.
CS corrects limits to prevent such overflows.


mysql-test/r/variables.result:
  Try to overflow buffer used for setting system variables.
  Unpatched server should throw a valgrind warning here.
  Actual value and error message irrelevant, only length counts.
mysql-test/t/variables.test:
  Try to overflow buffer used for setting system variables.
sql/set_var.cc:
  Adjust maximum number of characters we can store in 'buff' by one
  as strmake() will write a terminating '\0'.
2007-10-18 10:47:54 +02:00
unknown
77f287556b Fixed the test case for bug #31174 to not fail on 64-bit platforms. 2007-10-17 10:29:51 +04:00
unknown
99a7866a93 Merge polly.(none):/home/kaa/src/maint/bug31174/my41-bug31174
into  polly.(none):/home/kaa/src/maint/mysql-4.1-maint
2007-10-16 19:17:00 +04:00
unknown
1c7b80dff9 Fix for bug #31174: "Repair" command on MyISAM crashes with small
myisam_sort_buffer_size.

An incorrect length of the sort buffer was used when calculating the
maximum number of keys. When myisam_sort_buffer_size is small enough,
this could result in the number of keys < number of
BUFFPEK structures which in turn led to use of uninitialized BUFFPEKs.

Fixed by correcting the buffer length calculation.


myisam/sort.c:
  Use a correct buffer length when calculating the maximum number of keys.
  Assert that for each BUFFPEK structure there is at least one
  corresponding key. Otherwise we would fail earlier and not reach
  merge_buffers().
mysql-test/r/repair.result:
  Added a test case for bug #31174.
mysql-test/t/repair.test:
  Added a test case for bug #31174.
2007-10-11 14:28:12 +04:00
unknown
74ce197bda Merge polly.(none):/home/kaa/src/maint/bug28878/my41-bug28878
into  polly.(none):/home/kaa/src/maint/mysql-4.1-maint
2007-10-10 23:39:53 +04:00
unknown
151e4db0d5 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2007-10-10 14:45:47 +05:00
unknown
77d786b5a0 Merge mysql.com:/home/hf/work/30955/my41-30955
into  mysql.com:/home/hf/work/30286/my41-30286
2007-10-05 16:32:05 +05:00
unknown
c14e8c80dd Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/30286/my41-30286
2007-10-05 15:48:42 +05:00
unknown
6d54b5771b Bug #30286 spatial index cause corruption and server crash!
As the result of DOUBLE claculations can be bigger
than DBL_MAX constant we use in code, we shouldn't use this constatn
as a biggest possible value.
Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
that any rtree_area_increase result will be less so we return valid
key. Though in rtree_area_increase function we calculate the area
of the rectangle, so the result can be 'inf' if the rectangle is
huge enough, which is bigger than DBL_MAX.

Code of the rtree_pick_key modified so we always return a valid key.


myisam/rt_index.c:
  Bug #30286 spatial index cause corruption and server crash!
  
  always set the best_key with the first key we get, so we always return
  somthing valid.
myisam/rt_mbr.c:
  Bug #30286 spatial index cause corruption and server crash!
  
  function comment extended
mysql-test/r/gis-rtree.result:
  Bug #30286 spatial index cause corruption and server crash!
  test result
mysql-test/t/gis-rtree.test:
  Bug #30286 spatial index cause corruption and server crash!
  test case
2007-10-05 15:40:32 +05:00
unknown
b055562b8b Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/30444/41-30444
2007-10-04 18:58:54 +02:00
unknown
4d0ef0cc85 Backport of the 5.0 patch to 4.1
Bug#28878: InnoDB tables with UTF8 character set and indexes cause  wrong result for DML
When making key reference buffers over CHAR fields whitespace (0x20) must be used to fill in the remaining space in the field's buffer. This is what Field_string::store() does. Fixed Field_string::get_key_image() to do the same.


mysql-test/r/innodb_mysql.result:
  Bug#28878: test case
mysql-test/t/innodb_mysql.test:
  Bug#28878: test case
sql/field.cc:
  Bug#28878: Fill with space instead of binary zeros.
2007-10-04 14:22:35 +04:00
unknown
bb050c0e4c Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/30444/41-30444
2007-10-04 08:37:43 +02:00
unknown
3f4eaf57e9 Bug #30444: 5.0 mysqldump silently allows wrong backup to be taken against a 4.0 database
The combination of --single-transaction and --master-data requires
START TRANSACTION WITH CONSISTENT SNAPSHOT which is available from
mysqld 4.1 on. When trying this against an older server, print
diagnostic, then, if --force is not given, abort.

No test-case given since it would require a mysqld < 4.1.


client/mysqldump.c:
  Bug #30444: 5.0 mysqldump silently allows wrong backup to be taken against a 4.0 database
  
  The combination of --single-transaction and --master-data requires
  START TRANSACTION WITH CONSISTENT SNAPSHOT which is available from
  mysqld 4.1 on. When trying this against an older server, print
  diagnostic, then, if --force is not given, abort.
2007-10-04 08:27:03 +02:00
unknown
db2d3104f9 Fix for bug #31069: crash in 'sounds like'
and for bug #31070: crash during conversion of charsets

Problem: passing a 0 byte length string to some my_mb_wc_XXX() 
functions leads to server crash due to improper argument check.

Fix: properly check arguments passed to my_mb_wc_XXX() functions.


mysql-test/include/ctype_common.inc:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - test case.
mysql-test/r/ctype_big5.result:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - test result.
mysql-test/r/ctype_euckr.result:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - test result.
mysql-test/r/ctype_gb2312.result:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - test result.
mysql-test/r/ctype_gbk.result:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - test result.
mysql-test/r/ctype_uca.result:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - test result.
strings/ctype-big5.c:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - check the string length before testing its first byte.
strings/ctype-cp932.c:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - check the string length before testing its first byte.
strings/ctype-euc_kr.c:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - check the string length before testing its first byte.
strings/ctype-gb2312.c:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - check the string length before testing its first byte.
strings/ctype-sjis.c:
  Fix for bug #31069: crash in 'sounds like'
  and bug #31070: crash during conversion of charsets
    - check the string length before testing its first byte.
2007-10-04 10:20:00 +05:00
unknown
ae3d4bfc0e Bug #30955 geomfromtext() crasher.
end-of-line check missed in Gis_read_stream::get_next_word,
what can lead to crashes (expecially with NULL strings).

End-of-line check added


sql/gstream.cc:
  Bug #30955 geomfromtext() crasher
mysql-test/r/gis.result:
  Bug #30955 geomfromtext() crasher.
  
  test result
mysql-test/t/gis.test:
  Bug #30955 geomfromtext() crasher.
  
  test case
2007-10-03 13:35:35 +05:00
unknown
d244374f2b Merge stella.local:/home2/mydev/mysql-4.1-amain
into  stella.local:/home2/mydev/mysql-4.1-axmrg
2007-09-28 08:43:24 +02:00
unknown
7a2bb241bd Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-09-14 19:21:02 +02:00
unknown
734c8a96be Merge stella.local:/home/mydev/mysql-4.1-amain
into  stella.local:/home/mydev/mysql-4.1-axmrg
2007-09-14 10:10:29 +02:00
unknown
cf5762b402 BUG#30590 - delete from memory table with composite btree primary key
DELETE query against memory table with btree index may remove
not all matching rows. This happens only when DELETE uses
index read method to find matching rows. E.g. for queries
like DELETE FROM t1 WHERE a=1.

Fixed by reverting fix for BUG9719 and applying proper solution.


heap/hp_delete.c:
  Reverted fix for BUG9719 as it makes queries like
  DELETE FROM t1 WHERE a=1 to remove not all matching
  rows (assuming this is memory table and there is btree
  key over `a`).
  
  This happens because we calculate info->lastkey_len in
  heap_rkey(). When we enter heap_rnext(), info->lastkey_len
  is 0 (set by hp_rb_delete_key()). We need to preserve
  info->lastkey_len in this situation, otherwise
  tree_search_key() will always return smallest value in
  a tree.
heap/hp_rfirst.c:
  If we're performing index_first on a table that was taken from
  table cache, info->lastkey_len is initialized to previous query.
  Thus we set info->lastkey_len to proper value for subsequent
  heap_rnext() calls.
  This is needed for DELETE queries only, otherwise this variable is
  not used.
  Note that the same workaround may be needed for heap_rlast(), but
  for now heap_rlast() is never used for DELETE queries.
heap/hp_rnext.c:
  An optimization for DELETE queries that use index_first()/index_next().
  Use faster tree_search_edge() instead of tree_search_key().
mysql-test/r/heap_btree.result:
  A test case for BUG#30590.
mysql-test/t/heap_btree.test:
  A test case for BUG#30590.
2007-09-13 15:39:16 +05:00
unknown
732f05a642 BUG#30385: Server crash when deleting with ORDER BY and LIMIT
in get_index_for_order(), don't walk over the end of the index key parts
when matching index description and needed ordering.


mysql-test/r/delete.result:
  BUG#30385: Testcase
mysql-test/t/delete.test:
  BUG#30385: Testcase
2007-09-10 16:26:51 +04:00
unknown
5c02bcbad9 Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-09-04 19:37:45 +02:00
unknown
f3b2c39879 libmysql_r/client_settings.h libmysqld/ha_blackhole.cc
Deleted BitKeeper soft links not needed


BitKeeper/deleted/.del-client_settings.h:
  Delete: libmysql_r/client_settings.h
BitKeeper/deleted/.del-ha_blackhole.cc:
  Delete: libmysqld/ha_blackhole.cc
2007-08-29 23:58:15 +02:00
unknown
16ce5d1173 mysql_config.sh:
Flag changed name in icc 10


scripts/mysql_config.sh:
  Flag changed name in icc 10
2007-08-29 22:24:11 +02:00
unknown
10012b36fe Remove any old pidfile before starting mysqld to make sure that
'mysqld_wait_started' don't return prematurely because of an old
pidfile
2007-08-29 17:54:02 +02:00
unknown
305c352685 Fix typo: '$$' => '$' 2007-08-29 14:39:40 +02:00
unknown
038df2d05c Add 'mtr_rmtree'
mysql-test/lib/mtr_misc.pl:
  Add function 'mtr_rmtree' it will try 'rmtree' and if that fails (most likely
  due to permission problems we will fun File::find to chmod all files and dirs
  to 0777 and then delete.
mysql-test/mysql-test-run.pl:
  Use 'mtr_rmtree' in favour of 'rmtree'
2007-08-29 11:51:34 +02:00
unknown
d20374821f Merge synthia.local:/home/mydev/mysql-4.1-amain
into  synthia.local:/home/mydev/mysql-4.1-axmrg
2007-08-13 19:22:35 +02:00
unknown
a3d5f64c92 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
2007-08-05 16:37:20 +02:00
unknown
ffe0e1b167 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-08-04 09:55:45 +02:00
unknown
0fe21fdc41 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  trift2.:/MySQL/M41/push-4.1
2007-08-02 22:09:52 +02:00
unknown
bbded704b0 Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-08-02 22:04:01 +02:00
unknown
0de7ddf0e5 Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  production.mysql.com:/usersnfs/jperkin/bk/trees/build/mysql-4.1
2007-08-02 18:52:42 +02:00
unknown
fb828592b4 myisamchk.c:
Fix typo in usage.


myisam/myisamchk.c:
  Fix typo in usage.
2007-08-02 18:51:11 +02:00
unknown
cbbc8bb3c1 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-08-01 18:38:43 -06:00
unknown
e399ae5ab7 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-08-01 18:30:28 -06:00
unknown
e65f8f84da Merge ramayana.hindu.god:/home/tsmith/m/bk/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-08-01 18:12:44 -06:00
unknown
bb88e1ee6b Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  production.mysql.com:/usersnfs/jperkin/bk/mysql-4.1-maint
2007-08-01 11:59:52 +02:00
unknown
c517fea540 Option 6 tries to grant global privileges at the database level
which does not work.  Removing these attempted privileges makes
this identical to option 5 so remove it completely.  The spirit
of the program appears to be aimed at database privileges, so do
not add another option for granting global privileges as it may
be unexpected.  Fixes bug#14618 (same as previous patch, this
time applied to -maint tree).


scripts/mysql_setpermission.sh:
  Option 6 tries to apply global privileges at the database
  level which does not work - remove it.
2007-08-01 11:58:25 +02:00
unknown
4158e75ded Bug#29838 - myisam corruption using concurrent select ... and update
When using concurrent insert with parallel index reads, it could
happen that reading sessions found keys that pointed to records
yet to be written to the data file. The result was a report of
a corrupted table. But it was false alert.

When inserting a record in a table with indexes, the keys are
inserted into the indexes before the record is written to the data
file. When the insert happens concurrently to selects, an
index read can find a key that references the record that is not
yet written to the data file. To avoid any access to such record,
the select saves the current end of file position when it starts.
Since concurrent inserts are always appended at end of the data
file, the select can easily ignore any concurrently inserted record.

The problem was that the ignore was only done for non-exact key
searches (partial key or using >, >=, < or <=).

The fix is to ignore concurrently inserted records also for
exact key searches.

No test case. Concurrent inserts cannot be tested with the test
suite. Test cases are attached to the bug report.


myisam/mi_rkey.c:
  Bug#29838 - myisam corruption using concurrent select ... and update
  Fixed mi_rkey() to always ignore records beyond saved eof.
2007-08-01 11:54:24 +02:00
unknown
6b745cf601 Merge mysql.com:/home/hf/work/029717/my41-29717
into  mysql.com:/home/hf/work/29717/my41-29717


sql/sql_select.cc:
  Auto merged
2007-07-31 11:00:19 +05:00
unknown
791584ae0d Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.

As a result of this bug 'SELECT AGGREGATE_FUNCTION(fld) ... GROUP BY'
can return one row instead of an empty result set.

When GROUP BY only has fields of constant tables
(with a single row), the optimizer deletes the group_list.
After that we lose the information about whether we had an
GROUP BY statement. Though it's important
as SELECT min(x) from empty_table; and
   SELECT min(x) from empty_table GROUP BY y; have to return
different results - the first query should return one row,
second - an empty result set.
So here we add the 'group_optimized_away' flag to remember this case
when GROUP BY exists in the query and is removed
by the optimizer, and check this flag in end_send_group()


mysql-test/r/group_by.result:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  test result
mysql-test/r/insert_select.result:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  test result
mysql-test/t/group_by.test:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  This is additional testcase that is more basic than the
  original bug's testcase and has the same reason.
mysql-test/t/insert_select.test:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  test case
sql/sql_select.cc:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  Remember the 'GROUP BY was optimized away' case in the JOIN::group_optimized
  and check this in the end_send_group()
sql/sql_select.h:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  JOIN::group_optimized member added to remember the 'GROUP BY optimied away'
  case
2007-07-31 10:46:04 +05:00
unknown
8d0526a82d my_pthread.c:
Backport of correction for Mac OS X build problem, global variable not
  initiated is "common" and can't be used in shared libraries, unless
  special flags are used (bug#26218)


mysys/my_pthread.c:
  Backport of correction for Mac OS X build problem, global variable not
  initiated is "common" and can't be used in shared libraries, unless
  special flags are used (bug#26218)
2007-07-30 20:40:49 +02:00