Commit graph

9896 commits

Author SHA1 Message Date
unknown
faad73550c fix for bug #19690: ORDER BY eliminates rows from the result
Depending on the queries we use different data processing methods
and can lose some data in case of double (and decimal in 4.1) fields.

The fix consists of two parts:
1. double comparison changed, now double a is equal to double b 
if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)). 
For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005
2. if we use a temporary table, store double values there as is 
to avoid any data conversion (rounding).


mysql-test/r/type_float.result:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - test result
mysql-test/t/type_float.test:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - test case
sql/field.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - use not_fixed flag instead of dec to check bounds.
sql/field.h:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - Field_Double::not_fixed flag introduced, which is set if dec == NOT_FIXED_DEC
      and is used in the ::store() to check bounds. 
    - new constructor introduced (with not_fixed_arg parameter).
sql/init.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - fill log_01[] array with 0.1 powers.
sql/item_cmpfunc.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - compare_real_fixed() and compare_e_real_fixed() introduced,
      they consider double a == double b if a-b is less than 'precision',
      'precision' is set to 5*0.1^(1 + max(a->decimals, b->decimals)), 
      for example, if a->decimals==1, b->decimals==2, 'precision' is 0.005
    - use the above functions if both arguments are fixed.
sql/item_cmpfunc.h:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - Arg_comparator::presision introduced.
    - Arg_comparator::compare_real_fixed(), Arg_comparator::compare_e_real_fixed() introduced.
sql/mysql_priv.h:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - log_01 array of 0.1 powers added.
sql/mysqld.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - log_01 array of 0.1 powers added.
sql/sql_select.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - if we create double field in a temporary table, set not_fixed flag
      (use proper constructor) to avoid data conversion 
      in the Field_double::store(). Otherwise we can lose some data.
2007-01-31 09:51:05 +04:00
unknown
1944b4ca01 Fixed bug #24987.
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
no matches were found (instead of -1 it returned prior this patch).
This changes allow us to avoid possible conflicts with return values
from user-defined handler methods which also may return -1. 
No particular test cases are provided with this fix.


sql/opt_sum.cc:
  Fixed bug #24987.
  Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
  no matches were found (instead of -1 it returned prior this patch).
  This changes allow us to avoid possible conflicts with return values
  from user-defined handler methods which also may return -1.
sql/sql_select.cc:
  Fixed bug #24987.
  Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
  no matches were found (instead of -1 it returned prior this patch).
  This changes allow us to avoid possible conflicts with return values
  from user-defined handler methods which also may return -1.
2007-01-30 13:06:36 -08:00
unknown
d308799383 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg


mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
mysql-test/r/myisam.result:
  Manual merged
mysql-test/t/myisam.test:
  Manual merged
2007-01-29 17:20:18 +01:00
unknown
5776283ec4 Merge pilot.mysql.com:/home/msvensson/mysql/bug22943/my41-bug22943
into  pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint


sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-01-29 16:19:59 +01:00
unknown
a195ad5ea2 Bug#22943 syscall pruning in libmysql
- Set the timeout values only where needed


sql/mysql_priv.h:
  Add new functions for setting read and write timeout on "net"
sql/mysqld.cc:
  - Move the setting of "read_timeout" to the value of "connect_timeout" to
    just before 'check_connection' which is the function where we want
    to use the different timeout
  - With the new functions to set timeout on "net", there is no need to
    specifically set the default wait_timeout on windows.
sql/net_serv.cc:
  Add new functions for setting read and write timeout of "net, when
  server is compiled not to use alarms it will set the write/read timeout
  directly on connection using 'vio_timeout'(using setsockopt if socket)
sql/repl_failsafe.cc:
  Put unused code within "#if NOT_USED"
sql/set_var.cc:
  Use 'net_set_*_timeout' when adjusting timeout value
  on the current connection
sql/slave.cc:
  The read timeout used when connecting to master server is set
  using 'mysql_options' in 'connect_to_master' function
