Commit graph

22148 commits

Author SHA1 Message Date
unknown
fca58c9556 Fixed bug #27937: crash for the the second execution of a prepared
statement from a UNION query with ORDER BY an expression containing
RAND().
The crash happened because the global order by list in the union query
was not re-initialized for execution.
(Local order by lists were re-initialized though).



mysql-test/r/ps.result:
  Added a test case for bug #27937.
mysql-test/t/ps.test:
  Added a test case for bug #27937.
sql/sql_union.cc:
  Fixed bug #27937: crash for the the second execution of a prepared
  statement from a UNION query with ORDER BY an expression containing
  RAND().
  The crash happened because the global order by list in the union query
  was not re-initialized for execution.
  (Local order by lists were re-initialized though).
  Added re-initialization of the global order by list in the function
  st_select_lex_unit::init_prepare_fake_select_lex.
2007-05-14 16:41:09 -07:00
unknown
4ce5e86f6b Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-05-14 11:45:26 +02:00
unknown
db0c3b6d83 Bug#27344 Total failure to start the server
- Give some more protection against "too long socket name by setting the max
length when to use a tmpdir for sockets to 70 


mysql-test/mysql-test-run.pl:
  Give some more protection against "too long socket name by setting the max
  length when to use a tmpdir for sockets to 70
2007-05-10 13:28:24 +02:00
unknown
47430268e5 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
2007-05-10 09:04:05 +02:00
unknown
575e5f68ee Merge pilot.blaudden:/home/msvensson/mysql/bug28193/my41-bug28193
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-05-09 10:49:52 +02:00
unknown
a4ed105c66 Bug #28193 outfile fails randomly in pushbuild
- Change "exec rm" to "remove_file"


mysql-test/t/outfile.test:
  Change "exec rm" to "remove_file"
2007-05-09 10:49:11 +02:00
unknown
ef7a956659 Merge bk-internal:/home/bk/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-05-09 10:48:45 +02:00
unknown
ed9474993d Bug #27792 query cache returns wrong result, with certain system variables
- Queries in the query cache are identified by the individual 
   characters in the query statement, the current database and 
   the current environment expressed as a set of system variable
   flags.
 - Since the set of environment flags didn't properly describe the
   current environment unexpected results were returned from the 
   query cache.
 - Query cache is now cleared when the variable ft_boolean_syntax is 
   updated.
 - An identification flag for the variable default_week_format is 
   added to the query cache record.
 
Thanks to Martin Friebe who has supplied significant parts of this patch.


mysql-test/r/query_cache.result:
  Added test case
mysql-test/t/query_cache.test:
  Added test case
sql/mysql_priv.h:
  - Added missing flags to reflect the significant local environment
    settings of the cached query.
sql/set_var.cc:
  - Added query cache flush when system variable ft_boolean_syntax is
    updated since this also invalidates all cached result sets using this
    variable.
sql/sql_cache.cc:
  - Added another local system variable as an identification flag
    for cached queries.
2007-05-08 09:09:25 +02:00
unknown
6aa333d979 Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-4.1/mysql-4.1-ndb-bj
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-4.1/mysql-4.1-ndb
2007-05-08 10:02:55 +08:00
unknown
bc23584b87 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my41-bug27976
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
2007-05-07 11:09:44 -04:00
unknown
30b4f5d0dd Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-05-07 16:07:52 +05:00
unknown
d64e63b360 Bug #27976: Misleading error message, 'Sort buffer to small'
The message is gramatically wrong, and factually wrong.

Change it to refer to the myisam_sort_buffer_size variable and change
"to" to "too".


myisam/sort.c:
  Change error messages to be gramatically correct and to refer to the
  correct variable.
mysql-test/r/repair.result:
  Refer to the correct variable.  Message changed.
2007-05-04 17:38:29 -04:00
unknown
4d263c4994 Bug #27173: "Enabling keys got errno ..." does not say which table
Warnings may show up in the error log that complain about a table, yet
don't tell us which table.

