Commit graph

6094 commits

Author SHA1 Message Date
unknown
dccd2c9026 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1
2006-09-13 21:50:39 +02:00
unknown
6937427146 Bug #21378 Alter table from X storage engine to NDB could cause data loss: updated results 2006-09-13 19:56:02 +02:00
unknown
8b1d995987 Bug #21378 Alter table from X storage engine to NDB could cause data loss: Added warning if local table shadows ndb table 2006-09-12 16:04:52 +02:00
unknown
b133be170a Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21787


sql/sql_select.cc:
  Auto merged
2006-09-01 17:21:49 +03:00
unknown
b017caefbd Fix for BUG#21787: COUNT(*) + ORDER BY + LIMIT returns wrong result
The problem was due to a prior fix for BUG 9676, which limited
the rows stored in a temporary table to the LIMIT clause. This
optimization is not applicable to non-group queries with aggregate
functions. The fix disables the optimization in this case.


mysql-test/r/limit.result:
  Test case for BUG#21787
mysql-test/t/limit.test:
  Test case for BUG#21787
sql/sql_select.cc:
  If there is an aggregate function in a non-group query,
  materialize all rows in the temporary table no matter if
  there is a LIMIT clause. This is necessary, since the
  aggregate functions must be computed over all result rows,
  not just the first LIMIT rows.
2006-09-01 15:07:04 +03:00
unknown
49e2267ebd Backport from 5.0
- Dont test "encrypt" in ctype_ucs


mysql-test/r/ctype_ucs.result:
  Don't test "encrypt" function in ctype_ucs.test
mysql-test/t/ctype_ucs.test:
  Don't test "encrypt" function in ctype_ucs.test
2006-09-01 11:21:12 +02:00
unknown
6453d413da Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-09-01 10:26:01 +02:00
unknown
1bb1679c19 Add target to make "mtr", shortcut for running test suite
BitKeeper/etc/ignore:
  Added mysql-test/mtr to the ignore list
2006-09-01 10:21:08 +02:00
unknown
f6aec93d79 Merge bk-internal:/home/bk/mysql-4.1-maint
into  rama.(none):/home/jimw/my/mysql-4.1-21288
2006-08-31 21:23:25 -07:00
unknown
0f342b6ada Merge maint2.mysql.com:/data/localhome/tsmith/bk/g41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41
2006-08-31 00:23:15 +02:00
unknown
f468d0004f Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41


BUILD/SETUP.sh:
  Auto merged
2006-08-30 23:49:21 +02:00
unknown
077b649aef Remove ^Z from ctype_ucs.test data, to avoid problems testing on Windows 2006-08-30 22:39:23 +02:00
unknown
ddb9f8668f Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte


include/mysql_com.h:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  added new constants NAME_BYTE_LEN, USERNAME_BYTE_LENGTH, SYSTEM_CHARSET_MBMAXLEN
mysql-test/r/ctype_utf8.result:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  test case
mysql-test/t/ctype_utf8.test:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  test case
sql-common/client.c:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  increased buffers for user name & db
sql/sql_acl.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  check that user name is not longer than USERNAME_LENGTH symbols
sql/sql_parse.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  increased buffers for user name & db
sql/table.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  check that db name is not longer than NAME_LEN symbols
2006-08-30 15:56:17 +05:00
unknown
2416a453eb Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-27 23:43:11 +04:00
unknown
85c064f6b1 Merge moonbone.local:/work/tmp_merge-4.1-mysql
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-26 23:11:34 +04:00
unknown
9aa12815b3 Dont' ever use cluster for slave in 4.1 2006-08-26 18:38:42 +02:00
unknown
48966da630 Ignore --skip-im if specified on command line
Null merge to 5.0


mysql-test/mysql-test-run.pl:
  Ignore --skip-im if specified on command line
2006-08-25 17:01:04 +02:00
unknown
30031bbf37 Add mysqld-max-nt to list of mysqld executales to look for on windows 2006-08-25 15:23:42 +02:00
unknown
28db55a795 Backport from 5.0 a fix that will start ndb only for tests that needs it
mysql-test/lib/mtr_cases.pl:
  Detect which tests that need ndb
mysql-test/lib/mtr_match.pl:
  Add function mtr_match_substring
mysql-test/mysql-test-run.pl:
  Only start cluster for test cases that need it
2006-08-25 15:17:03 +02:00
unknown
db2a86ce8f Fix running tests suite with non standard tmp dir.
Default is "var/tmp" 


mysql-test/r/myisam.result:
  Update result file
