Commit graph

30753 commits

Author SHA1 Message Date
unknown
f71a55da22 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-06-01 08:52:55 +02:00
unknown
674a33f5e2 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
2006-06-01 08:51:57 +02:00
unknown
dbbc4c7636 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
2006-06-01 08:50:58 +02:00
unknown
c542ad6609 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/marty/MySQL/mysql-5.0
2006-06-01 08:43:47 +02:00
unknown
dd47289b0e Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/50-work


ndb/src/kernel/blocks/ERROR_codes.txt:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
ndb/test/run-test/daily-basic-tests.txt:
  Auto merged
2006-06-01 08:28:59 +02:00
unknown
9ccf222bc3 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-06-01 08:27:45 +02:00
unknown
49a4c85bdf ndb - bug#20185
Dont be too aggressive in Dbtc::nodeFailCheckTransaction
  let it timeout by 1, so that it does not assert that it has waited too long
  old impl. set timeotu value to 0, making timeout = (ctcTimer - 0) which could be quite big.


ndb/src/kernel/blocks/ERROR_codes.txt:
  error codes
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  2 new error inserts
  7030 - delay in GCP_PREPARE until checkLocalNodefailComplete is true
  7031 - delay in GCP_PREPARE and die
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Dont set api con timer to 0, as this might trigger asserion in timeoutfound lab if state == PREPARE_TO_COMMIT
ndb/test/ndbapi/testNodeRestart.cpp:
  testcase
ndb/test/run-test/daily-basic-tests.txt:
  autotest
2006-06-01 08:24:05 +02:00
unknown
76343a5dce Post-merge fixes 2006-05-31 22:55:45 -07:00
unknown
34c6f402d3 Manual merge 2006-05-31 18:12:13 -07:00
unknown
eb51f9e0d1 Merge rurik.mysql.com:/home/igor/tmp_merge
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0


BitKeeper/deleted/.del-errmsg.txt~31abf77f9e7b9211:
  Auto merged
BitKeeper/deleted/.del-sql_state.h~4307ea5f1fe99019:
  Auto merged
mysql-test/r/explain.result:
  Auto merged
mysql-test/r/key_cache.result:
  Auto merged
mysql-test/r/preload.result:
  Auto merged
mysql-test/t/explain.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/sql_base.cc:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~11edc4db89248c16:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~184eb1f09242dc72:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~2cdeb8d6f80eba72:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~4617575065d612b9:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~587903f9311db2d1:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~606dfaeb9e81aa4e:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~6bbd9eac7f0e6b89:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~7397c423c52c6d2c:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~898865062c970766:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~8ed1999cbd481dc4:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~94a93cc742fca24d:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~9dab24f7fb11b1e1:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~b44a85a177954da0:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~b6181e29d8282b06:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~ba132dc9bc936c8a:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~e2609fdf7870795:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~e3183b99fbba0a9c:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~eeb2c47537ed9c23:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~ef28b592c7591b7:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~ef53c33ac0ff8a84:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~f19bfd5d4c918964:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
  Manual merge
BitKeeper/deleted/.del-errmsg.txt~ffe4a0c9e3206150:
  Manual merge
BitKeeper/deleted/.del-mysqld_error.h~9dac75782467aab7:
  Manual merge
2006-05-31 18:10:02 -07:00
unknown
168cad46ab Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-5.0
into  devsrv-b.mysql.com:/users/msvensson/mysql-5.0
2006-06-01 00:01:52 +02:00
unknown
f6e87e8d39 Import patch from yaSSL
- avoid allocating memory for each call to 'EVP_md5' and 
   'EVP_des_ede3_cbc' which were not released until server was stopped
 - Those functions are used from the SQL function 'des_encrypt' and
   'des_decrypt'.


extra/yassl/include/openssl/ssl.h:
  Import patch yassl.diff
extra/yassl/include/yassl_int.hpp:
  Import patch yassl.diff
extra/yassl/src/ssl.cpp:
  Import patch yassl.diff
extra/yassl/src/template_instnt.cpp:
  Import patch yassl.diff
extra/yassl/src/yassl_int.cpp:
  Import patch yassl.diff
2006-05-31 23:36:50 +02:00
unknown
afd1a8e456 Add define YASLSL_PREFIX
extra/yassl/src/Makefile.am:
  Add defined YASSL_PREFIX when building yassl/src
extra/yassl/testsuite/Makefile.am:
  Add defined YASSL_PREFIX when building yassl/testsuite
2006-05-31 23:06:56 +02:00
unknown
0c29fb8850 Add new define YASSL_PREFIX beforee including ssl.h to activate inclusion of prefix_*.h files 2006-05-31 22:21:40 +02:00
unknown
58393914c4 Import from yaSSL
extra/yassl/include/openssl/crypto.h:
  Import patch yassl.diff