sql/sql_parse.cc:
  - Set read and write timeout values to "connect_timeout" during
  connect phase
  - Use "read_timeout" value during sslaccept phase, since this is during
  connect phase it implies "connect-timeout"
  - Set read and write timeout value back to default after connect phase
  - Set "read_timeout" to "wait_timeout" while waiting for client.
sql/sql_repl.cc:
  Set "read_timeout" to "wait_timeout" while ask other mysqld to send file
sql-common/client.c:
  Call 'vio_timeout' to set up the read and write timeout's for the
  newly created connection. It only need to be done once at connect time.
vio/vio.c:
  Use 'vio_timeout' for setting timeout also on an SSL connection
  since they both use sockets
vio/viossl.c:
  Remove 'vio_ssl_timeout' function
2007-01-29 14:31:48 +01:00
unknown
fddf3c3979 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/4.1


sql/item_func.cc:
  Auto merged
2007-01-26 16:28:32 +04:00
unknown
da561a802c Fixed bug #24653.
The bug report has demonstrated the following two problems.
1. If an ORDER/GROUP BY list includes a constant expression being 
optimized away and, at the same time, containing single-row
subselects that return more that one row, no error is reported.
Strictly speaking the standard allows to ignore error in this case.
Yet, now a corresponding fatal error is reported in this case.
2. If a query requires sorting by expressions containing single-row
subselects that, however, return more than one row, then the execution
of the query may cause a server crash. 
To fix this some code has been added that blocks execution of a subselect
item in case of a fatal error in the method Item_subselect::exec.


mysql-test/r/subselect.result:
  Added a test cases for bug #24653.
mysql-test/t/subselect.test:
  Added a test cases for bug #24653.
sql/filesort.cc:
  Fixed bug #24653.
  Added a check for fatal error after reading the next row from the table
  in the function find_all_keys.
sql/item.cc:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item.h:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.cc:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.h:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_func.cc:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_subselect.cc:
  Fixed bug #24653.
  Added a check for fatal error in the method Item_subselect::exec
  to block evaluation of subselects in erroneous situations.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/sql_select.cc:
  Fixed bug #24653.
  Added a check to verify that any constant expression used
  in ORDER BY and/or GROUP BY lists which is optimized away
  does not contain subselects returning more than one row.
  If it does a fatal error is reported.
2007-01-25 18:44:35 -08:00
unknown
2ec2fa6d08 Cleanup of thread-type (linuxthread or NTPL) detection code
Move get_thread_lib to mysys/my_pthread.c
Set 'thr_client_alarm' to signal number used by thr_alarm to give alarms



include/my_global.h:
  Fixed to be same as in 5.1
include/my_pthread.h:
  Move things around to be more in line with rest of code
include/thr_alarm.h:
  extern of thr_client_alarm
mysys/default.c:
  Fixed two wrong pointer incrementations.
mysys/my_pthread.c:
  Cleanup: Use variable thr_client_alarm
mysys/my_thr_init.c:
  Detect thread library at startup
mysys/thr_alarm.c:
  Set thr_client_alarm depending on which thread library we are using
sql/mysqld.cc:
  Move get_thread_lib to mysys/my_pthread.c
2007-01-25 20:10:31 +02:00
unknown
457d431556 Bug#25668 mysqld may core if cluster disconnected
- recommit in 4.1
2007-01-24 09:41:40 +07:00
unknown
6d04643ab3 Fixed bug #25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches.
The bug is actually a duplicate of the bug 14708.
Down-ported the fix for 14708 from 5.0.  
Merged the test case for bug 14708 from 5.0.


mysql-test/r/fulltext_left_join.result:
  Added a test case for bug #25637 (duplicate .of bug 14708).
  Merged the test case for bug 14708 from 5.0.
mysql-test/t/fulltext_left_join.test:
  Added a test case for bug #25637 (duplicate of bug 14708).
  Merged the test case for bug 14708 from 5.0.
