Commit graph

7202 commits

Author SHA1 Message Date
unknown
ce8af21694 Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/3443


innobase/dict/dict0dict.c:
  Auto merged
innobase/include/trx0trx.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
mysql-test/r/innodb.result:
  Merge fixes.
mysql-test/t/innodb.test:
  Merge fixes.
2005-09-23 16:44:25 +03:00
unknown
e4b0b0d00c Fix bug #3443, better foreign key error messsages.
innobase/dict/dict0dict.c:
  Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format.
innobase/include/dict0dict.h:
  Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format.
innobase/include/os0file.h:
  Add os_file_read_string.
innobase/include/trx0trx.h:
  Add trx_set_detailed_error and trx_set_detailed_error_from_file functions
  and a detailed_error field to trx_struct.
innobase/include/ut0mem.h:
  Add ut_strlcpy.
innobase/os/os0file.c:
  Add os_file_read_string.
innobase/row/row0ins.c:
  Add row_ins_set_detailed function and call it when needed.
  
  Adapt to changes in dict_print_info_on_foreign_key_in_create_format.
innobase/trx/trx0trx.c:
  Add trx_set_detailed_error and trx_set_detailed_error_from_file.
  
  Clear trx->detailed_error in trx_create.
innobase/ut/ut0mem.c:
  Add ut_strlcpy.
mysql-test/r/innodb.result:
  Add new tests, adapt existing ones whose output was changed.
mysql-test/t/innodb.test:
  Add new tests, adapt existing ones whose output was changed.
sql/ha_innodb.cc:
  Add get_error_message.
  
  Clear trx->detailed_error in start_stmt and external_lock.
sql/ha_innodb.h:
  Add get_error_message.
sql/handler.cc:
  Add special case code in print_error for HA_ERR_ROW_IS_REFERENCED and
  HA_ERR_NO_REFERENCED_ROW.
  
  Change SETMSG to point to new error messages.
sql/share/errmsg.txt:
  Add ER_ROW_IS_REFERENCED_2 and ER_NO_REFERENCED_ROW_2.
2005-09-23 16:22:27 +03:00
unknown
52f2282813 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg13407


sql/mysqld.cc:
  Auto merged
2005-09-23 17:10:05 +04:00
unknown
8fd06541eb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-09-23 14:38:26 +02:00
unknown
72a8049b0d Merge from 4.1 to 5.0
mysql-test/r/loaddata.result:
  Add drop tablea after test case
mysql-test/r/type_decimal.result:
  Update warnings
mysql-test/r/union.result:
  Miss in merge
mysql-test/t/loaddata.test:
  Add drop table after test case
sql/opt_sum.cc:
  Add missing }
sql/sql_load.cc:
  Manual merge
2005-09-23 14:37:22 +02:00
unknown
32de973588 Fix for BUG#13419: In "ref" optimizer, take into account that item=Item_func_in(x,y) is
not equivalent to "x=y" when item->negated == TRUE.


mysql-test/r/func_in.result:
  Testcase for BUG#13419
mysql-test/t/func_in.test:
  Testcase for BUG#13419
sql/sql_select.cc:
  Fix for BUG#13419:
  * Take into account that item=Item_func_in(x,y) is not equivalent to "x=y" when 
    item->negated == TRUE.
  * Removed comment that is no longer true.
2005-09-23 13:43:20 +04:00
unknown
c08721e5fa Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100


myisam/mi_dbug.c:
  Auto merged
myisam/mi_rkey.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisammrg/myrg_rkey.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
mysql-test/r/merge.result:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
mysql-test/t/merge.test:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
2005-09-23 10:49:08 +02:00
unknown
125f5a7993 Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/13315
2005-09-23 11:22:05 +03:00
unknown
6fbbb1d5be InnoDB: Fix bug #13315, index columns having a maximum length of 767.
innobase/data/data0data.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/dict/dict0dict.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/include/dict0mem.h:
  Rename DICT_MAX_COL_PREFIX_LEN to DICT_MAX_INDEX_COL_LEN.
innobase/include/row0mysql.h:
  Add field_lengths parameter to row_create_index_for_mysql.