extra/yassl/include/openssl/ssl.h:
  Import patch yassl.diff
2006-05-31 22:19:17 +02:00
unknown
4aef3b2240 Bug#14157: utf8 encoding in binlog without set character_set_client
adapting to pushbuild's custom to switch from default pathes. The name for
var directory must be set with MYSQLTEST_VARDIR.


mysql-test/t/mysqlbinlog.test:
  correction of log path since pushbuild uses non-default options.
2006-05-31 19:49:38 +02:00
unknown
0444d22f2d Merge shellback.(none):/home/msvensson/mysql/bug19575/my50-bug19575
into  shellback.(none):/home/msvensson/mysql/mysql-5.0


extra/yassl/include/openssl/ssl.h:
  Auto merged
2006-05-31 16:32:08 +02:00
unknown
3ebe4455c2 Bug#20022 mysql-test-run can't be run with secure connections turned on for all testcases
- Part 1, fixes rpl- and federated-tests where connection is made to 127.0.0.1


client/mysqltest.c:
  Turn on ssl_verify_server_cert only if host is "localhost"
2006-05-31 16:28:03 +02:00
unknown
e03f47859f Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init
- Include prefix files that renames all public functions in yaSSLs
   OpenSSL API to ya<function_name>. They will otherwise conflict
   with OpenSSL functions if loaded by an application that uses OpenSSL
   as well as libmysqlclient with yaSSL support.


client/Makefile.am:
  Remove $yassl_includes
  ...and one "suspicious line"
config/ac-macros/yassl.m4:
  Remove yassl_includes as they are the same as "normal" include
extra/yassl/include/openssl/crypto.h:
  Add include file "prefix_crypto.h" to rename SSL_* functions to yaSSL_*
extra/yassl/include/openssl/ssl.h:
  Add include file "prefix_crypto.h" to rename SSL_* functions to yaSSL_*
libmysql/Makefile.am:
  Remove yassl_includes
libmysql_r/Makefile.am:
  Remove yassl_includes
libmysqld/Makefile.am:
  Remove yassl_includes
  And one suspicious line
libmysqld/examples/Makefile.am:
  Remove yassl_includes
server-tools/instance-manager/Makefile.am:
  Remove yassl_includes
sql/Makefile.am:
  Remove yassl_includes
tools/Makefile.am:
  Add link with yaSSL libs
vio/Makefile.am:
  Remove yassl_includes
extra/yassl/include/openssl/generate_prefix_files.pl:
  Add utility script to parse the header files to generate the prefix_* files that renames yaSSL SSL_* functions
extra/yassl/include/openssl/prefix_crypto.h:
  Add prefix file for crypto.h
extra/yassl/include/openssl/prefix_ssl.h:
  Add prefix file for ssl.h
2006-05-31 16:19:06 +02:00
unknown
8efe592d58 Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug19604
2006-05-31 16:15:50 +02:00
unknown
2d0ec44bd3 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/marty/MySQL/mysql-5.0


ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-05-31 15:32:49 +02:00
unknown
445e828785 Removed dead code that had been commented out 2006-05-31 15:07:11 +02:00
unknown
b5000fbaa7 Bug#18235: assertion/crash when windows mysqld is ended with ctrl-c
Two threads both try a shutdown sequence which creates a race to the
de-init/free of certain resources.

This exists in similar form in the client as 17926: "mysql.exe crashes
when ctrl-c is pressed in windows."


sql/mysqld.cc:
  We have three potential ways of hitting the iceberg:
  - unireg_end()   has basic de-init
  - unireg_abort() has extended de-init
  - main() has a de-init sequence similar to unireg_abort()
  
  In the Windows version of the server, Control-C is handled
  in a different thread from the one main() is in.  The main
  loop is told to end, then unireg_abort() is called.  Its
  de-init and that of main() will then race each other for
  mutex- and cond-var-destroys, free(), and finally exit().
  
  This patch introduces a special case for Windows that will eliminate
  the race by ending the signal-handler via unireg_end() instead if
  SIGINT is signalled.  This seems the least intrusive fix that still
  fixes user-visible behaviour.
2006-05-31 14:27:31 +02:00
unknown
1b701050e4 BUG#14157: utf8 encoding in binlog without set character_set_client
missed table to drop after merge from 4.1 


mysql-test/r/mysqlbinlog.result:
  result changed
mysql-test/t/mysqlbinlog.test:
  manual merge post-fix
2006-05-31 12:51:21 +02:00
unknown
8c7209e5f3 Merge dl145k.mysql.com:/tmp/andrei/MERGE/mysql-4.1
into  dl145k.mysql.com:/tmp/andrei/MERGE/5.0