sql/item_func.cc:
  Fixed bug #25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches.
  The bug is actually a duplicate of the bug 14708.
  Down-ported the fix for 14708 from 5.0.
2007-01-22 14:23:53 -08:00
unknown
077840fa23 Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-4.0
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-4.1


include/thr_alarm.h:
  Auto merged
mysys/my_pthread.c:
  Auto merged
BUILD/SETUP.sh:
  Merged from 4.0
configure.in:
  Merged from 4.0
include/my_global.h:
  Merged from 4.0
include/my_pthread.h:
  Merged from 4.0
mysys/thr_alarm.c:
  Merged from 4.0
sql/mysqld.cc:
  Merged from 4.0
BUILD/SETUP.sh.rej:
  Merged from 4.0
configure.in.rej:
  Merged from 4.0
include/my_global.h.rej:
  Merged from 4.0
include/my_pthread.h.rej:
  Merged from 4.0
mysys/thr_alarm.c.rej:
  Merged from 4.0
sql/mysqld.cc.rej:
  Merged from 4.0
2007-01-22 03:33:59 +02:00
unknown
454c763c6b Fix for configure to detect library correctly.
Fix to check library in use during runtime.
Fix for Bug#16995, "idle connections not being killed due to timeout when NPTL is used".


BUILD/SETUP.sh:
  To avoid warnings during compilation.
configure.in:
  Fixed configure so that it can correctly detect
  between NPTL and Linuxthreads.
include/my_global.h:
  Fix for Linuxthreads.
include/my_pthread.h:
  Added defines for different libraries that can be detected.
  Currently only 'other', 'nptl', and 'lt' (linuxthreads) are
  being used.
  
  changed sigset() and signal() to my_sigset() and my_signal()
include/thr_alarm.h:
  Removed defines for Linuxthreads. This is now detected during
  runtime and handled in the thr_alarm.c
mysys/my_pthread.c:
  Runtime check for library.
mysys/thr_alarm.c:
  Runtime checks for library and corresponding
  signals.
sql/mysqld.cc:
  Added function for detecting thread library in use
  during start-up.
  
  THR_KILL_SIGNAL removed, setting signals during runtime.
2007-01-22 02:32:07 +02:00
unknown
adfe34d91e Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug22533/my41-bug22533
2007-01-19 09:12:52 +04:00
unknown
d4ee8cebf3 Bug#24562 (ALTER TABLE ... ORDER BY ... with complex expression asserts)
WL#3681 (ALTER TABLE ORDER BY)

Before this fix, the ALTER TABLE statement implemented an ORDER BY option
with the following characteristics :

1) The order by clause accepts a list of criteria, with optional ASC or
DESC keywords

2) Each criteria can be a general expression, involving operators,
native functions, stored functions, user defined functions, subselects ...

With this fix :

1) has been left unchanged, since it's a de-facto existing feature,
that was already present in the code base and partially covered in the test
suite. Code coverage for ASC and DESC was missing and has been improved.

2) has been changed to limit the kind of criteria that are permissible:
now only a column name is valid.


mysql-test/r/alter_table.result:
  Prevent ALTER TABLE ORDER BY clauses to use general expressions.
mysql-test/t/alter_table.test:
  Prevent ALTER TABLE ORDER BY clauses to use general expressions.
sql/sql_yacc.yy:
  Prevent ALTER TABLE ORDER BY clauses to use general expressions.
2007-01-18 16:53:49 -07:00
unknown
3d62df333b Merge siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/41
into  siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/maint/41


sql/sql_show.cc:
  Auto merged
sql/sql_parse.cc:
  Manual merge
2007-01-18 09:53:30 -07:00
unknown
087e4ef344 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug22533/my41-bug22533


sql/item.cc:
  Auto merged
2007-01-18 17:17:03 +04:00
unknown
158b0603f3 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-4.1-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge


sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-01-17 19:28:55 +01:00
unknown
f7e41baedb Fix a failure of lowercase_tables2 test on powermacg5, introduced
by the patch for Bug#4968


sql/sql_parse.cc:
  Fix lowercase_tables2 test failure on powermacg5: table_case_name()
  function needed create_info.alias if lowercase_table_names=2, which
  was not set for the stack copy of HA_CREATE_INFO. Move the
  update of create_info.alias from create_table_precheck to 
  mysql_execute_command, so that it is done on the right object.
2007-01-17 15:46:30 +03:00
unknown
4743deeba0 Merge pilot.mysql.com:/home/msvensson/mysql/mysql-4.1
into  pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint


mysql-test/t/mysqladmin.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/my_read.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-01-17 11:13:03 +01:00
unknown
15c834256d A post-merge fix.
sql/sql_parse.cc:
  A post-merge fix (broken alter_table.test): restore Svoj's fix
  for Bug#23404 lost during merge.
2007-01-15 23:25:16 +03:00
unknown
d470c233f7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-runtime
into  bodhi.local:/opt/local/work/mysql-4.1-4968-to-push


sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
2007-01-15 13:03:21 +03:00
unknown
b9dc0243a8 Fixed bug #24776: an assertion abort in handler::ha_index_init
for queries using 'range checked for each record'.
The problem was fixed in 5.0 by the patch for bug 12291.
This patch down-ported the corresponding code from 5.0 into 
QUICK_SELECT::init() and added a new test case. 


mysql-test/r/range.result:
  Added a test case for bug #24776.
mysql-test/t/range.test:
  Added a test case for bug #24776.
sql/opt_range.h:
  Fixed bug #24776: an assertion abort in handler::ha_index_init
  for queries using 'range checked for each record'.
  The problem was fixed in 5.0 by the patch for bug 12291.
  The patch for 4.1 down-ported the corresponding code from 5.0 into 
  QUICK_SELECT::init().
2007-01-13 10:49:26 -08:00
unknown
5f9a807562 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime
2007-01-12 18:06:43 +03:00
unknown
6dc0202617 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-4.1-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge


sql/sql_parse.cc:
  Auto merged
2007-01-12 12:21:44 +01:00
unknown
fcbe66a366 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime


sql/item_func.cc:
  Auto merged
2007-01-11 21:49:52 +03:00
unknown
52c100ae0c Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed
correctly.

The Item_func::print method was used to print the Item_func_encode and the
Item_func_decode objects. The last argument to ENCODE and DECODE functions
is a plain C string and thus Item_func::print wasn't able to print it.

The print() method is added to the Item_func_encode class. It correctly
prints the Item_func_encode and the Item_func_decode objects.


mysql-test/t/func_str.test:
  Added a test case for bug#23409: Arguments of the ENCODE() and the
  > DECODE() functionswere not printed correctly.
mysql-test/r/func_str.result:
  Added a test case for bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
sql/item_strfunc.h:
  Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
  The print() method is added to the Item_func_encode class.
sql/item_strfunc.cc:
  Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
  The print() method is added to the Item_func_encode class. It correctly
  prints the Item_func_encode and the Item_func_decode objects.
2007-01-11 16:45:38 +03:00
unknown
0fdd3dce16 Merge fix for bug#17711 2007-01-11 16:20:08 +03:00
unknown
661796389f Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
WHERE is present.

If a DELETE statement with ORDER BY and LIMIT contains a WHERE clause
with conditions that for sure cannot be used for index access (like in
WHERE @var:= field) the execution always follows the filesort path.    
It happens currently even when for the above case there is an index that
can be used to speedup sorting by the order by list.

Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
clause conditions that cannot be used to build any quick select then
the mysql_delete() tries to use an index like there is no WHERE clause at all.


mysql-test/t/delete.test:
  Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
  WHERE is present.