Add the database and table names to the message.


sql/ha_myisam.cc:
  Add the database and table names to the warning message.
2007-05-04 13:17:07 -04:00
unknown
353b6f26b1 Bug #27531: the 4.1 fix.
When checking for applicability of join cache
we must disable its usage only if there is no
temp table in use.
When a temp table is used we can use join
cache (and it will not make the result-set 
unordered) to fill the temp table. The filesort() 
operation is then applied to the data in the temp 
table and hence is not affected by join cache
usage.
Fixed by narrowing the condition for disabling 
join cache to exclude the case where temp table
is used.


mysql-test/r/join.result:
  Bug #27531: test case
mysql-test/t/join.test:
  Bug #27531: test case
sql/sql_select.cc:
  Bug #27531: 
  Disable join cache only if not using temp table
2007-05-04 16:43:29 +03:00
unknown
a196d66f45 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-05-04 08:56:54 +02:00
unknown
1a0e3a2858 Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
The generic string to int conversion was used by the Item_func_signed and
the Item_func_unsigned classes to convert DATE/DATETIME values to the
SIGNED/UNSIGNED type. But this conversion produces wrong results for such
values.

Now if the item which result has to be converted can return its result as
longlong then the item->val_int() method is used to allow the item to carry
out the conversion itself and return the correct result.
This condition is checked in the Item_func_signed::val_int() and the
Item_func_unsigned::val_int() functions.


mysql-test/t/cast.test:
  Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
mysql-test/r/cast.result:
  Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
sql/item_func.cc:
  Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
  Now if the item which result has to be converted can return its result as
  longlong then the item->val_int() method is used to allow the item to carry
  out the conversion itself and return the correct result.
  This condition is checked in the Item_func_signed::val_int() and the
  Item_func_unsigned::val_int() functions.
2007-05-04 00:53:37 +04:00
unknown
77ed50c4d1 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-05-02 19:37:42 +02:00
unknown
09812630ca RPM spec file error: Trailing '*' to cover '.gz' for a man page was missing.
support-files/mysql.spec.sh:
  Man pages may/will be compressed, so the file name needs trailing '*' to cover '.gz'.
2007-05-02 16:51:15 +02:00
unknown
c004ad0944 Fix in comments. 2007-04-29 18:28:58 -07:00
unknown
dd34042ec1 Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack
some rollup rows (rows with NULLs for grouping attributes) if GROUP BY
list contained constant expressions.

This happened because the results of constant expressions were not put
in the temporary table used for duplicate elimination. In fact a constant
item from the GROUP BY list of a ROLLUP query can be replaced for an
Item_null_result object when a rollup row is produced . 

Now the JOIN::rollup_init function wraps any constant item referenced in
the GROYP BY list of a ROLLUP query into an Item_func object of a special
class that is never detected as constant item. This ensures creation of
fields for such  constant items in temporary tables and guarantees right
results when the result of the rollup operation first has to be written
into a temporary table, e.g. in the cases when duplicate elimination is
required.  


mysql-test/r/olap.result:
  Added a test case for bug #24856.
mysql-test/t/olap.test:
  Added a test case for bug #24856.
sql/item_func.h:
  Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack
  some rollup rows (rows with NULLs for grouping attributes) if GROUP BY
  list contained constant expressions.
  
  Itroduced class Item_func_rollup_const derived from Item_func. The object of
  this class are never detected as constant items.
  We use them for wrapping constant items from the GROUP BY list of any ROLLUP
  query. This wrapping allows us to ensure writing constant items into temporary
  tables whenever the result of the ROLLUP operation has to be written into a
  temporary table, e.g. when ROLLUP is used together with DISTINCT in the SELECT
  list.