BitKeeper/deleted/.del-config.guess~fd94a91a69a8ce8:
  Auto merged
BitKeeper/deleted/.del-config.sub~d18f703b655db258:
  Auto merged
BitKeeper/deleted/.del-ltmain.sh~9b8b907df176f96e:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  manual merge, accepting 4.1 mods
sql/sql_class.cc:
  use local, Ramil explained it's a backport
2006-05-31 10:47:16 +02:00
unknown
a9e1cf7244 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-05-31 10:33:38 +02:00
unknown
4a1d076342 Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
CHECK TABLE did temporarily clear the auto_increment value.
It runs with a read lock, allowing other readers and
conurrent INSERTs. The latter could grab the wrong value
in this moment.

CHECK TABLE does no longer modify the auto_increment value.
Not even for a short moment.


myisam/mi_check.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  In chk_key() and update_auto_increment_key() in the repair_only
  case, do not touch info->s->state.auto_increment. Especially
  chk_key() can be called from CHECK TABLE with a read lock.
  Concurrent inserts could grab a temporarily changed value.
  Added minor style fixes.
myisam/mi_key.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Changed update_auto_increment() to retrieve_auto_increment()
  to reflect that it does not change the auto_increment by
  itself any more. This must now be done externally if needed.
myisam/mi_update.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Added explicit update of info->s->state.auto_increment
  after the change from update_auto_increment() to
  retrieve_auto_increment().
myisam/mi_write.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Added explicit update of info->s->state.auto_increment
  after the change from update_auto_increment() to
  retrieve_auto_increment().
myisam/myisamdef.h:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Changed update_auto_increment() to retrieve_auto_increment()
  to reflect that it does not change the auto_increment by
  itself any more. This must now be done externally if needed.
2006-05-31 10:22:44 +02:00
unknown
11dbc1c48f Bug#19648
"Merge table does not work with bit types"
   MERGE should have HA_CAN_BIT_FIELD feature bit set or else table row is
   formatted incorrectly.


mysql-test/r/merge.result:
  Bug#19648
    Test for fix
mysql-test/t/merge.test:
  Bug#19648
    Test for fix
sql/ha_myisammrg.h:
  Bug#19648
    Must have HA_CAN_BIT_FIELD for BIT type support
2006-05-30 17:10:53 -07:00
unknown
f90f2c58d3 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/space/pekka/ndb/version/my50
2006-05-30 22:54:06 +02:00
unknown
63d6336465 item_cmpfunc.cc, func_in.result, multi_update.result:
After merge fix


mysql-test/r/multi_update.result:
  After merge fix
mysql-test/r/func_in.result:
  After merge fix
sql/item_cmpfunc.cc:
  After merge fix
2006-05-30 23:05:34 +04:00
unknown
7b639f05f8 Manually merged
mysql-test/t/func_in.test:
  Auto merged
2006-05-30 19:16:30 +04:00
unknown
a9824f263d Merge moonbone.local:/work/18630-bug-4.1-mysql
into moonbone.local:/work/18360-bug-4.1-mysql-opt
2006-05-30 18:57:08 +04:00
unknown
e066cb33b2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/mnt/storeage/mysql-5.0-maint_bug18669


sql/sql_parse.cc:
  Auto merged
2006-05-30 08:22:12 -04:00
unknown
f982aa934a Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/marty/MySQL/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
2006-05-30 13:20:38 +02:00
unknown
8a5ca696ec Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-05-30 14:47:07 +05:00
unknown
24240329d4 Merge mysql.com:/home/alik/MySQL/devel/5.0-rt
into  mysql.com:/home/alik/MySQL/devel/5.0-tree
2006-05-30 13:22:49 +04:00
unknown
cce062f43a Merge mysql.com:/usr/home/ram/work/mysql-4.1
into  mysql.com:/usr/home/ram/work/mysql-5.0


client/mysqlbinlog.cc:
  merge
2006-05-30 13:16:11 +05:00
unknown
f27a0eed21 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  rurik.mysql.com:/home/igor/mysql-4.1
2006-05-30 00:17:50 -07:00
unknown
a2993441ab Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX
refers to a column name.


mysql-test/r/select.result:
  Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX
  refers to a column name.
  Added a new test case.
mysql-test/t/select.test:
  Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX
  refers to a column name.
  Added a new test case.
