Post-merge fixes for nested joins.
The join_tab_cmp function in sql_select has been changed.
join_nested.result:
Post-merge fixes for nested joins.
The join_tab_cmp function in sql_select has been changed
sql_select.cc:
Post-merge fixes for nested joins.
Avoided re-execution of eliminate_not_funcs and simplify_joins
in optimize_cond.
Changed the join_tab_cmp function to take into account
the dependent relation.
sql_lex.cc, sql_lex.h:
Added the first_cond_optimization flag to st_select_lex to avoid
re-execution of some optimizations in optimize_cond.
sql_base.cc:
Post-merge fixes for nested joins.
Fixed problems with a proper column list substituted for '*' in
queries with natural joins.
sql/sql_base.cc:
Post-merge fixes for nested joins.
Fixed problems with a proper column list substituted for '*' in
queries with natural joins.
sql/sql_lex.h:
Added the first_cond_optimization flag to st_select_lex to avoid
re-execution of some optimizations in optimize_cond.
sql/sql_lex.cc:
Added the first_cond_optimization flag to st_select_lex to avoid
re-execution of some optimizations in optimize_cond.
sql/sql_select.cc:
Post-merge fixes for nested joins.
Avoided re-execution of eliminate_not_funcs and simplify_joins
in optimize_cond.
Changed the join_tab_cmp function to take into account
the dependent relation.
mysql-test/r/join_nested.result:
Post-merge fixes for nested joins.
The join_tab_cmp function in sql_select has been changed
mysql-test/r/select.result:
Post-merge fixes for nested joins.
The join_tab_cmp function in sql_select has been changed.
mysql-test/r/subselect2.result:
Post-merge fixes for nested joins.
The join_tab_cmp function in sql_select has been changed.
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/select.result:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.h:
Auto merged
If cost(full_scan_on_shortest_covering_index) < cost(best_range_scan) < cost(full_table_scan)
use full_scan_on_shortest_covering_index
(before this fix best_range_scan was used)
Also added some related security tests and corrected related error messages.
mysql-test/r/sp-error.result:
New test case for BUG#3339, and updated results for other modified error messages.
mysql-test/r/sp-security.result:
Added tests for creating procedures in another database with and wihout
access rights.
mysql-test/t/sp-error.test:
New test case for BUG#3339.
mysql-test/t/sp-security.test:
Added tests for creating procedures in another database with and wihout
access rights.
sql/sp.cc:
Check existance (and access rights) for database when creating a stored routine.
sql/sp.h:
New error return value for sp_create_* functions, for non existing database.
sql/sql_parse.cc:
Check error return for create stored routine (non existing database),
and corrected the error output for some other commands. (Use qualified
name, not just name.)
mysql-test/r/sp.result:
New test case for BUG#3368.
mysql-test/t/sp.test:
New test case for BUG#3368.
sql/item.h:
Corrected const_item() for item_splocal. (Confusing semantics here, but this
makes group_concat() behave as expected, instead of crashing, and does not
appear to affect anything else.)
mysql-test/r/sp.result:
New test case for BUG#3843.
mysql-test/t/sp.test:
New test case for BUG#3843.
sql/sql_yacc.yy:
Added another multi results special case for stored procedures (analyze).
include/my_base.h:
Auto merged
include/my_bitmap.h:
Auto merged
include/my_sys.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
mysys/my_bitmap.c:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/sp.result:
Added testcase for BUG#3132.
mysql-test/t/sp.test:
Added testcase for BUG#3132.
sql/item_func.cc:
Set a useful max_length in Item_func_sp so field widths are correctly calculated.
It's not possible to quote the definition according to the current sql_mode
setting, so instead we use the setting stored with the SP (that's how it's
parsed anyway), and show this setting in the SHOW CREATE output.
mysql-test/r/sp.result:
Modifed SHOW CREATE FUNCTION|PROCEDURE output. Show the sql_mode used at
creation as well.
New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
mysql-test/t/sp.test:
New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
sql/sp.cc:
Rewrote create_string to quote things correctly according to the sql_mode
used at creation time.
sql/sp_head.cc:
Store sql_mode in sp_head and use it for SHOW CREATE.
sql/sp_head.h:
Store sql_mode in sp_head and use it for SHOW CREATE.
mysql-test/r/index_merge.result:
Post-merge update of results. (Ok according to Sanja)
sql/opt_range.cc:
Post-merge fix provided by Sergey Petrunia.
sql/sql_select.cc:
Post-merge fix provided by Sergey Petrunia.
Not finished, will not be pushed until additional fixes have been made.
client/mysqlbinlog.cc:
Post-merge fixes.
mysql-test/r/func_time.result:
Post-merge fixes.
sql/opt_range.cc:
Post-merge fixes.
sql/sql_select.cc:
Post-merge fixes.
include/my_base.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
mysql-test/r/index_merge.result:
Auto merged
mysql-test/r/index_merge_innodb.result:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/opt_range.cc:
Hand merged
sql/opt_range.h:
Hand merged
* Fixed test results.
mysql-test/r/index_merge_ror.result:
Typo fix
mysql-test/r/rowid_order_bdb.result:
new index_merge EXPLAIN output format changes
mysql-test/r/rowid_order_innodb.result:
new index_merge EXPLAIN output format changes
sql/opt_range.cc:
Undo of previous fix:
If cost(full_scan_on_covering_index) < cost(best_range_scan) < cost(full_table_scan)
use full_scan_on_covering_index, not best_range_scan.
The fix affects read plan choice for more queries then initially anticipated, so I'm reverting it for now, will get back to this later
* Fixed a problem with wrong query results for partially covering keys in ROR-index_merge
* ROR-intersection retrieval plan choice algorithm now uses less disk IO
- and properly processes clustered PK range scans
* Fixed several minor range optimizer problems
* Added more comments
* Code cleanup
mysql-test/r/index_merge.result:
New index_merge EXPLAIN output format changes
mysql-test/r/index_merge_innodb.result:
New index_merge EXPLAIN output format changes
mysql-test/r/index_merge_ror.result:
New index_merge EXPLAIN output format changes
Added test for scans on keys that cover fields partially
Fixed a minor ROR optimizer problem
mysql-test/r/index_merge_ror_cpk.result:
More tests added
mysql-test/t/index_merge_ror.test:
New index_merge EXPLAIN output format changes
Added test for scans on keys that cover fields partially
Fixed a minor ROR optimizer problem
mysql-test/t/index_merge_ror_cpk.test:
More tests added
mysys/my_bitmap.c:
Comments added, code cleanup
sql/opt_range.cc:
Comments added, code cleanup
Numerous fixes, see changeset description
sql/opt_range.h:
Comments added, code cleanup
New index_merge EXPLAIN output format related changes
sql/sql_select.cc:
Comments added, code cleanup
New index_merge EXPLAIN output
mysql-test/r/sp.result:
Added test case for BUG#2460.
mysql-test/t/sp.test:
Added test case for BUG#2460.
sql/sql_union.cc:
When called from stored procedures, tabs might be reset already.
BUG#1863: CREATE TABLE in Stored Procedure sometimes crashes on repeated calls.
BUG#2656: select with join in stored procedure: erroneous result on 2nd call.
BUG#3426: IF x IS NULL in stored procedure fails on second call within connection.
BUG#3448: Stored Procedures with inner joins possible bug.
BUG#3734: Stored procedure returns wrong rows with fulltext parameter.
BUG#3863: Stored procedure crash when incrementing variable in a loop.
(And corrected the row count output to the client after CALL)
mysql-test/r/sp.result:
New test case results for fixed bugs.
mysql-test/t/sp.test:
New test cases for fixed bugs.
sql/sql_parse.cc:
Corrected the row_count output to the client.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/rpl_server_id2.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/rpl000015.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_log.test:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_relayrotate.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/rpl_server_id2.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
mysys/my_pthread.c:
Auto merged
netware/BUILD/compile-netware-all:
Auto merged
netware/BUILD/compile-netware-standard:
Auto merged
netware/BUILD/mwenv:
Auto merged
netware/Makefile.am:
Auto merged
netware/my_manage.c:
Auto merged
netware/my_manage.h:
Auto merged
netware/mysql_test_run.c:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/client_test.c:
Auto merged
Remove compiler warnings
Update windows project files
VC++Files/innobase/innobase.dsp:
Update project files after merge
VC++Files/libmysqld/examples/test_libmysqld.dsp:
Update project files after merge
VC++Files/libmysqld/libmysqld.dsp:
Update project files after merge
VC++Files/myisamchk/myisamchk.dsp:
Update project files after merge
VC++Files/myisamlog/myisamlog.dsp:
Update project files after merge
VC++Files/myisampack/myisampack.dsp:
Update project files after merge
VC++Files/mysqldemb/mysqldemb.dsp:
Update project files after merge
VC++Files/sql/mysqld.dsp:
Update project files after merge
VC++Files/strings/strings.dsp:
Update project files after merge
innobase/include/data0data.ic:
Fix compiler warning
innobase/include/mem0pool.h:
Remove reference to not existing variable (after merge fix)
innobase/srv/srv0srv.c:
Remove reference to not existing variable (after merge fix)
libmysqld/libmysqld.def:
Add function used by test programs
mysql-test/r/func_str.result:
After merge fixes
mysql-test/r/variables.result:
After merge fixes
mysql-test/t/variables.test:
After merge fixes
sql/discover.cc:
Remove not used lable
sql/opt_range.cc:
Removed compiler warnings
strings/ctype-tis620.c:
After merge fixes
mysql-test/r/sp.result:
test suite for Bug #2266
mysql-test/t/sp.test:
test suite for Bug #2266
sql/item_subselect.cc:
made ancestor for Statement (Item_arena)
sql/item_subselect.h:
made ancestor for Statement (Item_arena)
sql/item_sum.cc:
made ancestor for Statement (Item_arena)
sql/item_sum.h:
made ancestor for Statement (Item_arena)
sql/mysql_priv.h:
reset_stmt_for_execute use PS and SP
sql/sp_head.cc:
sp_head use Item_arena as ancestor to be PS cleunup compatible
SP use PS storing/restoring/cleanup mechanisms
cleanup() of SP Items added
Items created in temporary memory pool during SP execution saved for normal freeing after SP execution
sql/sp_head.h:
sp_head use Item_arena
sql/sql_base.cc:
made ancestor for Statement (Item_arena)
results of wild_setup made permanent
setup_conds make natural joins expanding only once and store results in PS/SP memory
sql/sql_class.cc:
made ancestor for Statement (Item_arena)
sql/sql_class.h:
made ancestor for Statement (Item_arena)
method to detect PS preparation added
sql/sql_delete.cc:
storing where for DELETE and mark first execution
sql/sql_derived.cc:
use method
sql/sql_insert.cc:
mark first execution for INSERT
sql/sql_lex.cc:
flags to correctly make transformations of query and storing them in memory of PS/SP
made ancestor for Statement (Item_arena)
sql/sql_lex.h:
reved variable od SP ol saving data
flags to correctly make transformations of query and storing them in memory of PS/SP
sql/sql_parse.cc:
cleunup unit for any query
sql/sql_prepare.cc:
made ancestor for Statement (Item_arena)
storing where moved to preparation
changed interface of reset_stmt_for_execute to use it is SP
do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand))
sql/sql_select.cc:
storing where for SELECT/multi-DELETE/... and mark first execution
sql/sql_union.cc:
made ancestor for Statement (Item_arena)
sql/sql_update.cc:
storing where for UPDATE and mark first execution
VC++Files/client/mysqladmin.dsp:
Auto merged
VC++Files/client/mysqldump.dsp:
Auto merged
VC++Files/client/mysqlimport.dsp:
Auto merged
VC++Files/client/mysqlshow.dsp:
Auto merged
VC++Files/dbug/dbug.dsp:
Auto merged
VC++Files/heap/heap.dsp:
Auto merged
VC++Files/innobase/innobase.dsp:
Auto merged
VC++Files/isam/isam.dsp:
Auto merged
VC++Files/isamchk/isamchk.dsp:
Auto merged
VC++Files/libmysql/libmysql.dsp:
Auto merged
VC++Files/mysql.dsw:
Auto merged
BitKeeper/deleted/.del-sync0ipm.ic~2024167f6418de39:
Auto merged
VC++Files/libmysqltest/myTest.dsp:
Auto merged
VC++Files/merge/merge.dsp:
Auto merged
VC++Files/my_print_defaults/my_print_defaults.dsp:
Auto merged
VC++Files/myisam/myisam.dsp:
Auto merged
VC++Files/myisam_ftdump/myisam_ftdump.dsp:
Auto merged
VC++Files/myisammrg/myisammrg.dsp:
Auto merged
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
Auto merged
VC++Files/mysqlcheck/mysqlcheck.dsp:
Auto merged
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
Auto merged
VC++Files/mysqlwatch/mysqlwatch.dsp:
Auto merged
VC++Files/mysys/mysys.dsp:
Auto merged
VC++Files/pack_isam/pack_isam.dsp:
Auto merged
VC++Files/perror/perror.dsp:
Auto merged
VC++Files/regex/regex.dsp:
Auto merged
VC++Files/replace/replace.dsp:
Auto merged
VC++Files/test1/test1.dsp:
Auto merged
VC++Files/thr_test/thr_test.dsp:
Auto merged
VC++Files/vio/vio.dsp:
Auto merged
VC++Files/zlib/zlib.dsp:
Auto merged
extra/my_print_defaults.c:
Auto merged
include/m_string.h:
Auto merged
include/mysql_embed.h:
Auto merged
include/mysql_version.h.in:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/mem/mem0pool.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
myisam/myisam_ftdump.c:
Auto merged
VC++Files/bdb/bdb.dsp:
Merge with 4.0
VC++Files/client/mysql.dsp:
Merge with 4.0
VC++Files/client/mysqlclient.dsp:
Merge with 4.0
VC++Files/comp_err/comp_err.dsp:
Merge with 4.0
VC++Files/libmysqld/examples/test_libmysqld.dsp:
Merge with 4.0
VC++Files/libmysqld/libmysqld.dsp:
Merge with 4.0
VC++Files/myisamchk/myisamchk.dsp:
Merge with 4.0
VC++Files/myisamlog/myisamlog.dsp:
Merge with 4.0
VC++Files/myisampack/myisampack.dsp:
Merge with 4.0
VC++Files/mysqldemb/mysqldemb.dsp:
Merge with 4.0
VC++Files/mysqlserver/mysqlserver.dsp:
Merge with 4.0
VC++Files/sql/mysqld.dsp:
Merge with 4.0
VC++Files/strings/strings.dsp:
Merge with 4.0
libmysqld/lib_sql.cc:
Merge with 4.0
libmysqld/libmysqld.def:
Merge with 4.0
mysql-test/r/func_str.result:
Merge with 4.0
mysql-test/r/handler.result:
auto
mysql-test/r/variables.result:
Merge with 4.0
mysql-test/t/func_str.test:
auto
mysql-test/t/handler.test:
auto
mysql-test/t/variables.test:
Merge with 4.0
scripts/make_win_src_distribution.sh:
auto
scripts/mysql_install_db.sh:
Use original file
sql/Makefile.am:
Merge with 4.0
sql/ha_innodb.cc:
auto
sql/item_strfunc.cc:
Merge with 4.0
sql/mysql_priv.h:
auto
sql/mysqld.cc:
Merge with 4.0
sql/set_var.cc:
Merge with 4.0
sql/slave.cc:
auto
sql/sql_class.h:
auto
sql/sql_handler.cc:
Merge with 4.0
strings/ctype-tis620.c:
Merge with 4.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-explain-4.1
mysql-test/r/func_encrypt.result:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
mysql-test/r/derived.result:
explain of hidden subselect changed according to review
mysql-test/r/subselect.result:
explain of hidden subselect changed according to review
mysql-test/r/union.result:
explain of hidden subselect changed according to review
sql/sql_class.h:
we bo not need sign for now
sql/sql_lex.h:
we do not need sign for now
rpl_relayrotate.test to innodb.test since this test requires innodb support.
mysql-test/t/innodb-master.opt:
Rename: mysql-test/t/rpl_relayrotate-master.opt -> mysql-test/t/innodb-master.opt
work as expected": precision-losing conversion removed from
sys_var_thd_ulonglong.
mysql-test/r/variables.result:
Test case for Bug#3754
mysql-test/t/variables.test:
Test case for Bug#3754
sql/set_var.cc:
Fix for Bug#3754: precision-losing conversion removed from
sys_var_thd_ulonglong.
Fixed wrong number of warnings/duplicates for machines with high-byte-first
client/mysql.cc:
Remove not used variables
client/mysqltest.c:
Remove double ;
myisam/ft_nlq_search.c:
Fix valgrind error (not fatal)
myisam/rt_test.c:
Portability fix
mysql-test/r/rpl_trunc_binlog.result:
Portability fix
mysql-test/t/rpl_trunc_binlog.test:
Portability fix
(Column 23 was different on openbsd)
sql/sql_insert.cc:
Fixed wrong number of warnings/duplicates for machines with high-byte-first
strings/ctype-big5.c:
Portability fix
strings/ctype-gbk.c:
Portability fix
strings/ctype-mb.c:
Portability fix
strings/ctype-uca.c:
Portability fix
tests/client_test.c:
Portability fixes
mysql-test/r/handler.result:
Test case for BUG#3649
mysql-test/t/handler.test:
Test case for BUG#3649
sql/sql_handler.cc:
Fix for BUG#3649: when doing an index scan for an equality condition, use index_next_same to retrieve subsequent rows.
check for field_name (not only for name) in find_item_in_list, to be compatible with item->eq() that is done later
mysql-test/r/order_by.result:
bug#3681 - order by, distinct, refer to aliased field by name
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/eval/eval0eval.c:
Auto merged
innobase/ibuf/ibuf0ibuf.c:
Auto merged
innobase/include/ut0mem.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0umod.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
myisam/mi_dynrec.c:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
innobase/os/os0file.c:
Merge with 4.0.20
Ensure that we call F_UNLCK for files on which we call F_WRLCK.
This is to ensure that this code will be portable accross most platforms.
myisam/ft_boolean_search.c:
Merge with 4.0.20 (keep original file)
myisam/ft_parser.c:
Merge with 4.0.20 (keep original file)
myisam/ftdefs.h:
Merge with 4.0.20 (keep original file)
mysql-test/r/func_encrypt.result:
right SELECT print
mysql-test/r/func_gconcat.result:
make results stable
mysql-test/t/func_gconcat.test:
make results stable