innobase/rem/rem0rec.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/row/row0mysql.c:
  Add field_lengths parameter to row_create_index_for_mysql and use it to
  check for too long index columns.
mysql-test/r/innodb.result:
  New tests.
mysql-test/t/innodb.test:
  New tests.
sql/ha_innodb.cc:
  Create temporary field_lengths buffer and pass it to
  row_create_index_for_mysql.
2005-09-23 11:20:34 +03:00
unknown
674c8165ea Bug#9112 - Merge table with composite index producing invalid results with some queries
The problem was an ab-use of last_rkey_length.
Formerly we saved the packed key length (of the search key)
in this element. But in certain cases it got replaced by 
the (packed) result key length.
Now we use a new element of MI_INFO to save the packed key 
length of the search key.


myisam/mi_dbug.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Fixed the recognition of NULL values in _mi_print_key().
myisam/mi_rkey.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Saved the packed key length in a new element of MI_INFO.
myisam/mi_search.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Added a comment and trace prints.
myisam/myisamdef.h:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Added a new element to store the packed key length
  for use by the MyISAMMRG engine.
myisammrg/myrg_rkey.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Changed to use the new element of MI_INFO to get at the
  packed key length.
mysql-test/r/merge.result:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  The test result.
mysql-test/t/merge.test:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  The test case.
2005-09-23 10:15:11 +02:00
unknown
8be844e451 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b13046
2005-09-23 12:57:40 +05:00
unknown
129300f13d Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0


client/mysqltest.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/t/func_group.test:
  Auto merged
mysql-test/t/loaddata.test:
  Auto merged
mysql-test/t/type_decimal.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/r/func_group.result:
  Manual merge
mysql-test/r/loaddata.result:
  Manual merge
mysql-test/r/type_decimal.result:
  Manual merge
mysql-test/r/union.result:
  Manual merge
sql/field_conv.cc:
  aborting fix for 7589
sql/opt_sum.cc:
  Manual merge
sql/sql_load.cc:
  Manual merge
sql/sql_yacc.yy:
  Aborting fix for 11553