sql/sql_select.cc:
  Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack
  some rollup rows (rows with NULLs for grouping attributes) if GROUP BY
  list contained constant expressions.
  
  Now the JOIN::rollup_init function wraps any constant item referenced in
  the GROYP BY list of a ROLLUP query into an Item_func object of a special
  class that is never detected as constant item. This ensures creation of
  fields for such  constant items in temporary tables and guarantees right
  results when the result of the rollup operation first has to be written
  into a temporary table, e.g. in the cases when duplicate elimination is
  required.
2007-04-29 16:04:43 -07:00
unknown
0cd6377f28 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-04-29 18:39:45 +05:00
unknown
e822507364 Patch to eliminate compilation errors under VC after bug #13191 fix. 2007-04-29 11:56:23 +05:00
unknown
2503382629 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt-13191
2007-04-29 05:31:53 +05:00
unknown
3f16967847 Adjusted results after the fix for bug #20710. 2007-04-29 05:06:14 +05:00
unknown
98c0da4ed5 Fixed bug #13191.
INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: 
"Can't find record in ..." if we are inserting into
InnoDB table unique index of partial key with
underlying UTF-8 string field.

This error occurs because INSERT...ON DUPLICATE uses a wrong
procedure to copy string fields of multi-byte character sets
for index search.


mysql-test/t/innodb_mysql.test:
  Added test case for bug #13191.
mysql-test/r/innodb_mysql.result:
  Added test case for bug #13191.
sql/field.h:
  Fixed bug #13191.
  Field_string::get_key_image() virtual function was overloaded
  to implement copying of variable length character (UTF-8) fields.
  Field::get_key_image() function prototype has been changed to
  return byte size of copied data.
sql/field.cc:
  Fixed bug #13191.
  Field_string::get_key_image() virtual function was overloaded
  to implement copying of variable length character (UTF-8) fields.
  Field::get_key_image() function prototype has been changed to
  return byte size of copied data.
sql/key.cc:
  Fixed bug #13191.
  INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: 
  "Can't find record in ...".
  This error occurs because INSERT...ON DUPLICATE uses
  a wrong procedure to copy field parts for index search.
  key_copy() function has been fixed.
2007-04-29 04:16:17 +05:00
unknown
f90870e98f Fixed bug #20710.
This bug occurs when error message length exceeds allowed limit: my_error()
function outputs "%s" sequences instead of long string arguments.

Formats like %-.64s are very common in errmsg.txt files, however my_error()
function simply ignores precision of those formats.


mysys/my_error.c:
  Fixed bug #20710.
  This bug occurs when error message length exceeds allowed limit: my_error()
  function output "%s" sequences instead of long string arguments.
  my_error() function has been fixed to accept formats like %-.64s.
mysql-test/t/alter_table.test:
  Added test case for bug #20710.
mysql-test/r/alter_table.result:
  Added test case for bug #20710.
2007-04-29 00:50:33 +05:00
unknown
599c65522a Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-04-28 20:26:15 +02:00
unknown
0eaf97393d BUG#27998 - mysqld crashed when executing INSERT DELAYED
on a BLACKHOLE table

Using INSERT DELAYED on BLACKHOLE tables could lead to server
crash.

This happens because delayed thread wants to upgrade a lock,
but BLACKHOLE tables do not have locks at all.

This patch rejects attempts to use INSERT DELAYED on MERGE
tables.


mysql-test/r/blackhole.result:
  A test case for BUG#27998.
mysql-test/t/blackhole.test:
  A test case for BUG#27998.
sql/ha_blackhole.h:
  Removed HA_CAN_INSERT_DELAYED flag from table_flags().
  The insert delayed thread upgrades the lock. Hence it is
  incapable to handle BLACKHOLE tables, which do not have
  locks at all.