mysql-test/r/delete.result:
  Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
sql/sql_delete.cc:
  Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
  Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
  clause conditions that cannot be used to build any quick select then
  the mysql_delete() tries to use an index like there is no WHERE clause at all.
2007-01-11 16:05:03 +03:00
unknown
10698df6da Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-4.1-opt
2007-01-10 10:49:46 -08:00
unknown
ac71a8fa5e Fix for bug#20867 InnoDB Bug - create temporary table+crash => mysqld needs to clean up
2nd version
During tmp tables cleanup we get the handler for temporary table
and delete table using handler method.


sql/mysql_priv.h:
  added function prototype
sql/mysqld.cc:
  added call of mysql_rm_tmp_tables() function
sql/sql_base.cc:
  mysql_rm_tmp_tables()
  -removed from table_cache_init
  -During tmp tables cleanup we get the handler for temporary table
   and delete table using handler method. 
   it allows to remove orphan records from data dictionary(InnoDB)
2007-01-10 12:57:03 +04:00
unknown
6fc17dab1e Fixed bug #25427.
In the method Item_field::fix_fields we try to resolve the name of
the field against the names of the aliases that occur in the select
list. This is done by a call of the function find_item_in_list.
When this function finds several occurrences of the field name
it sends an error message to the error queue and returns 0.
Yet the code did not take into account that find_item_in_list
could return 0 and tried to dereference the returned value.


mysql-test/r/order_by.result:
  Added a test case for bug #25427.
mysql-test/t/order_by.test:
  Added a test case for bug #25427.
sql/item.cc:
  Fixed bug #25427.
  In the method Item_field::fix_fields we try to resolve the name of
  the field against the names of the aliases that occur in the select
  list. This is done by a call of the function find_item_in_list.
  When this function finds several occurrences of the field name 
  it sends an error message to the error queue and returns 0.
  Yet the code did not take into account that find_item_in_list
  could return 0 and tried to dereference the returned value.
2007-01-10 00:27:11 -08:00
unknown
e5c1d4784d Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
2007-01-09 12:47:03 +03:00
unknown
2dab449fc7 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
2007-01-09 12:46:35 +03:00
unknown
beac4a6f8a Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443


heap/hp_block.c:
  Auto merged
sql/item_func.cc:
  Auto merged
heap/hp_write.c:
  Manual merge.
2007-01-09 12:39:05 +03:00
unknown
4fe1561f98 BUG#23443: user-defined variables can consume too much memory in the
server

The problem was that when memory was exhausted HEAP engine could crash
(GROUP BY uses HEAP TABLE).  Alternatively, if SET was used, it could
report an error "You may only use constant expressions with SET" instead
of "Out of memory (Needed NNNNNN bytes)".

The solution is:
 - pass MY_WME to (some) calls to my_malloc() to get correct message.
 - fix heap_write() so that the first key is skipped during cleanup
   on ENOMEM because it wasn't inserted and doesn't have to be
   deleted.

No test case is provided because we can't test out-of-memory behaviour
in our current test framework.


heap/hp_block.c:
  If allocation fails, write an error message.
heap/hp_write.c:
  On ENOMEM, skip the first key in cleanup, as it wasn't inserted yet.
sql/item_func.cc:
  Add MY_WME so that OOM error will be reported.
2007-01-09 12:24:25 +03:00
unknown
8e0eea0d33 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/opt/my41-opt
2007-01-03 11:17:00 +04:00
unknown
4a12418583 embedded-server related fixes
libmysqld/lib_sql.cc:
  error message moved to 'stmt'
mysql-test/t/distinct.test:
  temporary disabled in embedded server
mysql-test/t/mysqladmin.test:
  disabled in embedded server
sql/sql_prepare.cc:
  superfluous #ifndef removed
2007-01-02 17:46:20 +04:00
unknown
62576974de Merge mysql.com:/d2/hf/clean/my41-clean
into  mysql.com:/d2/hf/common/my41-common