2005-09-23 09:18:56 +02:00
unknown
13fa84a7e2 Fix CAST(1.0e+300 TO SIGNED). (Bug #13344)
mysql-test/r/cast.result:
  Update results
mysql-test/t/cast.test:
  Add regression test
sql/item.h:
  Cap Item_real::val_int() to LONGLONG_MIN and LONGLONG_MAX.
2005-09-22 15:59:13 -07:00
unknown
38ebb6c638 Merge mysqldev@production.mysql.com:my/mysql-5.0-release
into  mysql.com:/opt/local/work/mysql-5.0-root


BitKeeper/etc/ignore:
  auto-union
include/my_sys.h:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/ctype_ujis.test:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
2005-09-23 00:46:59 +04:00
unknown
17feba98d4 Fix for bug #13407 "Remote connecting crashes server" and couple of similar
problems which were introduced during work on WL#2787 "Add view definer/owner
to the view definition (.frm) to check privileges on used tables and stored
routines when using a VIEW."

In some cases it is better to use value from Security_context::host_or_ip
instead of value from Security_context::host since the latter can be NULL
in certain situations (When we can't resolve hostname or we have not done
this yet).


mysql-test/r/skip_name_resolve.result:
  Added test for bug #13407 "Remote connecting crashes server".
mysql-test/t/skip_name_resolve.test:
  Added test for bug #13407 "Remote connecting crashes server".
sql/item_strfunc.cc:
  Item_func_user::val_str():
    It is better to use value from Security_context::host_or_ip instead of
    value from Security_context::host in the result of USER() function since
    the latter can be NULL in certain situations (When we can't resolve hostname
    or we have not done this yet. Reverted back to old code).
sql/mysqld.cc:
  handle_connections_shared_memory():
   THD::host member has moved to the Security_context class.
   New THD::security_ctx member points to active security context.
sql/sql_show.cc:
  mysqld_list_processes():
    It is better to use value from Security_context::host_or_ip instead of
    value from Security_context::host in the processlist since the latter
    can be NULL in certain situations (When we can't resolve hostname or we
    have not done this yet. Reverted back to old code).
2005-09-22 23:03:53 +04:00
unknown
0f0f72c74f Fix handling of NULL values in decimal fields in FORMAT(). (Bug #13361)
mysql-test/r/func_str.result:
  Add new results
mysql-test/t/func_str.test:
  Add new regression test
sql/item_strfunc.cc:
  Handle NULL decimal fields in FORMAT().
2005-09-22 11:40:22 -07:00
unknown
fe61a61355 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/gluh/MySQL/Merge/4.1
2005-09-22 12:46:50 +05:00
unknown
91ed9588bf Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
set auto_increment_field_not_null to true to preserve zero values
  for autoincrement fields during LOAD DATA execution if 
  NO_AUTO_VALUE_ON_ZERO sql mode is set


mysql-test/r/loaddata.result:
  Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
    test case
mysql-test/t/loaddata.test:
  Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
    test case
2005-09-22 12:46:01 +05:00
unknown
12b25c2758 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-push
2005-09-22 09:20:23 +02:00
unknown
2543c551cb Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-push
2005-09-22 09:13:14 +02:00
unknown
6532bfdd47 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0


mysql-test/r/ndb_alter_table.result:
  Auto merged
mysql-test/t/ndb_alter_table.test:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
2005-09-22 09:10:11 +02:00
unknown
8e78ba93ec Add testcase for bug#13316
ndb big alter table


mysql-test/r/ndb_alter_table.result:
  Add testcase for bug#13316
mysql-test/t/ndb_alter_table.test:
  Add testcase for bug#13316
2005-09-22 09:09:27 +02:00
unknown
7d6d4c8355 Fixed problems found by valgrind
Fixed problems in test suite where some test failed
Fixed access to not initialized memory in federated
Fixed access to not initialized memory when using BIT fields in internal temporary tables


BitKeeper/etc/ignore:
  added libmysqld/sql_cursor.h
mysql-test/r/information_schema.result:
  Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middlecd
mysql-test/r/information_schema_inno.result:
  Remove used tables at start
mysql-test/r/multi_statement.result:
  Remove used tables at start
mysql-test/r/temp_table.result:
  Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/r/type_bit.result:
  More tests
mysql-test/t/information_schema.test:
  Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/information_schema_inno.test:
  Remove used tables at start
mysql-test/t/multi_statement.test:
  Remove used tables at start
mysql-test/t/temp_table.test:
  Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/type_bit.test:
  More tests
mysql-test/valgrind.supp:
  Removed some valgrind warnings that isn't errors
sql/ha_federated.cc:
  Fixed errors discovered by valgrind:
  - Socket was not initialized
  - share->scheme was deleted while there was still pointer into it from the hash
sql/item_func.h:
  Remove access to table object from cleanup() as the table object may have been dropped earlier (In case of temporary tables or of close_thread_tables() is run before cleanup())
  This fixed a bug with access to already freed memory
sql/sql_base.cc:
  Reset variables used by fulltext
sql/sql_select.cc:
  Fixed various problems with bit fields when used in internal temporary tables.
  Calculate space needed for bit fields correctly (previously we allocated more space than needed for rows in heap/myisam tables)
2005-09-22 03:23:07 +03:00
unknown
c64d0fc634 Manual merge
mysql-test/r/update.result:
  Auto merged
mysql-test/t/update.test:
  Auto merged
2005-09-22 02:38:14 +04:00
unknown
813fc4104e A fix and a test case for Bug#6513 "Test Suite: Values inserted by using
cursor is interpreted latin1 character and Bug#9819 "Cursors: Mysql Server
Crash while fetching from table with 5 million records."
A fix for a possible memory leak when fetching into an SP cursor
in a long loop.
The patch uses a common implementation of cursors in the binary protocol and 
in stored procedures and implements materialized cursors.
For implementation details, see comments in sql_cursor.cc


include/my_sys.h:
  - declaration for multi_alloc_root
libmysqld/Makefile.am:
  - drop protocol_cursor.cc, add sql_cursor.cc (replaces the old
  implementation of cursors with a new one)
mysql-test/r/ctype_ujis.result:
  - test results fixed (a test case for Bug#6513)
mysql-test/r/sp-big.result:
  - test results fixed (a test case for Bug#9819)
mysql-test/t/ctype_ujis.test:
  Add a test case for Bug#6513 "Test Suite: Values inserted by using cursor is
   interpreted latin1 character"
mysql-test/t/sp-big.test:
  Add a restricted test case for Bug#9819 "Cursors: Mysql Server Crash
  while fetching from table with 5 million records."
mysys/my_alloc.c:
  - an implementation of multi_alloc_root; this is largely a copy-paste
    from mulalloc.c, but the function is small and there is no easy way
    to reuse the existing C function.
sql/Makefile.am:
  - add sql_cursor.h, sql_cursor.cc (a new implementation of stored procedure
  cursors) and drop protocol_cursor.cc (the old one)
sql/handler.cc:
  - now TABLE object has its mem_root always initialized.
    Adjust the implementation handler::ha_open
sql/item_subselect.cc:
  - adjust to the changed declaration of st_select_lex_unit::prepare
sql/protocol.h:
  - drop Protocol_cursor
sql/sp_head.cc:
  - move juggling with Query_arena::free_list and Item::next to
    sp_eval_func_item, as this is needed in 3 places already.
sql/sp_head.h:
  - declare a no-op implementation for cleanup_stmt in sp_instr_cpush.
    This method is needed for non-materializing cursors, which are yet not 
    used in stored procedures.
  - declaration for sp_eval_func_item
sql/sp_rcontext.cc:
  - reimplement sp_cursor using the new implementation of server side cursors.
  - use sp_eval_func_item to assign values of SP variables from the
    row fetched from a cursor. This should fix a possible memory leak in 
    the old implementation of sp_cursor::fetch
sql/sp_rcontext.h:
  - reimplement sp_cursor using the new implementation of server side cursors.
sql/sql_class.cc:
  - disable the functionality that closes transient cursors at commit/rollback;
    transient cursors are not used in 5.0, instead we use materialized ones.
    To be enabled in a later version.
sql/sql_class.h:
  - adjust to the rename Cursor -> Server_side_cursor
  - additional declarations of select_union used in materialized cursors
sql/sql_derived.cc:
  - reuse bits of tmp table code in UNION, derived tables, and materialized
    cursors
  - cleanup comments
sql/sql_lex.h:
  - declarations of auxiliary methods used by materialized cursors
  - a cleanup in st_select_lex_unit interface
sql/sql_list.h:
  - add an array operator new[] to class Sql_alloc
sql/sql_prepare.cc:
  - split the tight coupling of cursors and prepared statements to reuse 
    the same implementation in stored procedures
  - cleanups of error processing in Prepared_statement::{prepare,execute}
sql/sql_select.cc:
  - move the implementation of sensitive (non-materializing) cursors to 
    sql_cursor.cc
  - make temporary tables self-contained: the table, its record and fields
    are allocated in TABLE::mem_root. This implementation is not clean
    and resets thd->mem_root several times because of the way create_tmp_table 
    works (many additional things are done inside it).
  - adjust to the changed declaration of st_select_lex_unit::prepare
sql/sql_select.h:
  - move the declaration of sensitive (non-materializing) cursors to 
    sql_cursor.cc
sql/sql_union.cc:
  - move pieces of st_select_unit::prepare to select_union and st_table
    methods to be able to reuse code in the implementation of materialized
    cursors
sql/sql_view.cc:
  - adjust to the changed signature of st_select_lex_unit::prepare
sql/table.cc:
  - implement auxiliary st_table methods for use with temporary tables
sql/table.h:
  - add declarations for auxiliary methods of st_table used to work with 
   temporary tables
tests/mysql_client_test.c:
  - if cursors are materialized, a parallel update of the table used
    in the cursor may go through: update the test.
sql/sql_cursor.cc:
  New BitKeeper file ``sql/sql_cursor.cc'' -- implementation of server side
  cursors
sql/sql_cursor.h:
  New BitKeeper file ``sql/sql_cursor.h'' - declarations for
  server side cursors.
2005-09-22 02:11:21 +04:00
unknown
14deb9632b Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/13180-bug-4.1-mysql
2005-09-22 01:48:39 +04:00
unknown
1b02a815dd Fix bug #13180 thd->allow_sum_funcs wasn't reset before query processing.
thd->allow_sum_func was left 'true' after previous statement thus allowing
sum funcs to be present in conditions.

thd->allow_sum_func should be set to 0 for each query and each prepared
statement reinitialization. This is done in lex_start() and 
reset_stmt_for_execute().


sql/sql_lex.cc:
  Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing.
  thd->allow_sum_func is set to 0 in lex_start().
sql/sql_prepare.cc:
  Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing.
  thd->allow_sum_func is set to 0 in  reset_stmt_for_execute().
mysql-test/t/update.test:
  Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query
  processing.
mysql-test/r/update.result:
  Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query
  processing.
2005-09-22 01:38:39 +04:00
unknown
14912660c3 Bug#13046: LIKE pattern matching using prefix
index doesn't return correct result
item_cmpfunc.cc:
  Use charset of LIKE to decide whether
  to use 8bit or Unicode "escape" value.
  But use charset of "escape" to scan escape character.
strings/ctype-xxx.c:
  We cannot reduce "end" pointer using charpos(),
  because of possible escape characters in the string.
  Limit the loop using count of written characters instead.
ctype_like_escape.inc:
  new file
mysql-test/t/ctype_xxx:
mysql-test/r/ctype_xxx:
  Adding test case.


strings/ctype-big5.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead.
strings/ctype-cp932.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
strings/ctype-gbk.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
strings/ctype-mb.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
strings/ctype-simple.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
strings/ctype-sjis.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
strings/ctype-tis620.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
strings/ctype-ucs2.c:
  Bug#13046: LIKE pattern matching using prefix index doesn't return correct
  result
  We cannot change "end" pointer using charpos(),
  because of possible escape characters.
  Use limit by count of written characters instead
mysql-test/t/ctype_big5.test:
  Adding test case.
mysql-test/t/ctype_cp932.test:
  Adding test case.
mysql-test/t/ctype_gbk.test:
  Adding test case.
mysql-test/t/ctype_latin1.test:
  Adding test case.
mysql-test/t/ctype_sjis.test:
  Adding test case.
mysql-test/t/ctype_tis620.test:
  Adding test case.
mysql-test/t/ctype_uca.test:
  Adding test case.
mysql-test/t/ctype_ucs.test:
  Adding test case.
mysql-test/t/ctype_ujis.test:
  Adding test case.
mysql-test/t/ctype_utf8.test:
  Adding test case.
mysql-test/r/ctype_big5.result:
  Adding test case.
mysql-test/r/ctype_cp932.result:
  Adding test case.
mysql-test/r/ctype_gbk.result:
  Adding test case.
mysql-test/r/ctype_latin1.result:
  Adding test case.
mysql-test/r/ctype_sjis.result:
  Adding test case.
mysql-test/r/ctype_tis620.result:
  Adding test case.
mysql-test/r/ctype_uca.result:
  Adding test case.
mysql-test/r/ctype_ucs.result:
  Adding test case.
mysql-test/r/ctype_ujis.result:
  Adding test case.
mysql-test/r/ctype_utf8.result:
  Adding test case.
sql/item_cmpfunc.cc:
  More fixes.
2005-09-21 23:10:51 +05:00
unknown
8423c278b1 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug13317
2005-09-21 21:39:45 +04:00
unknown
0004c431db Fix for BUG#13317: Make range optimizer able to produce ranges for "view.field IN (c1,c2)"
and "view.field BETWEEN c1 AND c2"


mysql-test/r/range.result:
  Testcase for BUG#13317
mysql-test/t/range.test:
  Testcase for BUG#13317
2005-09-21 21:36:15 +04:00
unknown
09225cef3a Merge mysql.com:/home/timka/mysql/src/4.1-virgin
into  mysql.com:/home/timka/mysql/src/4.1-dbg
2005-09-21 18:58:39 +03:00
unknown
c54ec3866f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-merged


sql/ha_myisam.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-09-21 17:42:44 +02:00
unknown
4956432b12 aftermerge fix 2005-09-21 17:38:26 +02:00
unknown
353dd79b4c Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into  mysql.com:/users/lthalmann/bk/mysql-5.0-rollback-comment
2005-09-21 15:35:37 +02:00
unknown
d770fdce66 Bug #13231 mysqltest: fails to dectect when mysql_next_result fails
- Added functionality to check errors returned from mysql_next_result
 - Exit from mysqltest when and unexpected error occurs.
 - The above fixes reveal problems with rpl000009, sp-error and query_cache-
 - Fix sp-error by adding an expected error
 - Fix rpl000009 by not sending "ok" from mysql_create_db when called with silent flag from load_master_data
 - Fix query_cache in separate patch


client/mysqltest.c:
  Check and handle error after mysql_next_result
  Change several verbose_msg to die so that the error is properly reported
  Clean up of error handling code in run_query_stmt, check all errors and use common
  function handle_error.
mysql-test/r/mysqltest.result:
  mysqltest now dies when a query fails with wrong errno
mysql-test/r/sp-error.result:
  Update test result to match the expected error from calling the sp closing a cursor that is not open.
mysql-test/t/sp-error.test:
  Add missing --error 1326 before call to sp that closes a already closed cursor.
  Add test for bug9367
sql/sql_db.cc:
  Don't send ok in mysql_create_db if silent flag is set.
2005-09-21 15:28:28 +02:00
unknown
906cd821e2 Added clarification comment regarding added ROLLBACK to mysqlbinlog output 2005-09-21 14:27:41 +02:00
unknown
aa7bc459f7 merged
VC++Files/mysys/mysys.dsp:
  Auto merged
VC++Files/mysys/mysys_ia64.dsp:
  Auto merged
client/mysql.cc:
  Auto merged
include/my_sys.h:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/rpl_multi_delete2.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/rpl_multi_delete2-slave.opt:
  Auto merged
mysql-test/t/rpl_multi_delete2.test:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-09-21 13:53:22 +02:00
unknown
56264f9a5c merged 2005-09-21 12:37:51 +02:00
unknown
24922a3092 a fix (bug #7589: Decimal types are ignored when updating data from another column).
mysql-test/r/union.result:
  a fix (bug #7589: Decimal types are ignored when updating data from another column).
  removed wrong test result (see #13372)
mysql-test/t/union.test:
  a fix (bug #7589: Decimal types are ignored when updating data from another column).
  removed wrong test result (see #13372)
sql/field_conv.cc:
  a fix (bug #7589: Decimal types are ignored when updating data from another column).
  use memcpy() only for identical decimals.
2005-09-21 14:32:19 +05:00
unknown
a4243d3c6b Merge mysql.com:/home/timka/mysql/src/4.1-virgin
into  mysql.com:/home/timka/mysql/src/4.1-dbg


sql/opt_sum.cc:
  Auto merged
2005-09-21 09:53:42 +03:00
unknown
8e7217e43b Fix for BUG#12882 - min/max inconsistent on empty table.
The problem was in that the MIN/MAX optimization in opt_sum_query was
replacing MIN/MAX functions with their constant argument without
taking into account that a query has no result rows.


mysql-test/r/func_group.result:
  Test for BUG#12882.
mysql-test/t/func_group.test:
  Test for BUG#12882.
sql/item_sum.cc:
  If it is known that a query has no result rows, do not call add()
  via the call to Item_sum::no_rows_in_result() which calls reset().
  Instead directly call clear() so that the MIN and MAX functions
  produce NULL when there are no result rows.
sql/opt_sum.cc:
  * Do not apply MIN/MAX optimization when the operand of MIN/MAX is
    a constant if it can't be determined whether the query has any
    result rows. The reason is that if the query has result rows,
    then the result of MIN/MAX is its constant argument, but if the
    query result is empty, then the result of MIN/MAX must be NULL
    irrespective of its argument.
  
  * The patch also simplifies a bit the branch that hadles COUNT().
2005-09-21 09:49:19 +03:00
unknown
458a4234e4 Merge mysql.com:/home/psergey/bk-trees/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-csc6030-r3


sql/mysqld.cc:
  Auto merged
2005-09-21 02:20:55 +04:00
unknown
a2a8216b20 BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index
statistics (like 4.0 did) (patch #3, with review #1 & #2 feedback addressed)


include/myisam.h:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
myisam/mi_check.c:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
myisam/myisamchk.c:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
mysql-test/r/myisam.result:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
mysql-test/t/myisam.test:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/ha_myisam.cc:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/handler.h:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/mysqld.cc:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/set_var.cc:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/sql_class.h:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
2005-09-21 02:18:29 +04:00
unknown
aa95f0d447 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-owner5-5.0


sql/ha_innodb.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/item_func.cc:
  merge
2005-09-20 21:27:28 +03:00
unknown
92e2dbb634 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/12812-bug-5.0-mysql
2005-09-20 21:36:43 +04:00
unknown
03045ee70a Fix fur BUG#13348: "multi-table updates and deletes are not logged if no rows were affected".
Not fixed in 4.1 as not critical. Also I'm correcting error checking of multi-UPDATE/DELETE
when it comes to binlogging, to make it consistent with when we rollback the statement.


mysql-test/r/rpl_multi_delete.result:
  result update
mysql-test/r/rpl_multi_update.result:
  result update
mysql-test/t/rpl_multi_delete.test:
  test for BUG#13348
mysql-test/t/rpl_multi_update.test:
  test of BUG#13348
sql/sql_delete.cc:
  We now binlog multi-DELETE even if no row was updated (like we do for DELETE).
  I'm also correcting some error checking (< instead of <=), basing myself on when we rollback.
sql/sql_update.cc:
  we now binlog multi-UPDATE even if no row was updated (like we do for UPDATE).
  Adding to existing tests to test new behaviour.
  I'm also correcting some error checking (< instead of <=), basing myself on when we rollback.
2005-09-20 17:41:47 +02:00
unknown
0aee9b2c19 BUG#12959 mysqltest crashes if testcase passed with -x option
- Enable testcases after help from Serg 


client/mysqltest.c:
  Dump output to stdout if no result file is specified
  Don't print verbose_msg when command fails whith expected error
mysql-test/mysql-test-run.pl:
  Don't add all args to the MYSQL_TEST environment variable.
mysql-test/r/mysqltest.result:
  Add test for mysqltest -x
mysql-test/t/mysqltest.test:
  Add test for mysqltest -x
2005-09-20 14:11:58 +02:00
unknown
2b24a2b5b5 Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into  mysql.com:/home/timka/mysql/src/5.0-bug-13127
2005-09-20 14:03:50 +03:00
unknown
5f81fbb323 Fix for BUG#13127.
The problem was in the way table references are pre-filtered when
resolving a qualified field. When resolving qualified table references
we search recursively in the operands of the join. If there is
natural/using join with a merge view, the first call to find_field_in_table_ref
makes a recursive call to itself with the view as the new table reference
to search for the column. However the view has both nested_join and
join_columns != NULL so it skipped the test whether the view name matches
the field qualifier. As a result the field was found in the view since the
view already has a field with the same name. Thus the field was incorrectly
resolved as the view field.


mysql-test/r/select.result:
  Test for BUG#13127.
mysql-test/t/select.test:
  Test for BUG#13127.
sql/sql_base.cc:
  The patch contains two independent changes:
  
  - When searching for qualified fields, include merge views and information schema tables
  used with SHOW (both using TABLE_LIST::field_translation to represent result fields) in
  the test that compares the qualifying table with the name of the table reference being
  searched. This change fixes the bug.
  
  - Do not search the materialized list of columns of a NATURAL/USING join if 'table_list'
  is a stored table or merge view. Instead search directly in the table or view as if it
  is not under a natural join. This is a performance improvement since if 'table_list'
  is a stored table, then the search can utilize the name hash for table names.
2005-09-20 14:00:39 +03:00
unknown
91fbe52bf9 Cleanups for storage engine patch. Changed two test results to now reflect the changes in storage engines and a couple of comment changes in the code.
mysql-test/r/ps_1general.result:
  Redoing test output with straightened up output for storage engine names.
mysql-test/r/variables.result:
  Fixed test case.
sql/handler.cc:
  Couple of format cleanups and a change in a comment.
2005-09-19 22:08:22 -07:00