2007-04-28 14:37:40 +05:00
unknown
c218402fa5 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-04-27 08:33:28 +02:00
unknown
a4bfd85414 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
2007-04-27 00:32:51 +05:00
unknown
b6eb3e40fd Merge trift-lap.fambruehe:/MySQL/M41/mysql-4.1
into  trift-lap.fambruehe:/MySQL/M41/push-4.1
2007-04-26 16:09:19 +02:00
unknown
6cf2431331 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-04-24 11:50:13 +02:00
unknown
6d38c87d70 Merge mysql.com:/home/ram/work/mysql-4.1-maint
into  mysql.com:/home/ram/work/b27515/b27515.4.1
2007-04-24 14:33:15 +05:00
unknown
b9b1da75dd Merge mysql.com:/home/ram/work/mysql-4.1-maint
into  mysql.com:/home/ram/work/b27515/b27515.4.1
2007-04-24 14:20:28 +05:00
unknown
31b48d64cf Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/41
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/41
2007-04-23 21:36:46 +02:00
unknown
7d954c94fd Merge debian.(none):/M41/mysql-4.1
into  debian.(none):/M41/push-4.1
2007-04-23 11:36:30 +02:00
unknown
d19d4b3f4f Protect against killing pid's that would "killall" or "kill self" 2007-04-23 11:01:22 +02:00
unknown
caa06d1ae7 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-04-20 14:20:22 +02:00
unknown
a8f639fccc Bug#27704: incorrect comparison of rows with NULL components
Support for NULL components was incomplete for row comparison,
fixed.  Added support for abort_on_null at compare_row() like
in 5.x


sql/item_cmpfunc.h:
  Bug#27704: incorrect comparison of rows with NULL components
  Added support for abort_on_null at Item_bool_func2
  like in 5.x
sql/item_cmpfunc.cc:
  Bug#27704: incorrect comparison of rows with NULL components
  Support for NULL components was incomplete for row comparison,
  fixed. Added support for abort_on_null at compare_row() like
  in 5.x
mysql-test/t/row.test:
  Test case updated for Bug#27704 (incorrect comparison 
  of rows with NULL components)
mysql-test/r/row.result:
  Test case updated for Bug#27704 (incorrect comparison 
  of rows with NULL components)
mysql-test/r/subselect.result:
  Test case updated for Bug#27704 (incorrect comparison 
  of rows with NULL components)
2007-04-20 15:14:09 +05:00
unknown
3673aaeb6b Fixed a warning on win64. 2007-04-19 11:53:25 +05:00
unknown
aa043d73bf Use my_snprintf instead of snprintf 2007-04-18 18:38:03 +02:00
unknown
4dc441d3c7 Add mysql builtin $MYSQL_SERVER_VERSION and some function to make
it easier to set a variable from string or int
2007-04-18 16:56:17 +02:00
unknown
5c91177542 Make it possible to define how many slaves to start by
writing --slave-num=n in <testname>-master.opt file
2007-04-18 13:50:54 +02:00
unknown
150646b62d Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
2007-04-18 16:16:58 +05:00
unknown
4e387d6c0f Merge siva.hindu.god:/home/tsmith/m/bk/41
into  siva.hindu.god:/home/tsmith/m/bk/maint/41
2007-04-17 15:38:59 -06:00
unknown
f7fae98232 Merge trift2.:/MySQL/M41/test-help-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-04-17 19:48:18 +02:00
unknown
eb5c2e88be Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-04-17 16:08:31 +02:00
unknown
50e158402b Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
Added missed DROP privilege check on the original table for RENAME TABLE command.


mysql-test/r/grant.result:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - test result.
mysql-test/t/grant.test:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - test case.
sql/sql_parse.cc:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - added DROP privilege check on the original table for RENAME TABLE command.
2007-04-17 16:52:50 +05:00
unknown
78c734b013 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-04-14 14:54:28 +05:00
unknown
e3a24797fd Add missing option --manual-ddd
Change syntax to start manual gdb/ddd to avoid having to
cd to the mysql-test directory before calling the command
2007-04-13 14:40:52 +02:00