sql/share/czech/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/danish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/dutch/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/english/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/estonian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/french/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/german/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/greek/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.\
sql/share/hungarian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/italian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/japanese-sjis/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.\
sql/share/japanese/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/korean/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/norwegian-ny/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/norwegian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/polish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/portuguese/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/romanian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/russian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/serbian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/slovak/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/spanish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/swedish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/ukrainian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
2006-05-30 00:08:58 -07:00
unknown
128c3942a8 Bug#17204 "second CALL to procedure crashes Server"
Bug#18282 "INFORMATION_SCHEMA.TABLES provides inconsistent info about invalid views"
This bug caused crashes or resulted in wrong data being returned
when one tried to obtain information from I_S tables about views
using stored functions.

It was caused by the fact that we were using LEX representing
statement which were doing select from I_S tables as active LEX
when contents of I_S table were built. So state of this LEX both
affected and was affected by open_tables() calls which happened
during this process. This resulted in wrong behavior and in
violations of some of invariants which caused crashes.

This fix tries to solve this problem by properly saving/resetting
and restoring part of LEX which affects and is affected by the
process of opening tables and views in get_all_tables() routine.
To simplify things we separated this part of LEX in a new class
and made LEX its descendant.


mysql-test/r/information_schema_db.result:
  test case
mysql-test/t/information_schema_db.test:
  test case
sql/sql_lex.cc:
  To simplify saving/resetting and restoring part of LEX which
  affects and is affected by the process of opening tables and
  views we moved it to new class Query_tables_list and made LEX
  descendant of this class. Also introduced two LEX methods 
  which can be used to save and reset or to restore this state.
sql/sql_lex.h:
  To simplify saving/resetting and restoring part of LEX which
  affects and is affected by the process of opening tables and
  views we moved it to new class Query_tables_list and made LEX
  descendant of this class. Also introduced two LEX methods 
  which can be used to save and reset or to restore this state.
sql/sql_show.cc:
  Now in get_all_tables() routine we properly save/reset and
  restore part of LEX (statement table list and information
  about routines used) which affects and is affected by the
  process of opening tables and views.
sql/sql_table.cc:
  Now we clean-up LEX after opening table (view) in two stages.
  In the first stage we call LEX::cleanup_after_one_table_open()
  to clean-up selects lists and derived tables state. In the
  second stage which happens after close_thread_tables() is
  invoked we call Query_tables_list::reset_query_tables_list(FALSE)
  to rollback changes in Query_tables_list.
2006-05-30 10:45:23 +05:00
unknown
63da222ae0 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/space/pekka/ndb/version/my50
2006-05-30 05:05:30 +02:00
unknown
c007dabaf6 Fixed bug#18360: Incorrect type coercion in IN() results in false comparison
The IN() function uses agg_cmp_type() to aggregate all types of its arguments
to find out some common type for comparisons. In this particular case the 
char() and the int was aggregated to double because char() can contain values
like '1.5'. But all strings which do not start from a digit are converted to
0. thus 'a' and 'z' become equal. 
This behaviour is reasonable when all function arguments are constants. But 
when there is a field or an expression this can lead to false comparisons. In
this case it makes more sense to coerce constants to the type of the field
argument.

The agg_cmp_type() function now aggregates types of constant and non-constant
items separately. If some non-constant items will be found then their
aggregated type will be returned. Thus after the aggregation constants will be
coerced to the aggregated type. 


mysql-test/t/func_in.test:
  Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
mysql-test/r/func_in.result:
  Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
sql/item_cmpfunc.cc:
  Fixed bug#18360: Incorrect type coercion in IN() results in false comparison.
  The agg_cmp_type() function now aggregates types of constant and non-constant
  items separately. If some non-constant items will be found then their
  aggregated type will be returned. Thus after the aggregation constants will
  be coerced to the aggregated type.
2006-05-30 00:36:48 +04:00
unknown
6257ab54eb Merge 2006-05-29 20:25:30 +02:00
unknown
8e60a6a47a make_win_src_distribution.sh:
Convert to DOS EOL if dsp/dsw is in package


scripts/make_win_src_distribution.sh:
  Convert to DOS EOL if dsp/dsw is in package
2006-05-29 20:09:22 +02:00
unknown
cbc265094b Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-05-29 19:17:55 +02:00
unknown
c561933301 Manually merged
mysql-test/t/multi_update.test:
  Auto merged
2006-05-29 19:07:35 +04:00
unknown
9e398f156f Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint_from_5.1
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-05-29 16:33:32 +02:00
unknown
8e025f51f1 Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-05-29 16:31:36 +02:00
unknown
5c1b4afb44 Add missing drop table 2006-05-29 16:27:45 +02:00
unknown
976f31c51d Fix for BUG#18023: IM: instance can be started several times;
monitor interval must be > 2sec.


server-tools/instance-manager/guardian.cc:
  Start instance only if it is really crashed.
2006-05-29 17:30:30 +04:00