mysql-test/r/csv.result:
update result file
mysql-test/r/log_tables.result:
log_tables test contains alter of a CSV table with
NULLs which results in warnings. In fact this is how
the bug noticed. So, now when it is fixed we should
update result file.
mysql-test/t/csv.test:
add a test for the bug
storage/csv/ha_tina.cc:
We should write 0 to the data file in the
case we meet NULL. CSV does not support
NULL values internally and we shouldn't
distinguish them from 0 when writing a row
(the alternative is to implement full NULL
support). Otherwise other routines (such as
Field::check_int() become confused).
In 5.0 NULLs are stored as zeroes. In 5.1 it
somehow turned into empty string. Which is wrong.
We create Item_cache_* object for each operand for each left operand of
a subquery predicate. We also create Item_func_conv_charset for each string
constant that needs charset conversion. So here we have Item_cache wrapped
into Item_func_conv_charset.
When Item_func_conv_charset wraps an constant Item it gets it's value
in constructor. The problem is that Item_cache is ready to be used only
at execution time, which is too late.
The fix makes Item_cache wrapping constant to get ready at fix_fields() time.
mysql-test/r/subselect.result:
test result
mysql-test/t/subselect.test:
test case
sql/item_cmpfunc.cc:
now Item_optimizer::fix_left will store constant arguments in cache
on fix_fields() stage
Before this fix, a call to a User Defined Function (UDF) could,
under some circumstances, be interpreted as a call to a Stored function
instead. This occurred if a native function was invoked in the parameters
for the UDF, as in "select my_udf(abs(x))".
The root cause of this defect is the introduction, by the fix for Bug 21809,
of st_select_lex::udf_list, and it's usage in the parser in sql_yacc.yy
in the rule function_call_generic (in 5.1).
While the fix itself for Bug 21809 is correct in 5.0, the code change
merged into the 5.1 release created the issue, because the calls in 5.1 to :
- lex->current_select->udf_list.push_front(udf)
- lex->current_select->udf_list.pop()
are not balanced in case of native functions, causing the udf_list,
which is really a stack, to be out of sync with the internal stack
maintained by the bison parser.
Instead of moving the call to udf_list.pop(), which would have fixed the
symptom, this patch goes further and removes the need for udf_list.
This is motivated by two reasons:
a) Maintaining a stack in the MySQL code in sync with the stack maintained
internally in sql_yacc.cc (not .yy) is extremely dependent of the
implementation of yacc/bison, and extremely difficult to maintain.
It's also totally dependent of the structure of the grammar, and has a risk
to break with regression defects each time the grammar itself is changed.
b) The previous code did report construct like "foo(expr AS name)" as
syntax errors (ER_PARSER_ERROR), which is incorrect, and misleading.
The syntax is perfectly valid, as this expression is valid when "foo" is
a UDF. Whether this syntax is legal or not depends of the semantic of "foo".
With this change:
a) There is only one stack (in bison), and no List<udf_func> to maintain.
b) "foo(expr AS name)", when used incorrectly, is reported as semantic error:
- ER_WRONG_PARAMETERS_TO_NATIVE_FCT (for native functions)
- ER_WRONG_PARAMETERS_TO_STORED_FCT (for stored functions)
This is achieved by the changes implemented in item_create.cc
mysql-test/r/parser.result:
New tests
mysql-test/r/udf.result:
New tests
mysql-test/t/parser.test:
New tests
mysql-test/t/udf.test:
New tests
sql/item_create.cc:
Semantic checks for named parameters, as in "foo(expr AS name)".
sql/share/errmsg.txt:
New error message
sql/sql_lex.cc:
Remove usage of udf_list.
sql/sql_lex.h:
Remove usage of udf_list.
sql/sql_yacc.yy:
Remove usage of udf_list.
Backport of functionality in private 5.2 tree.
Added new language to parser, new mysql.servers table and associated code
to be used by the federated storage engine to allow central connection information
per WL entry.
libmysqld/Makefile.am:
WL# 3031
Added sql_servers.cc to libmysqld Makefile.am
mysql-test/lib/init_db.sql:
WL# 3031
Added mysql.servers creation to init_db.sql, which is in turn called by mysql-test-run.pl
scripts/mysql_create_system_tables.sh:
WL# 3031
Added mysql.servers table creation to script called by non-perl mysql-test-run
sql/Makefile.am:
WL# 3031
Added sql_servers source and headers to Makefile.am to be built
sql/lex.h:
WL# 3031
Added tokens needed for SERVERS scheme
sql/mysql_priv.h:
WL #3031
Added sql_servers.h to mysql_priv.h so mysqld.cc and other code can link with sql_servers code
sql/mysqld.cc:
WL# 3031
Added servers_free and servers_init to mysqld
sql/sql_lex.cc:
WL# 3031
Added lex->server_options parameter initialisation
sql/sql_lex.h:
WL #3031
Added SQLCOM commands needed for sql_server actions
sql/sql_parse.cc:
WL# 3031
Added switch actions for new SQLCOM sql_server actions
sql/sql_yacc.yy:
WL #3031
Added tokens needed for sql_servers, CREATE/DROP/ALTER server functionality
sql/share/errmsg.txt:
WL# 3031
Added two new errors to errormsg.sys
storage/federated/ha_federated.cc:
WL #3031
Modified federated storage engine to use new connection scheme (servers
table) if connection string only specifies connection name vs. complete
URL
storage/federated/ha_federated.h:
WL# 3031
Added new share members needed for connection scheme
sql/sql_servers.cc:
WL #3031
sql_servers.cc - all methods required for manipulating mysql.servers table
to work with federated new connection scheme (CREATE/ALTER/DROP SERVER ...)
sql/sql_servers.h:
WL #3031
New header file for sql_servers functionality
mysql-test/r/federated_server.result:
WL #3031
New test results for testing new connection scheme
sql/sql_yacc.yy.bak:
WL #3031
Added tokens and definitions required for new CREATE/ALTER/DROP SERVER
for sql_servers functionality. See WL for details.
mysql-test/t/federated_server.test:
WL #3031
New test for testing CREATE/ALTER/DROP SERVER, as well as testing that
federated works with both tradition connection scheme as well as new
connection scheme.
into chilla.local:/home/mydev/mysql-5.1-axmrg
configure.in:
Auto merged
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
storage/federated/ha_federated.cc:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
into chilla.local:/home/mydev/mysql-5.1-axmrg
configure.in:
Auto merged
include/mysql.h:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
configure.in:
Auto merged
client/mysqldump.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/log.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
storage/ndb/include/util/OutputStream.hpp:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
into kpdesk.mysql.com:/home/thek/dev/mysql-5.1-maint
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/rpl_sp.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
mysql-test/t/rpl_sp.test:
Auto merged
sql/sql_parse.cc:
Auto merged
into kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
mysql-test/t/rpl_sp.test:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/rpl_sp.result:
- Merged
- Merged; updated test case.
mysql-test/r/rpl_sp.result:
- Merged; updated test case for 5.1
mysql-test/t/rpl_sp.test:
- Merged; updated result set for 5.1
into kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/rpl_sp.result:
null merge
mysql-test/t/rpl_sp.test:
null merge
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
client/mysqltest.c:
Auto merged
libmysql/libmysql.c:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
- Refactoring of duplicate code
- Modified bad test cases
- Changed expected error when operating on information_schema.
mysql-test/r/information_schema.result:
- updated result file with new error code.
mysql-test/r/rpl_sp.result:
- Modified test case
mysql-test/t/information_schema.test:
- Changed error code for operations on information_schema
mysql-test/t/rpl_sp.test:
- Modified test case
sql/sql_parse.cc:
- Cleaned up code:
* replace tab with space
* simplified if/switch statements
* refactored duplicated code
into bodhi.local:/opt/local/work/mysql-5.1-runtime
server-tools/instance-manager/guardian.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
into example.com:/work/bug24395-v2/my51
mysql-test/r/alter_table.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
storage/myisam/mi_open.c:
Auto merged
sql/sql_table.cc:
manual merge
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.1-build
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/table.cc:
Auto merged
Server crashes if a flush commmand is issued and binlog is closed.
- added check to prevent binlog access when binlog file isn't opened.
sql/sql_parse.cc:
- removed deprecated environment consistency check.
- added check to prevent binlog access on closed binlog.
mysql-test/t/flush2-master.opt:
- Added test case (master options)
mysql-test/t/flush2.test:
- Added test case
mysql-test/r/flush2.result:
- Added test case (resultfile)
Post review changes
the --read-only option is not enforced for the slave thread in replication, or for the SUPER user.
sql/handler.cc:
Post review changes
Allowing writes for the slave thread or for SUPER, in read-only mode
sql/lock.cc:
Post review changes
Allowing writes for the slave thread or for SUPER, in read-only mode
mysql-test/r/rpl_read_only.result:
New test
mysql-test/t/rpl_read_only-slave.opt:
New test
mysql-test/t/rpl_read_only.test:
New test
into mysql.com:/home/my/mysql-5.1
configure.in:
Auto merged
include/my_pthread.h:
Auto merged
libmysql/libmysql.c:
Auto merged
server-tools/instance-manager/guardian.cc:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/federated/ha_federated.cc:
Auto merged
sql/item_create.cc:
manual merge
- Post-merge cleanup.
- Disabled this bug's test for 5.x until 16861 is resolved.
mysql-test/r/distinct.result:
Bug#20836 Selecting into variables results in wrong results being returned
- Remove results for this bug. When bug number 16861 is resolved, the result
should match the 4.1 result.
mysql-test/t/distinct.test:
Bug#20836 Selecting into variables results in wrong results being returned
- Disable the test for 20836. This test should remain disabled until bug 16861
is fixed. The results for the test should be the same as in 4.1.
sql/sql_class.cc:
Bug#20836 Selecting into variables results in wrong results being returned
- Post-merge cleanup.
into example.com:/work/bug24395-v2/my50
fix for bug#24395 merged into 5.0
mysql-test/t/alter_table.test:
Auto merged
myisam/mi_open.c:
merge into 5.0 by using macroses available in 5.0
mysql-test/r/alter_table.result:
manual merge
sql/sql_table.cc:
manual merge
Added else clause of
if (new_table && !new_table->file->is_view)
This else clauses does keys management on the live table, thus we have
to force other threads to reopen the table.
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.1-opt
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/func_group.test:
Auto merged
into mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/tools/ndb_config.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
configure.in:
Auto merged
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
mysql-test/r/ndb_update.result:
Auto merged
mysql-test/t/ndb_index_ordered.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/ndb/include/util/OutputStream.hpp:
Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
storage/ndb/src/ndbapi/ClusterMgr.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/src/ndbapi/Ndbinit.cpp:
Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
sql/sql_cache.cc:
Merge
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
mysql-test/mysql-test-run.pl:
Auto merged
mysys/my_getopt.c:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Merge change "--" to "#"
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.1-opt
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/item_sum.cc:
Auto merged
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.1-opt
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.0-opt
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/item_sum.cc:
Auto merged
disabled warnings because their order is undeterministic
mysql-test/t/func_gconcat.test:
disabled warnings because their order is undeterministic
mysql-test/r/func_gconcat.result:
disabled warnings because their order is undeterministic