post-merge fixes: format string was changed 5.0 -> 5.1, resulting in longer output
mysql-test/r/variables.result:
post-merge fixes: format string was changed 5.0 -> 5.1, resulting in longer output
into sin.intern.azundris.com:/misc/mysql/31588/51-31588
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/set_var.cc:
Auto merged
Buffer used when setting variables was not dimensioned to accomodate
trailing '\0'. An overflow by one character was therefore possible.
CS corrects limits to prevent such overflows.
mysql-test/r/variables.result:
Try to overflow buffer used for setting system variables.
Unpatched server should throw a valgrind warning here.
Actual value and error message irrelevant, only length counts.
mysql-test/t/variables.test:
Try to overflow buffer used for setting system variables.
sql/set_var.cc:
Adjust maximum number of characters we can store in 'buff' by one
as strmake() will write a terminating '\0'.
into damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime
mysql-test/r/udf.result:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/udf_example.def:
Auto merged
sql/udf_example.c:
null merge
Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
Now the *_init functions get the constant as a null terminated string with the correct length supplied too.
mysql-test/r/udf.result:
Test case to check constants passed UDFs.
mysql-test/t/udf.test:
Test case to check constants passed UDFs.
sql/item_func.cc:
UDF _init functions are now passed the length of the constants, rather than the max length of the var containing the constant.
sql/udf_example.c:
Added check_const_len functions. The check_const_len_init functions checks that lengths of constants are correctly passed.
sql/udf_example.def:
Add new example functions to windows dll export list.
Post merge fixes: close any open statement before
the change user command and fix test case output.
client/mysqltest.c:
Close an open statement since it won't work after a change_user command.
mysql-test/r/change_user.result:
Fixed test case output.
mysql-test/t/change_user.test:
Fix test case output to return 1 or 0.
in middle of block)
libmysql/libmysql.c:
Fix syntax error - don't define new variables in the middle of a block.
Also, use size_t instead of uint to avoid unnecessary casting.
move 'table_collation' field filling outside of if(file) condition
because this field has 'OPEN_FRM_ONLY' attribute
mysql-test/r/information_schema.result:
test result
mysql-test/t/information_schema.test:
test case
sql/sql_show.cc:
move 'table_collation' field filling outside of if(file) condition
because this field has 'OPEN_FRM_ONLY' attribute
updated result files
mysql-test/suite/funcs_1/r/innodb__datadict.result:
updated result file
mysql-test/suite/funcs_1/r/memory__datadict.result:
updated result file
mysql-test/suite/funcs_1/r/myisam__datadict.result:
updated result file
The problem was that the RETURNS column in the mysql.proc was of
CHAR(64). That was not enough for storing long-named datatypes.
The fix is to change CHAR(64) to LONGBLOB, and to throw warnings
at the time a stored routine is created if some data is truncated
during writing into mysql.proc.
mysql-test/r/sp.result:
Update test result.
mysql-test/t/sp.test:
Add a test case for BUG#24923.
scripts/mysql_system_tables.sql:
Change the data type of column 'returns' from char(64) to longblob.
scripts/mysql_system_tables_fix.sql:
Change the data type of column 'returns' from char(64) to longblob.
sql/sp.cc:
Produce warnings if any data was truncated during writing
into mysql.proc.
sql/sp.h:
Add new error code.
sql/share/errmsg.txt:
Add new error message.
sql/sql_parse.cc:
Hande
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
mysql-test/t/sp-error.test:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/item.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
mysql-test/r/sp-error.result:
failed auto merge
mysql-test/r/sp.result:
failed auto merge
mysql-test/r/udf.result:
failed auto merge
mysql-test/t/sp.test:
failed auto merge
sql/sp_head.cc:
failed auto merge
sql/sql_yacc.yy:
failed auto merge
test programs.
mysql-test/r/query_cache.result:
Reset query cache parameters to prevent dependency between test programs.
mysql-test/t/query_cache.test:
Reset query cache parameters to prevent dependency between test programs.
The problem is that currently there is no way to test the behavior
of the mysql_change_user() function using the mysqltest suite because
there is no internal command for it.
The solution is to introduce a change_user command that can be used
to test aspects of the MySQL client function mysql_change_user().
client/mysqltest.c:
Add change_user command to mysqltest.
mysql-test/r/mysqltest.result:
Add test case result for change_user command
mysql-test/t/mysqltest.test:
Add test case for change_user command
mysql-test/r/change_user.result:
Add new file with test case results for bugs 20023 and 31418.
mysql-test/t/change_user.test:
Add new file with test cases for bugs 20023 and 31418.
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
myisam/sort.c:
Auto merged
mysql-test/r/repair.result:
Auto merged
mysql-test/t/repair.test:
Auto merged
The embedded version of the server doesn't use column level grants, and
the compile directive NO_EMBEDDED_ACCESS_CHECKS should be checked instead of
the redundant HAVE_QUERY_CACHE (which is always the case) to determine if
column level grants should be compiled or not.
mysql-test/r/query_cache.result:
Updated result file
mysql-test/r/query_cache_notembedded.result:
Updated result file
mysql-test/t/query_cache.test:
Moved test with GRANT to query_cache_notembedded test.
mysql-test/t/query_cache_notembedded.test:
Moved test with GRANT to query_cache_notembedded test.
sql/sql_cache.cc:
Changed the conditional compilation directive to only compile column level grant
checks if NO_EMBEDDED_ACCESS_CHECKS isn't defined.
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
The root cause of the issue was that the CREATE FUNCTION grammar,
for User Defined Functions, was using the sp_name rule.
The sp_name rule is intended for fully qualified stored procedure names,
like either ident.ident, or just ident but with a default database
implicitly selected.
A UDF does not have a fully qualified name, only a name (ident), and should
not use the sp_name grammar fragment during parsing.
The fix is to re-organize the CREATE FUNCTION grammar, to better separate:
- creating UDF (no definer, can have AGGREGATE, simple ident)
- creating Stored Functions (definer, no AGGREGATE, fully qualified name)
With the test case provided, another issue was exposed which is also fixed:
the DROP FUNCTION statement was using sp_name and also failing when no database
is implicitly selected, when droping UDF functions.
The fix is also to change the grammar so that DROP FUNCTION works with
both the ident.ident syntax (to drop a stored function), or just the ident
syntax (to drop either a UDF or a Stored Function, in the current database)
mysql-test/r/sp-error.result:
Adjust test results
mysql-test/r/udf.result:
Adjust test results
mysql-test/t/sp-error.test:
Adjust test results
mysql-test/t/udf.test:
Adjust test results
sql/sql_parse.cc:
CREATE UDF FUNCTION does not use a fully qualified name.
sql/sql_yacc.yy:
Fix grammar for CREATE / DROP FUNCTION, FOR udf
Improve error messages for select no_such_function()
On Windows the debug log was doing freopen () instead of
fflush() and that was slowing the logging down that much
that some tests timed out.
Fixed by replacing the freopen() with an syncing-to-disk
flag to fopen() and fflush().
Also increased the timeout of the tests running with --debug
on windows : seems to slow down as much as valgrind on linux.
dbug/dbug.c:
Bug #27099: remove the freopen() for the
windows log : too slow. Replace it with the "c" option
for fopen().
mysql-test/mysql-test-run.pl:
Bug #27099: on windows debug log seems to slow the tests
down about as much as valgrind does on linux.
issue an error if string has illegal characters
mysql-test/r/ctype_utf8.result:
issue an error if string has illegal characters
mysql-test/t/ctype_utf8.test:
issue an error if string has illegal characters
sql/item.cc:
issue an error if string has illegal characters
sql/item.h:
issue an error if string has illegal characters
sql/sql_yacc.yy:
issue an error if string has illegal characters
of the stored procedure cursors (materialized on disk).
include/mysql_com.h:
Remove an unused variable.
sql/protocol.cc:
net->no_send_eof was not used anywhere.
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
libmysql/libmysql.c:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/type_float.test:
Auto merged