mysql-test/t/myisam.test:
  If running test suite with a non standard tmp dir, the "show create table" will print "DATA DIRECTORY="
  Use replace_result to mask it out
  Set tmpdir to var/log to get the printout of DATA DIRECTORY also when running with standard tmpdir
2006-08-25 10:46:14 +02:00
unknown
6c21bdb949 Merge bk-internal:/home/bk/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-08-25 10:11:55 +02:00
unknown
72695c3fae Backport fix for finding executables from 5.0
mysql-test/lib/mtr_misc.pl:
  On windows the exe does not need to be executable for it to be found
2006-08-25 10:11:15 +02:00
unknown
f895a16c72 BUG#16255: Post-review fixes: adjust the testcase.
mysql-test/r/subselect.result:
  BUG#16255: A proper testcase
mysql-test/t/subselect.test:
  BUG#16255: A proper testcase
2006-08-24 19:16:27 +04:00
unknown
c74c819533 Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov)
Must not use Item_direct_ref in HAVING because it points to
 the new value (witch is not yet calculated for the first row).


mysql-test/r/subselect.result:
  Bug #16255: Subquery in where
   - test case
mysql-test/t/subselect.test:
  Bug #16255: Subquery in where
   - test case
sql/item_subselect.cc:
  Bug #16255: Subquery in where
   Must not use Item_direct_ref in HAVING because it points to
   the new value (witch is not yet calculated for the first row).
2006-08-24 19:14:36 +04:00
unknown
95f8e0476b Merge tim@tsmith.mysql.internal:m/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/41
2006-08-24 02:44:49 +02:00
unknown
66d913482f Merge siva.hindu.god:/usr/home/tim/m/bk/b21531-41
into  siva.hindu.god:/usr/home/tim/m/bk/41


sql/item_func.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
2006-08-23 18:06:07 -06:00
unknown
b2a0d025e3 Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets
- Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
- Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors


