mysql-test/mysql-test-run.pl:
Found when fixing bug#20303: The "usage()" function ignored the message it was given,
so we got no real indication about the problem. Print it if one is given.
The is_null value was initialized once and thereafter only set to indicate
NULL, and never unset to indicate not-NULL.
Now set is_null to false, in addition to only setting it to true when the value
in question is null.
mysql-test/r/udf.result:
Add result.
mysql-test/t/udf.test:
Add test.
sql/sql_udf.h:
Initialize is_null to false before trying to use it, so that historical NULLs
don't affect our operation.
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Bug #20336 CLUSTERLOG commands have no effect
- with signal sender the clock issuing the command and the revceiver of the events are not the same
ndb/src/mgmsrv/MgmtSrvr.cpp:
Bug #20336 CLUSTERLOG commands have no effect
- make sure to actually send the update to ndb nodes, and wait for the reply
ndb/src/mgmsrv/Services.cpp:
Bug #20336 CLUSTERLOG commands have no effect
- make sure to compute max every time for log level
ndb/src/kernel/main.cpp:
signal log from start (#if 0-ed)
ndb/test/ndbapi/testDict.cpp:
test NF/NR + dict ops
ndb/src/kernel/vm/DLFifoList.hpp:
add hasPrev
ndb/src/kernel/vm/pc.hpp:
ERROR_INSERTED_CLEAR(x) test and clear if set
ndb/src/common/debugger/SignalLoggerManager.cpp:
block no fix
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
spelling
ndb/include/kernel/GlobalSignalNumbers.h:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/AlterTable.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/CreateTable.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/DictLock.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/DropTable.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/common/debugger/signaldata/SignalNames.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/ERROR_codes.txt:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/ndbapi/ndberror.c:
locking of master DICT against schema ops, used by slave DIH under NR
mysql-test/mysql-test-run.pl:
A fix for bug#20303 "mysql-test-run.pl: Does not recognize -- argument":
Due to the use of 'pass_through' in option processing this lone '--' will remain
as an argument, it must be ignored explicitly.
query
Problem:
There was a wrong context assigned to the columns that were added in insert_fields()
when expanding a '*'. When this is done in a prepared statement it causes
fix_fields() to fail to find the table that these columns reference.
Actually the right context is set in setup_natural_join_row_types() called at the
end of setup_tables(). However when executed in a context of a prepared statement
setup_tables() resets the context, but setup_natural_join_row_types() was not
setting it to the correct value assuming it has already done so.
Solution:
The top-most, left-most NATURAL/USING join must be set as a
first_name_resolution_table in context even when operating on prepared statements.
mysql-test/r/join.result:
testsuite for the bug
mysql-test/t/join.test:
testsuite for the bug
sql/sql_base.cc:
The context must be set even when executed as prepared statement.
into mysql.com:/home/stewart/Documents/MySQL/5.0/merge-queue
ndb/include/mgmapi/mgmapi.h:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/mgmsrv/Services.hpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
hand merge bug fix by tomas with my fix for stop/shutdown behaviour
read buffer
Setting read buffer to values greater than SSIZE_MAX results in
unexpected behavior.
According to read(2) manual:
If count is greater than SSIZE_MAX, the result is unspecified.
Set upper limit for read_buffer_size and read_rnd_buffer_size to
SSIZE_MAX.
include/my_global.h:
Define SSIZE_MAX if not defined.
sql/mysqld.cc:
Set upper limit for read_buffer_size and read_rnd_buffer_size to
SSIZE_MAX.
The st_lex::which_check_option_applicable() function controls for which
statements WITH CHECK OPTION clause should be taken into account. REPLACE and
REPLACE_SELECT wasn't in the list which results in allowing REPLACE to insert
wrong rows in a such view.
The st_lex::which_check_option_applicable() now includes REPLACE and
REPLACE_SELECT in the list of statements for which WITH CHECK OPTION clause is
applicable.
mysql-test/t/replace.test:
Added test case for bug#19789: REPLACE was allowed for a VIEW with CHECK OPTION enabled.
mysql-test/r/replace.result:
Added test case for bug#19789: REPLACE was allowed for a VIEW with CHECK OPTION enabled.
sql/sql_lex.h:
Fixed bug#19789: REPLACE was allowed for a VIEW with CHECK OPTION enabled.
The st_lex::which_check_option_applicable() now includes REPLACE and
REPLACE_SELECT in the list of statements for which WITH CHECK OPTION clause is
applicable.
mysql-test/r/auto_increment.result:
Fix for bug #6880: LAST_INSERT_ID() within a statement
- test result
mysql-test/r/rpl_log.result:
Fix for bug #6880: LAST_INSERT_ID() within a statement
- test result
mysql-test/t/auto_increment.test:
Fix for bug #6880: LAST_INSERT_ID() within a statement
- test case
mysql-test/t/rpl_log.test:
Fix for bug #6880: LAST_INSERT_ID() within a statement
- test case
sql/item_func.cc:
Fix for bug #6880: LAST_INSERT_ID() within a statement
- return the first thd->last_insert_id set (within a query)
Fixes based on review by Tomas
ndb/src/mgmapi/mgmapi.cpp:
Return immediately if ndb_mgm_get_version fails.
correctly use new protocol for versions > 5.1
ndb/src/mgmsrv/Services.cpp:
Only have 1 version of 'stop all' with reply being dependent on if the optional
stop parameter is supplied.
ndb/src/mgmsrv/Services.hpp:
Only 1 version of stopAll
To calculate its max_length the CONCAT() function is simply sums max_lengths
of its arguments but when the collation of an argument differs from the
collation of the CONCAT() max_length will be wrong. This may lead to a data
truncation when a tmp table is used, in UNIONS for example.
The Item_func_concat::fix_length_and_dec() function now recalculates the
max_length of an argument when the mbmaxlen of the argument differs from the
mbmaxlen of the CONCAT().
mysql-test/t/func_concat.test:
Added test case for bug#15962:CONCAT() in UNION may lead to a data trucation.
mysql-test/r/func_concat.result:
Added test case for bug#15962:CONCAT() in UNION may lead to a data trucation.
sql/item_strfunc.cc:
Fixed bug#15962: CONCAT() in UNION may lead to a data trucation.
The Item_func_concat::fix_length_and_dec() function now recalculates the
max_length of an argument when the mbmaxlen of the argument differs from the
mbmaxlen of the CONCAT().
Fixed BUG#19727 "InnoDB crashed server and crashed tables
are not recoverable".
innobase/row/row0mysql.c:
Applied innodb-5.0-ss609 snapshot.
Move trx_commit_for_mysql(trx) calls before calls to
row_mysql_unlock_data_dictionary(trx).
innobase/row/row0sel.c:
Applied innodb-5.0-ss609 snapshot.
row_sel_try_search_shortcut(): Do not return SEL_FOUND when
the record was not found. This bug was introduced in
InnoDB 5.0.3, but luckily it should nerver manifest itself,
given that existing InnoDB SQL code never makes use of
consistent reads.
mysql-test/t/innodb.test:
Applied innodb-5.0-ss609 snapshot.
Add the big fat warning notice also to the bottom of
innodb.test so that it will require more talent to
ignore the change of policy.
Fixed BUG#19727 "InnoDB crashed server and crashed tables
are not recoverable".
innobase/row/row0mysql.c:
Applied innodb-4.1-ss31 snapshot.
Move trx_commit_for_mysql(trx) calls before calls to
row_mysql_unlock_data_dictionary(trx).
VC++Files/client/mysql.dsp:
Fixed omission of mysys\my_conio.c.
VC++Files/client/mysql_ia64.dsp:
Fixed omission of mysys\my_conio.c.
client/mysqldump.c:
VS compiler does not accept variable declarations within blocks.
Such a behaviour complies with the Standard C.
mark result string using String::mark_as_const()
which prevents CONCAT from reusing it as a buffer
for concatenation result.
mysql-test/r/information_schema.result:
Bug#19599 duplication of information_schema column value in a CONCAT expr with user var
test case
mysql-test/t/information_schema.test:
Bug#19599 duplication of information_schema column value in a CONCAT expr with user var
test case
fix: return db name for I_S.TABLES(and others) in original letter case.
if mysql starts with lower_case_table_names=1 | 2 then original db name is converted
to lower case(for I_S tables). It happens when we perform add_table_to_list.
to avoid this we make a copy of original db name and use the copy hereafter.
mysql-test/r/lowercase_table2.result:
Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1
test case
mysql-test/t/lowercase_table2.test:
Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1
test case
into mysql.com:/usr/home/ram/work/4.1.b16546
sql/item_timefunc.cc:
Auto merged
mysql-test/r/func_time.result:
merging
mysql-test/t/func_time.test:
merging
Moved the test case to separate non-windows specific file.
mysql-test/r/create.result:
Moved non-windows specific test case to create_not_windows.test.
mysql-test/t/create.test:
Moved non-windows specific test case to create_not_windows.test.
mysql-test/r/create_not_windows.result:
#19479: mysqldump creates invalid dump
Moved the non-windows specific test case from create.test.
mysql-test/t/create_not_windows.test:
#19479: mysqldump creates invalid dump
Moved the non-windows specific test case from create.test.
into rurik.mysql.com:/home/igor/mysql-5.0-opt
sql/opt_sum.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/func_group.result:
SCCS merged
mysql-test/t/func_group.test:
SCCS merged