sql/item_func.cc:
  Auto merged
2006-12-31 12:37:42 +04:00
unknown
d26e154c4b Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-4.1-engines
2006-12-29 15:17:07 +04:00
unknown
285dac3fd3 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24358/mysql-4.1-engines
2006-12-27 15:35:26 +04:00
unknown
0f462179db Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  siva.hindu.god:/usr/home/tim/m/bk/41
2006-12-22 13:23:12 -07:00
unknown
368dcac4f8 Merge polly.local:/tmp/maint/bug24037/my41-bug24037
into  polly.local:/home/kaa/src/maint/mysql-4.1-maint
2006-12-22 16:19:45 +03:00
unknown
ee37cf0bb9 Fix for the bug #24037 "Lossy Hebrew to Unicode conversion".
Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999:

LEFT-TO-RIGHT MARK (LRM)
RIGHT-TO-LEFT MARK (RLM)


sql/share/charsets/hebrew.xml:
  Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999:
  
  LEFT-TO-RIGHT MARK (LRM)
  RIGHT-TO-LEFT MARK (RLM)
strings/conf_to_src.c:
  Added a warning comment in the generated C source file.
strings/ctype-extra.c:
  Re-generated from sql/share/charsets/hebrew.xml
mysql-test/r/ctype_hebrew.result:
  Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion"
mysql-test/t/ctype_hebrew.test:
  Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion"
2006-12-22 15:30:37 +03:00
unknown
454b7d0f52 Merge siva.hindu.god:/usr/home/tim/m/bk/g41
into  siva.hindu.god:/usr/home/tim/m/bk/41


scripts/mysqld_multi.sh:
  Auto merged
2006-12-21 18:18:27 -07:00
unknown
9d094c56bc Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-4.1-engines


sql/sql_update.cc:
  Auto merged
2006-12-20 19:08:28 +04:00
unknown
9d85b0a616 BUG#21310 - Trees in SQL causing a "crashed" table with MyISAM storage engine
An update that used a join of a table to itself and modified the
table on one side of the join reported the table as crashed or
updated wrong rows.

Fixed by creating temporary table for self-joined multi update statement.


mysql-test/r/myisam.result:
  A test case for BUG#21310.
mysql-test/t/myisam.test:
  A test case for BUG#21310.
sql/lock.cc:
  Exclude 'table' param from check.
sql/sql_update.cc:
  Disabling record cache for self-joined multi update statement is wrong.
  The join must only see the table as it was at the beginning of the statement.
  safe_update_on_fly check if it is safe to update first table on the fly, that is
  not creating temporary table. It is possible in case a row from this table is
  never read more than once. safe_update_on_fly now detect self-joined table and
  refuse to update this table on the fly.
2006-12-20 19:05:35 +04:00
unknown
9166c711c2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2006-12-19 10:40:53 +01:00
unknown
045158fc28 Fix for bug #10798: If relay log fails to rotate, slave will crash after
The relay log may not be open for some reason (e.g. disk error) after rotation,
and using it causes the slave crash.

Fix: check we have it open before access, return error otherwise.


sql/slave.cc:
  Fix for bug #10798: If relay log fails to rotate, slave will crash after
    - check if the relay log is open before any access.
2006-12-18 17:38:59 +04:00
unknown
e071fdb632 BUG#24358 - Table access crashes server
Having broken .frm, particulary number of field names does
not match number of fields, causes server crash.

Refuse to open a table if number of field names in a table
is not equal to number of fields in a table.

No test case, since it requires broken .frm file.


sql/table.cc:
  Refuse to open a table if number of field names in a table
  is not equal to number of fields in a table.
2006-12-15 16:01:56 +04:00
unknown
e21242fef8 Merge kpettersson@bk-internal:/home/bk/mysql-4.1-maint
into  naruto.:C:/cpp/mysql-4.1-maint
2006-12-14 16:02:43 +01:00