mysql-test/r/func_misc.result:
  Test EXPORT_SET() with charset coersion (bug #21531)
mysql-test/t/func_misc.test:
  Test EXPORT_SET() with charset coersion (bug #21531)
sql/item_func.h:
  Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors.
sql/item_strfunc.cc:
  Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail.
2006-08-23 18:02:31 -06:00
unknown
a9eebc9986 Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-41
into  siva.hindu.god:/usr/home/tim/m/bk/41


sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2006-08-23 16:30:05 -06:00
unknown
b221989740 Merge bk-internal:/home/bk/mysql-4.1
into  maint1.mysql.com:/data/localhome/tsmith/bk/41
2006-08-23 22:51:20 +02:00
unknown
e989c51d0d Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21456


sql/sql_select.cc:
  Auto merged
2006-08-23 18:30:21 +03:00
unknown
2baf2fdf13 Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in 
  SELECT DISTINCT <non-key-col>,<pk> FROM t1
  ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.


mysql-test/r/distinct.result:
  Test for BUG#21456.
mysql-test/t/distinct.test:
  Test for BUG#21456.
sql/sql_select.cc:
  Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
  
  GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
  optimization because ORDER BY may be removed when GROUP BY/DISTINCT
  sorts as a side effect.
2006-08-23 16:46:57 +03:00
unknown
0f64834dc7 Merge hf@192.168.21.12:work/mysql-4.1.15440
into  mysql.com:/home/hf/work/mysql-4.1.clean
2006-08-19 13:31:21 +05:00
unknown
8d8fa0e312 Bug #21288: mysqldump segmentation fault when using --where
The problem was that the error handling was using a too-small buffer to
  print the error message generated. We fix this by not using a buffer at
  all, but by using fprintf() directly. There were also some problems with
  the error handling in table dumping that was exposed by this fix that were
  also corrected.


client/mysqldump.c:
  Use fprintf() instead of my_printf_error() to avoid buffer overflow issues.
  Since ME_BELL wasn't specified, calling my_printf_error() offered no advantage
  except for adding my_progname, which we just go ahead and do manually. Also,
  fix the error handling in dumpTable() when queries to get data fail and --force
  was specified.
mysql-test/r/mysqldump.result:
  Add new results
mysql-test/t/mysqldump.test:
  Add new regression test
2006-08-17 14:09:24 -07:00
unknown
5576ed8b1e Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b20695
2006-08-17 11:36:03 +05:00
unknown
4934231545 Bug#20328 - Correction to test/result for broken Windows build.
mysql-test/r/mysql_client.result:
  Removed OS dependant output.
mysql-test/t/mysql_client.test:
  Re-directed output to a temporary file because the actual output isn't important and was causing a Windows test failure.
2006-08-16 13:55:16 -04:00
unknown
be3047a02a Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b9509
2006-08-16 12:42:22 +05:00
unknown
c55b9f5069 Merge mysql.com:/usr/home/bar/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b9509


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-08-16 09:31:24 +05:00
unknown
9907e970ae BUG#21077: Possible crash caused by invalid sequence of handler::* calls:
The crash was caused by invalid sequence of handler::** calls:                                                           
  ha_smth->index_init();                                                                                                 
  ha_smth->index_next_same(); (2)                                                                                        
(2) is an invalid call as it was not preceeded by any 'scan setup' call
like index_first() or index_read(). The cause was that QUICK_SELECT::reset()
didn't "fully reset" the quick select- current QUICK_RANGE wasn't forgotten,
and quick select might attempt to continue reading the range, which would
result in the above mentioned invalid sequence of handler calls.

5.x versions are not affected by the bug - they already have the missing
"range=NULL" clause.                                                    
                                                       


mysql-test/r/innodb_mysql.result:
  Testcase for BUG#21077
mysql-test/t/innodb_mysql.test:
  Testcase for BUG#21077
sql/opt_range.h:
  BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                              
   - Make QUICK_SELECT::reset() really reset the quick select
2006-08-15 20:33:14 +04:00
unknown
80684559c8 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1
2006-08-15 15:58:02 +02:00
unknown
87b7363c5c ndb_lock.test, ndb_lock.result:
bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ha_ndbcluster.h, ha_ndbcluster.cc, NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);


mysql-test/r/ndb_lock.result:
  bug #18184  SELECT ... FOR UPDATE does not work..: New test case
mysql-test/t/ndb_lock.test:
  bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ndb/include/ndbapi/NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.cc:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.h:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
2006-08-15 13:12:27 +02:00
unknown
fe3dee0621 Fix for bug #20695: Charset introducer overrides charset definition for column.
- if there are two character set definitions in the column declaration,
    we replace the first one with the second one as we store both in the LEX->charset
    slot. Add a separate slot to the LEX structure to store underscore charset.
  - convert default values to the column charset of STRING, VARSTRING fields 
    if necessary as well.


mysql-test/r/ctype_recoding.result:
  Fix for bug #20695: Charset introducer overrides charset definition for column.
    - test result.
mysql-test/t/ctype_recoding.test:
  Fix for bug #20695: Charset introducer overrides charset definition for column.
    - test case.
sql/sql_lex.cc:
  Fix for bug #20695: Charset introducer overrides charset definition for column.
    - LEX->underscore_charset introduced to store UNDERSCORE_CHARSET
sql/sql_lex.h:
  Fix for bug #20695: Charset introducer overrides charset definition for column.
    - LEX->underscore_charset introduced to store UNDERSCORE_CHARSET
sql/sql_table.cc:
  Fix for bug #20695: Charset introducer overrides charset definition for column.
    - convert default values to the column charset of VARSTRING, STRING, ENUM, 
      SET fields if necessary.
sql/sql_yacc.yy:
  Fix for bug #20695: Charset introducer overrides charset definition for column.
    - LEX->underscore_charset introduced to store UNDERSCORE_CHARSET
2006-08-15 15:24:07 +05:00
unknown
ebf58763e2 Merge april.(none):/home/svoj/devel/bk/mysql-4.1
into  april.(none):/home/svoj/devel/mysql/BUG18874/mysql-4.1
2006-08-14 18:13:50 +05:00
unknown
f6d7985a5b BUG#18874 - Setting myisam_repair_threads > 1, index cardinality always 1
Fixed by moving update_key_parts() down to be after write_index().


myisam/sort.c:
  write_index() collects index statistic which is further used in
  update_key_parts(). Thus update_key_parts() must be called after
  write_index().
mysql-test/r/repair.result:
  Test case for bug#18874.
mysql-test/t/repair.test:
  Test case for bug#18874.
2006-08-14 17:05:02 +05:00
unknown
a756f762e8 Make the heap_btree test repeatable.
mysql-test/r/heap_btree.result:
  Make the heap_btree test repeatable.
    - 'order by' added where we don't use the 'a' index.
mysql-test/t/heap_btree.test:
  Make the heap_btree test repeatable.
    - 'order by' added where we don't use the 'a' index.
2006-08-14 12:59:54 +05:00
unknown
3212b399a8 Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb
Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
    
Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.


mysql-test/r/ctype_ucs.result:
  Add tests for bug #20536.
mysql-test/t/ctype_ucs.test:
  Add tests for bug #20536.
  
  Tests showing correct behavior for MD5(), SHA1(), MAKE_SET() and EXPORT_SET().
  
  Also, tests showing incorrect behavior, which will remain "Won't fix", for
  PASSWORD(), OLD_PASSWORD(), ENCRYPT() and QUOTE().
sql/item_strfunc.cc:
  Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
  
  Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
sql/item_strfunc.h:
  Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
2006-08-11 17:09:19 -06:00
unknown
edc8900bb0 mysqld --collation-server=xxx --character-set-server=yyy
didn't work as expected: collation_server was set not to xxx,
but to the default collation of character set "yyy".
    
With different argument order it worked as expected:
mysqld --character-set-server=yyy --collation-server=yyy 
    
Fix:
initializate default_collation_name to 0
when processing --character-set-server
only if --collation-server has not been specified
in command line.


mysql-test/r/ctype_ucs2_def.result:
  Adding test cast
mysql-test/t/ctype_ucs2_def-master.opt:
  Adding test case
mysql-test/t/ctype_ucs2_def.test:
  Adding test case
sql/mysqld.cc:
  Don't clear default_collation_name when processing 
  --character-set-server if collation has already
  been specified using --collation-server
2006-08-11 13:19:44 +05:00
unknown
fa1641e1f3 Bug#19844: time_format in Union truncates values
time_format() claimed %H and %k would return at most two digits
(hours 0-23), but this coincided neither with actual behaviour
nor with docs.  this is not visible in simple queries; forcing
a temp-table is probably the easiest way to see this.  adjusted
the return-length appropriately; the alternative would be to
adjust the docs to say that behaviour for > 99 hours is undefined.
---
Bug#19844: time_format in Union truncates values

time_format() claimed %H and %k would return at most two digits
(hours 0-23), but this coincided neither with actual behaviour
nor with docs.  this is not visible in simple queries; forcing
a temp-table is probably the easiest way to see this.  adjusted
the return-length appropriately; the alternative would be to
adjust the docs to say that behaviour for > 99 hours is undefined.


mysql-test/r/func_time.result:
  Bug#19844: time_format in Union truncates values
  
  show time_format() handles %H and %k correctly four > 99 hours
mysql-test/t/func_time.test:
  Bug#19844: time_format in Union truncates values
  
  show time_format() handles %H and %k correctly four > 99 hours
sql/item_timefunc.cc:
  Bug#19844: time_format in Union truncates values
  
  unbreak promises we make about field-length of %H and %k in
  time_format() so they coincide with the actual range rather
  than just 0..23. the docs say we must operate outside that
  range, so we'd better do it right.
  ---
  Bug#19844: time_format in Union truncates values
  
  unbreak promises we make about field-length of %H and %k in
  time_format() so they coincide with the actual range rather
  than just 0..23. the docs say we must operate outside that
  range, so we'd better do it right.
  One digit values are padded to two digits with %H, "longer"
  values are handled correctly up to seven digits including
  any sign.
  (clarified comments as per jimw's suggestion.)
2006-08-10 15:37:24 +02:00
unknown
bfdbb780c2 Fix for bug #20709: Collation not used in group by on 4.1.
myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
TEXT and VARTTEXT key segments.


myisam/mi_unique.c:
  Fix for bug #20709: Collation not used in group by on 4.1.    
  
  myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
  TEXT and VARTTEXT key segments.
    
  Example: assume, we have a 'char(200) collate utf8_unicode_ci' field,
  there are two records with _utf8"0x65" and _utf8"0xC3A9" characters;
  these values are equal according
  to the utf8_unicode_ci collation, but two 600 byte length corresponding keys:  
  "0x65<0x20 repeats 599 times>" and "0xC3A9<0x20 repeats 598 times>" are not    
  equal if we count trailing spaces and it may cause inconsequent behavior.
  
  So, let's pass 1 as the skip_end_space parameter value to the mi_compare_text()
  function for proper TEXT and VARTTEXT key segments comparison.
mysql-test/r/ctype_utf8.result:
  Fix for bug #20709: Collation not used in group by on 4.1.    
    - test results.
mysql-test/t/ctype_utf8.test:
  Fix for bug #20709: Collation not used in group by on 4.1.    
    - test case.
2006-08-10 15:06:22 +05:00
unknown
70269a091e Removed iggy's accidentally checked-in test files.
BitKeeper/deleted/.del-bug20328.test:
  Delete: mysql-test/t/bug20328.test
BitKeeper/deleted/.del-bug20328.result:
  Delete: mysql-test/r/bug20328.result
2006-08-09 13:41:08 -04:00
unknown
ef6019010d Merge mysql.com:/usr/home/bar/mysql-4.1.b19741v0
into  mysql.com:/usr/home/bar/mysql-4.1.b19741
2006-08-07 13:15:23 +05:00