- Add code to 'mysql_stmt_store_result' to allow it to be called on
a prepared statement with open server side cursor.
- Add tests to mysql_client_test that uses 'mysql_stmt_store_result'
client/mysqltest.c:
Enable cursor protocol(remove the ifdef BUG14013_FIXED)
When running in cursor mode, the warnings from execute needs
to be extracted after mysql_stmt_execute, put them in a dynamic string
for later use.
Untabify some tabs.
libmysql/libmysql.c:
Allow 'mysql_stmt_store_result' to be called on a statement with an open server side cursor.
Detect that a server side cursor is open and send a "fetch" to ask for all rows to be sent to the client.
Read all binary rows as normal store.
Check that server said last row was sent after all binary rows has been sent.
tests/mysql_client_test.c:
Update 'fetch_n' function to take parameter indicating if 'mysql_stmt_store_result' should be used on the statement.
Call fetch_n with parameter set to use 'mysql_stmt_store_result'
Fix for extra zero in exponent of double values on windows.
client/mysqltest.c:
Write new function 'append_field' which takes care of appending one field to the dynamic string.
Use function 'append_field' from both ps and normal execution
Add hack to 'append_field' that removes the extra '0' in exponent for double values on Windows.
mysql-test/r/type_float.result:
One zero too much was removed( I think )
mysql-test/t/insert.test:
Remove the "replace_result" for extra zero in exponent
mysql-test/t/type_float.test:
Remove the "replace_result" for extra zero in exponent
mysql-test/t/variables.test:
Remove the "replace_result" for extra zero in exponent
Currently failing tests (for me) in non-debug build:
blackhole fulltext fulltext_cache fulltext_left_join fulltext_multi
scripts/mysqld_multi.sh:
Auto merged
extra/comp_err.c:
Manual merge: From 4.1 to 5.0, the license line was moved to a different place.
Allow fulltext index on VARCHAR columns longer than max key length.
mysql-test/r/fulltext.result:
A test case for BUG#13835 added.
mysql-test/t/fulltext.test:
A test case for BUG#13835 added.
sql/sql_table.cc:
Allow fulltext index on VARCHAR columns longer than max key length.
Copyright string fixes (bug#16106)
extra/comp_err.c:
Ensure that the license spelling is as expected by the "mysql_copyright" tool.
(bug#16106)
scripts/mysqld_multi.sh:
The "mysql_copyright" tool will not change non-C files, so do not mention the license.
(bug#16106)
into mysql.com:/usr/home/bar/mysql-5.0
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
into moonbone.local:/work/15538-bug-5.0-mysql
mysql-test/r/select.result:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
functions".
We should ignore alias when we check if table was already marked as temporary
when we calculate set of tables to be prelocked. Otherwise we will erroneously
treat tables which are used in same routine and have same name but different
alias as non-temporary.
mysql-test/r/sp.result:
Added test for bug #12198 "Temporary table aliasing does not work inside stored
functions" and other tests which cover handling of temporary tables in prelocked
mode.
mysql-test/t/sp.test:
Added test for bug #12198 "Temporary table aliasing does not work inside stored
functions" and other tests which cover handling of temporary tables in prelocked
mode.
sql/sp_head.cc:
sp_head::merge_table_list():
We should ignore alias when we check if table was already marked as temporary
when we calculate set of tables to be prelocked. Otherwise we will erroneously
treat tables which are used in same routine and have same name but different
alias as non-temporary.
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0
client/mysqlimport.c:
Auto merged
include/config-netware.h:
Auto merged
innobase/os/os0thread.c:
Auto merged
netware/mysqld_safe.c:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Merged from 4.1.
sql/sql_base.cc:
Merged from 4.1.
sql/sql_handler.cc:
Merged from 4.1.
sql/sql_select.cc:
Merged from 4.1.
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
include/config-netware.h:
Auto merged
innobase/os/os0thread.c:
Auto merged
netware/mysqld_safe.c:
Merge from 4.0 to 4.1
sql/mysqld.cc:
Merge from 4.0 to 4.1
Changes to Netware specific mysqld_safe.c
include/config-netware.h:
NetWare specific change to increase thread stack size.
innobase/os/os0thread.c:
NetWare specific change to increase thread stack size.
netware/mysqld_safe.c:
NetWare specific change to make multiple mysqld_safe instances
work when called through a NCF file.
sql/mysqld.cc:
NetWare specific change to increase thread stack size.
account that "FORCE INDEX" disables full table scans, and not range/index_merge scans.
(with post-review fixes)
mysql-test/r/index_merge.result:
Testcase for BUG#16166
mysql-test/t/index_merge.test:
Testcase for BUG#16166
sql/sql_select.cc:
BUG#16166: "Can't use index_merge with FORCE INDEX": adjust the heuristics check:
if (force-index-is-used && there-is-possible-ref-access &&
+ THERE IS NO POSSIBLE RANGE/INDEX_MERGE ACCESS)
{
...
into mysql.com:/usr/home/bar/mysql-5.0
mysql-test/t/ctype_utf8.test:
Auto merged
mysql-test/r/ctype_utf8.result:
After-merge fix.
sql/field.cc:
After merge fix.
mysql-test/r/information_schema.result:
Remove extra spaces from result file.
mysql-test/r/mysqldump.result:
Remove extra spaces from result file.
mysql-test/r/rpl_ddl.result:
Remove extra spaces from result file.
mysql-test/r/trigger-compat.result:
Remove extra spaces from result file.
mysql-test/r/trigger-grant.result:
Remove extra spaces from result file.
mysql-test/r/trigger.result:
Remove extra spaces from result file.
sql/sql_yacc.yy:
Remove leading spaces.
include/config-win.h:
use the ll and ull postfix codes for create longlong and ulonglong
symbols. This allows ULL(a) and LL(a) to be used in more complex
macro definitions than the previous definitions. This may work on
other compilers but we just tested on Visual 7.1 and 8.0
Also, define HAVE_STRNLEN for all windows platforms. Our own strnlen
offers no performance improvements over the CRT version.
Absence of table in left part of LEFT/RIGHT join wasn't checked before
name resolution which resulted in NULL dereferencing and server crash.
Modified rules:
"table_ref LEFT opt_outer JOIN_SYM table_ref" and "table_ref RIGHT opt_outer
JOIN_SYM table_ref"
NULL check is moved before push_new_name_resolution_context()
sql/sql_yacc.yy:
Fixed bug #15538: unchecked table absence caused server crash.
Modified rules:
"table_ref LEFT opt_outer JOIN_SYM table_ref" and "table_ref RIGHT opt_outer
JOIN_SYM table_ref"
NULL check is moved before push_new_name_resolution_context()
mysql-test/r/select.result:
Added test case for bug #15538: unchecked table absence caused server crash.
mysql-test/t/select.test:
Added test case for bug #15538: unchecked table absence caused server crash.
functions are involved.
When subselect is a join with set functions and no record have been found in
it, end_send_group() sets null_row for all tables in order aggregate functions
to calculate their values correctly. Normally this null_row flag is cleared for
each table in sub_select(), but flush_cached_records() doesn't do so.
Due to this all fields from the table processed by flush_cached_records() are
always evaluated as nulls and whole select produces wrong result.
flush_cached_records() now clears null_row flag at the very beginning.
mysql-test/t/select.test:
Added test case for bug #15347: Wrong result of subselect when records cache
and set functions are involved
mysql-test/r/select.result:
Added test case for bug #15347: Wrong result of subselect when records cache
and set functions are involved
sql/sql_select.cc:
Fixed bug #15347: Wrong result of subselect when records cache and set functions are involved
flush_cached_records() now clears null_row flag at the very beginning.
select result
Item equal objects are employed only at the optimize phase. Usually they are not
supposed to be evaluated. Yet in some cases we call the method val_int() for
them. Here we have to take care of restricting the predicate such an object
represents f1=f2= ...=fn to the projection of known fields fi1=...=fik.
Added a check for field's table being const in Item_equal::val_int().
If the field's table is not const val_int() just skips that field when
evaluating Item_equal.
mysql-test/t/select.test:
Added test case for bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
mysql-test/r/select.result:
Added test case for bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
mysql-test/r/func_group.result:
Corrected test result for bug #12882 after fix for bug#15633
sql/item_cmpfunc.h:
Fixed bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
Added comment about fields from non-const tables in class description.
sql/item_cmpfunc.cc:
Fixed bug #15633: Evaluation of Item_equal for non-const table caused wrong select result
Added check for field's table being const in Item_equal::val_int().
rename sha1_* to mysql_sha1_*
include/sha1.h:
rename sha1_* to mysql_sha1_*
mysys/sha1.c:
rename sha1_* to mysql_sha1_*
sql/item_strfunc.cc:
rename sha1_* to mysql_sha1_*
sql/password.c:
rename sha1_* to mysql_sha1_*