into mishka.local:/home/my/mysql-5.0
sql/item_strfunc.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
into c-4a09e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.0
heap/hp_delete.c:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/distinct.result:
Manual merge
mysql-test/t/distinct.test:
Manual merge
Fixed new bug when running a SP without a default database
mysql-test/r/information_schema.result:
Added test to cover changes made in default handling
mysql-test/r/sp-security.result:
Added test when executing SP without a default database
mysql-test/t/information_schema.test:
Added test to cover changes made in default handling
mysql-test/t/sp-security.test:
Added test when executing SP without a default database
sql/item_strfunc.cc:
Removed wrong push
sql/mysqld.cc:
Indentation fix
sql/sql_base.cc:
Use share->db instead of share->table_cache_key
Remove assert that can never fail (because of test in previous row)
sql/sql_db.cc:
Allow empty database name when called from SP
(To allow on run without a default database)
sql/sql_parse.cc:
Added comment
sql/sql_show.cc:
Indentation fixes
Simplified code by checking for 'wrong' condition first and doing continue instead of going down one level
Simplified precision and decimal handling
mysql-test/r/func_misc.result:
Add new results
mysql-test/t/func_misc.test:
Add new regression test.
sql/item_create.cc:
When SLEEP() is used, mark the statement as uncacheable.
sql/item_func.h:
Flag SLEEP() as not constant, and set RAND_TABLE_BIT so that it is
always evaluated.
mysql-test/r/ctype_cp932.result:
Update results to make them deterministic
mysql-test/t/ctype_cp932.test:
Updated test to be deterministic on all machines
include/my_sys.h:
Fixes from review (use version in log_event.cc instead)
mysql-test/r/ctype_cp932.result:
Updated test for bug#11338 (logging of prepared statement w/ blob type)
mysql-test/t/ctype_cp932.test:
udpated test for bug#11338 (logging of prepared statement w/ blob type)
mysys/charset.c:
Fixes from review (use version in log_event.cc instead)
sql/item.cc:
Fixes from review (store character_set_client differently so that
fix can be merged forward to 5.0)
sql/item.h:
Fixes from review
sql/log_event.cc:
Fixes from review, str_to_hex is now used by item.cc
sql/log_event.h:
Added prototype for str_to_hex (now used by item.cc)
sql/sql_prepare.cc:
Fixes from review, store character_set_client differently so that
Item_param::query_val_str can use it.
into mysql.com:/home/jimw/my/mysql-5.0-clean
sql/sql_show.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/information_schema.result:
Resolve conflicts
NOT FOUND ...' in conditional handled incorrectly".
Whenever we remove an instruction during optimization, we need to
adjust instruction numbers (ip - instruction pointer) stored in all
instructions. In addition to that, sp_instr_hpush_jump, which
corresponds to DECLARE CONTINUE HANDLER needs adjustment for m_handler,
which holds the number of instruction with the continue handler.
In the bug report, a wrong ip stored in m_handler was pointing at
FETCH, which resulted in an error message and abnormal SP termination.
The fix is to just remove m_handler member from sp_instr_hpush_jump,
as it's always points to the instruction next to the DECLARE
statement itself (m_ip+1).
mysql-test/r/sp.result:
Test results fixed (Bug#12168)
mysql-test/t/sp.test:
A test case for Bug#12168 "'DECLARE CONTINUE HANDLER FOR NOT
FOUND ...' in conditional handled incorrectly"
sql/sp_head.cc:
Remove m_handler (the number of continue handler instruction)
as it always equal to m_ip+1
sql/sp_head.h:
Remove m_handler (the number of continue handler instruction)
as it always equal to m_ip+1
- Corrected problem with N-way nested natural joins in PS mode.
- Code cleanup
- More asserts to check consistency of name resolution contexts
- Fixed potential memory leak of name resolution contexts
mysql-test/r/join.result:
- Corrected problem with N-way nested natural joins in PS mode.
mysql-test/t/join.test:
- Corrected problem with N-way nested natural joins in PS mode.
sql/item.h:
- Fixed potential memory leak.
sql/sql_base.cc:
- the local context of Item_fields that participate in TABLE_LIST::on_cond for
natural joins is correctly set to the tables where the corresponding fields
originate from.
- removed unused variables
- correct allocation of contexts
sql/sql_parse.cc:
- correct allocation of contexts for JOIN ON conditions.
sql/table.cc:
- added asserts to check the consistency of name resolution contexts
sql/table.h:
- added asserts to check the consistency of name resolution contexts
Added test cases for bug #12625.
sql_select.cc:
Fixed bug #12625.
Fixed invalid removal of constant items from the DISTINCT
list in the function create_distinct_group.
sql/sql_select.cc:
Fixed bug #12625.
mysql-test/r/distinct.result:
Added test cases for bug #12625.
mysql-test/t/distinct.test:
Added test cases for bug #12625.
We binlog the DROP TABLE for each table that was actually dropped. Per Sergei's
suggestion a fixed buffer for the DROP TABLE query is pre-allocated from THD pool, and
logging now is done in batches - new batch is started if the buffer becomes full.
Reduced memory usage by reusing the table list instead of accumulating a list of
dropped table names. Also fixed the problem if the table was not actually dropped, eg
due to permissions. Extended the test case to make sure batched query
logging does work.
mysql-test/r/rpl_drop_db.result:
test for query buffer overrun
mysql-test/t/rpl_drop_db.test:
test for query buffer overrun
sql/mysql_priv.h:
updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
BitKeeper/etc/ignore:
Added support-files/MacOSX/postflight support-files/MacOSX/preflight to the ignore list
sql/sql_db.cc:
updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
sql/sql_table.cc:
updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
sql/table.h:
updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
If we are in stored function or trigger we should ensure that we won't change
table that is already used by calling statement (this can damage table or
easily cause infinite loops). Particularly this means that recursive triggers
should be disallowed.
mysql-test/r/sp-error.result:
Added tests checking that in functions we don't allow to update tables which
are used by statements which invoke these functions.
mysql-test/r/trigger.result:
Added test for bug #11896 "Partial locking in case of recursive trigger
definitions".
mysql-test/t/sp-error.test:
Added tests checking that in functions we don't allow to update tables which
are used by statements which invoke these functions.
mysql-test/t/trigger.test:
Added test for bug #11896 "Partial locking in case of recursive trigger
definitions".
sql/share/errmsg.txt:
Added error messages for complaining about situations when in function or
trigger we try to change table which is used in statement invoking this
function or trigger.
sql/sql_base.cc:
open_table():
If we are in stored function or trigger we should ensure that
we won't change table that is already used by calling statement
(this can damage table or easily cause infinite loops).
So if we are opening table for writing, we should check that it
is not already open by some calling stamement.
into eel.(none):/home/jonas/src/mysql-5.0-push
mysql-test/t/ndb_config.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
mysql-test/t/ndb_alter_table.test:
merge
into eel.(none):/home/jonas/src/mysql-5.0
mysql-test/r/ndb_alter_table.result:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/src/kernel/SimBlockList.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
ndb/src/kernel/blocks/suma/Suma.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/ndbapi/DictCache.cpp:
Auto merged
ndb/src/ndbapi/DictCache.hpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
mysql-test/t/ndb_alter_table.test:
merge
ndb/src/common/util/version.c:
merge
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
merge
into eel.(none):/home/jonas/src/mysql-4.1-push
mysql-test/t/ndb_config.test:
Auto merged
ndb/src/common/util/version.c:
Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
mysql-test/t/ndb_alter_table.test:
merge
Split table version into 2 (major, minor)
Impl. signaling to API when table has been altered
Allow running transactions to use any minor number for transactions
mysql-test/r/ndb_alter_table.result:
Allow running transactions to use old table definition when possible.
mysql-test/t/ndb_alter_table.test:
Allow running transactions to use old table definition when possible.
ndb/include/kernel/BlockNumbers.h:
remove GREP
ndb/include/kernel/GlobalSignalNumbers.h:
Add ALTER_TABL_REP and API_BROADCAST_REP
ndb/include/kernel/kernel_types.h:
table_version_major
ndb/include/kernel/signaldata/AlterTable.hpp:
New error code for alter table during rolling upgrade
ndb/include/ndbapi/NdbDictionary.hpp:
Add state on table object to represent an altered but still valid table object
ndb/src/common/debugger/BlockNames.cpp:
remove GREP
ndb/src/common/util/version.c:
Fix upgrades
ndb/src/kernel/SimBlockList.cpp:
remove GREP
ndb/src/kernel/blocks/Makefile.am:
remove GREP
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
remove GREP
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Split tableSchemaVersion into 2 part
24 bit real version
8 bit for online alter table where old table definition is still usable
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Check for same ndb versions
ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
Update schema printer
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
remove grep
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
1) Use table_ version_major when checking table version
2) Dummy fix for BUG that tableSchemaVersion is only 16 bit in LQHKEYREQ
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
1) Use table_ version_major when checking table version
2) Dummy fix for BUG that tableSchemaVersion is only 16 bit in LQHKEYREQ
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
1) Use table_ version_major when checking table version
2) Dummy fix for BUG that tableSchemaVersion is only 16 bit in LQHKEYREQ
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
remove GREP
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Add support for sending REP to ALL api nodes
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
Add support for sending REP to ALL api nodes
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Add support for sending REP to ALL api nodes
ndb/src/kernel/blocks/suma/Suma.cpp:
remove GREP
ndb/src/mgmsrv/MgmtSrvr.cpp:
remove GREP
ndb/src/ndbapi/DictCache.cpp:
Add support for alter_table_rep
by setting status to Altered
NOTE special handling of tables in state RETREIVING
ndb/src/ndbapi/DictCache.hpp:
Add support for alter_table_rep
by setting status to Altered
NOTE special handling of tables in state RETREIVING
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Change alter table so that remove from global cache is used wo/ retreiving it from there first
as ALTER_TABLE_REP might already have changed the table object...
ndb/src/ndbapi/TransporterFacade.cpp:
Add support for ALTER_TABLE_REP
sql/ha_ndbcluster.cc:
Allow running transactions to use tables in state ALTERED...but new transactions may not...
ndb/include/kernel/signaldata/ApiBroadcast.hpp:
New BitKeeper file ``ndb/include/kernel/signaldata/ApiBroadcast.hpp''
and Bug#12297 SP crashes the server if data inserted inside a lon loop
Third commit attempt. With fixes to the issues, showed up after full rebuild and
tests on other hosts.
mysql-test/r/rpl_sp.result:
New warnings appeared in result file, as now we always create spcont in a stored routine.
This is correct behaviour. We swallowed some warnings, as we used thd->spcont to check whether
we are in the SP though we didn't set spcont in certain cases. This is fixed now.
mysql-test/r/sp.result:
fixed result file to reflect new tests
mysql-test/t/sp.test:
Added tests for bugs. Though one of them is disabled, as it fails because of the other bug.
It should be enabled, when bug 12297 is fixed.
sql/sp_head.cc:
Per-instruction arena is implemented
sql/sp_rcontext.cc:
Now we should deal with callers_arena->free_list when we employ reuse mechanism with callers_arena
switched during sp_eval_func_item
sql/sp_rcontext.h:
Add new member to sp_rcontext class, in order to handle instructions with assignment
and/or with nested SP processing properly.
mysql-test/r/row.result:
Correct NULL handling in row comporison
mysql-test/t/row.test:
Correct NULL handling in row comporison (BUG#12509)
sql/item_cmpfunc.cc:
stop on NULL comparison only if it is allowed
sql/item_cmpfunc.h:
support optimisation in case of processing WHERE/HAVING, where NULL and FALSE are equal
Added a test case for bug #10970.
view.result:
Added a test case for bug #10970.
Modified the error messages for error ER_VIEW_SELECT_TMPTABLE.
sql_view.cc:
Fixed bug #10970.
In the function mysql_create_view if a view does not refer
any tables directly the variable table must be updated
after the call of open_and_lock_tables.
errmsg.txt:
Modified the error messages for error ER_VIEW_SELECT_TMPTABLE
(when fixing bug #10970).
sql/share/errmsg.txt:
Modified the error messages for error ER_VIEW_SELECT_TMPTABLE
(when fixing bug #10970).
sql/sql_view.cc:
Fixed bug #10970.
In the function mysql_create_view if a view does not refer
any tables directly the variable table must be updated
after the call of open_and_lock_tables.
mysql-test/r/view.result:
Fixed bug #10970.
Modified the error messages for error ER_VIEW_SELECT_TMPTABLE.
mysql-test/t/view.test:
Added a test case for bug #10970.
mysql-test/r/select.result:
Update results
mysql-test/t/select.test:
Remove regression test
sql/item_cmpfunc.cc:
Revert patch for checking length of ESCAPE, it is not correct.
correct exit from mysql_create_view to restore ennvironment (BUG#12468)
view.result, view.test:
test of CRETE VIEW in SP
mysql-test/t/view.test:
test of CRETE VIEW in SP
mysql-test/r/view.result:
test of CRETE VIEW in SP
sql/sql_view.cc:
correct exit from mysql_create_view to restore ennvironment
mysql-test/r/show_check.result:
results for test for bug #12591
mysql-test/t/show_check.test:
test for bug #12591
sql/sql_show.cc:
don't let my_dir() emit a message bug catch the errno (my_errno - a thread specific variable) and check it for ENOENT - not existing.
For other errors emulate the message used to be emitted by my_dir()
- fixed a problem with RIGHT JOIN ON and enabled corresponding tests in select.test
- fixed a memory leak
mysql-test/r/select.result:
Fixed a problem with RIGHT JOIN ON queries, enabling the corresponding tests.
mysql-test/t/select.test:
Fixed a problem with RIGHT JOIN ON queries, enabling the corresponding tests.
sql/sql_base.cc:
Fixed a problem with RIGHT JOINs that have operand(s) which are NATURAL JOIN(s).
sql/table.h:
Inherit from Sql_alloc for proper memory allocation.
The change fixes a memory leak.
Added a comment line for a test case used for bug #12301.
information_schema.result:
Fixed some test cases results (bug #12301).
sql_show.cc:
Fixed bug #12301.
The bug was due to a missing value setting for the NUMERIC_SCALE column
in the get_schema_column_record() function (sql_show.cc).
sql/sql_show.cc:
Fixed bug #12301.
The bug was due to a missing value setting for the NUMERIC_SCALE column
in the get_schema_column_record() function (sql_show.cc).
mysql-test/r/information_schema.result:
Fixed some test cases results (bug #12301).
mysql-test/t/information_schema.test:
Added a comment line for a test case used for bug #12301.
When copying varchar fields with field_conv() it's not taken into account
that length_bytes of source and destination fields may be different.
This results in saving wrong data in field and making wrong key later.
Added check so if fields are varchar and have different length_bytes they
are not copied by memcpy().
sql/field_conv.cc:
Fix bug #11398 Bug in field_conv() results in wrong result of join with index
mysql-test/t/select.test:
Test case for bug #11398 Bug in field_conv() results in wrong result of join with index
mysql-test/r/select.result:
Test case for bug #11398 Bug in field_conv() results in wrong result of join with index
client/mysqltest.c:
Don't open a sourced file more than once as it will already have been read into the q_lines cache
mysql-test/r/mysqltest.result:
Added tests for source command inside of while loop
mysql-test/t/mysqltest.test:
Added tests for source command inside of while loop
mysql-test/r/select.result:
results for test of bug 12595
mysql-test/t/select.test:
test for bug #12595
sql/item_cmpfunc.cc:
check whether the size of the escape string is exactly 1 (bug #12595)
(after review commit)
mysql-test/r/show_check.result:
test the extended functionality (so far not documented) of SHOW OPEN FILES
mysql-test/t/show_check.test:
test the extended functionality (so far not documented) of SHOW OPEN FILES
sql/mysql_priv.h:
pass the name of the database for checking
sql/sql_base.cc:
first check against the db if present (SHOW OPEN FILES FROM xxx)
then do wild compare but only against the table name
sql/sql_show.cc:
pass the DB if specified
Fixed bug #11479.
The JOIN::reinit method cannot call setup_tables
after the optimization phase since this function
removes some optimization settings for joined
tables. E.g. it resets values of the null_row flag to 0.
subselect.result, subselect.test:
Added a test case for bug #11479.
mysql-test/t/subselect.test:
Added a test case for bug #11479.
mysql-test/r/subselect.result:
Added a test case for bug #11479.
sql/sql_select.cc:
Fixed bug #11479.
The JOIN::reinit method cannot call setup_tables
after the optimization phase since this function
removes some optimization settings for joined
tables. E.g. it resets values of the null_row flag to 0.
into mysql.com:/home/jimw/my/mysql-5.0-clean
myisam/myisampack.c:
Auto merged
mysql-test/r/metadata.result:
Auto merged
mysys/list.c:
Auto merged
mysys/thr_lock.c:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/mysqld.cc:
SCCS merged
results.
st_select_lex_unit::print() was losing UNION ALL if in statement were present
UNION DISTINCT.
mysql-test/r/view.result:
Test case for bug #10624 Views with multiple UNION and UNION ALL produce incorrect results.
mysql-test/t/view.test:
Test case for bug #10624 Views with multiple UNION and UNION ALL produce incorrect results.
sql/sql_lex.cc:
Fix bug #10624 Views with multiple UNION and UNION ALL produce incorrect results.
"COLUMN_DEFAULT has wrong value if NOT NULL is set"
Show NULL instead of empty string when no default value is set
mysql-test/r/information_schema.result:
test for bug 12518
mysql-test/t/information_schema.test:
test for bug 12518
sql/sql_show.cc:
report NULL for information schema result when there is no default value
into mysql.com:/home/my/mysql-5.0
sql/ha_berkeley.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_class.cc:
Manual merge
This allows us to use statement replication with functions and triggers
The following things are fixed with this patch:
- NOW() and automatic timestamps takes the value from the main event for functions and triggers (which allows these to replicate with statement level logging)
- No side effects for triggers or functions with auto-increment values(), last_insert_id(), rand() or found_rows()
- Triggers can't return result sets
Fixes bugs:
#12480: NOW() is not constant in a trigger
#12481: Using NOW() in a stored function breaks statement based replication
#12482: Triggers has side effects with auto_increment values
#11587: trigger causes lost connection error
mysql-test/r/trigger.result:
Added test fpr big
mysql-test/t/sp-error.test:
Changed error message numbers
mysql-test/t/trigger.test:
Added test for trigger returning result (#11587)
sql/item_func.cc:
Store the first used seed value for RAND() value.
(This makes rand() replicatable in functions and triggers)
Save and clear run context before executing a stored function and restore it afterwards.
This removes side effects of stored functions for RAND(), auto-increment values and NOW() and makes most stored function replicatable
sql/share/errmsg.txt:
Reuse error message also for triggers
sql/sp_head.cc:
If in function or trigger, don't change value of NOW()
(This allows us to use statement replication with functions that directly or indirectly uses timestamps)
sql/sql_class.cc:
Added framework for storing and retrieving run context while exceuting triggers or stored functions.
sql/sql_class.h:
Added framework for storing and retrieving run context while exceuting triggers or stored functions.
sql/sql_parse.cc:
If in function or trigger, don't change value of NOW()
(This allows us to use statement replication with functions that directly or indirectly uses timestamps)
sql/sql_trigger.cc:
Moved process_triggers function from sql_trigger.h
Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable
sql/sql_trigger.h:
Moved process_triggers function from sql_trigger.h
Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable
sql/sql_yacc.yy:
Give error message if trigger can return a result set (Bug #11587)
tests/fork_big2.pl:
Removed return from end of lines
mysql-test/r/rpl_trigger.result:
New BitKeeper file ``mysql-test/r/rpl_trigger.result''
mysql-test/t/rpl_trigger.test:
New BitKeeper file ``mysql-test/t/rpl_trigger.test''
postmerge fix
subselect.result:
new 5.0 result (postmerge)
mysql-test/r/subselect.result:
new 5.0 result (postmerge)
sql/item_subselect.cc:
postmerge fix
into hasky.mysql.fi:/home/sanja/work-merge-5.0
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/item_subselect.cc:
merge
mysql-test/r/subselect.result:
testst of IN subqueries with row
mysql-test/t/subselect.test:
tests of ion subqueries with row
sql/item.h:
add method to prevent of removing Item_ref_null_helper from HAVING
sql/item_cmpfunc.h:
Prevented removing of Item_test_isnotnull from HAVING
sql/item_subselect.cc:
fixed converting row IN subqueries
sql/sql_select.cc:
fixed debug print
sql/ha_innodb.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
view being created.
Item_func_timestamp_diff::func_name() were returning function name as
"timestamp_diff" thus when view was executed function parameters wasn't
properly recognized and error was raised.
mysql-test/r/func_time.result:
Fix test result after bugfix #12298
sql/item_timefunc.h:
Fix bug #12298 Typo in timestampdiff() function name results in wrong view being created.
mysql-test/t/view.test:
Test case for bug #12298 Typo in timestampdiff() function name results in erroneous view being created.
mysql-test/r/view.result:
Test case for bug #12298 Typo in timestampdiff() function name results in erroneous view being created.
Disabled one test case because it is still a problem due to the fix for WL#2486.
Pushed to enable code review.
mysql-test/r/join.result:
Disabled one test case because it is still a problem due to the fix for WL#2486.
Pushed to enable code review.
into mysql.com:/home/timka/mysql/src/5.0-2486-merge
mysql-test/r/errors.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/fulltext_order_by.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/join_nested.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/errors.test:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/fulltext_order_by.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/join_nested.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
tests/mysql_client_test.c:
Auto merged
sql/sql_insert.cc:
merge WL#2486
sql/sql_show.cc:
merge WL#2486
"Process NATURAL and USING joins according to SQL:2003".
* Some of the main problems fixed by the patch:
- in "select *" queries the * expanded correctly according to
ANSI for arbitrary natural/using joins
- natural/using joins are correctly transformed into JOIN ... ON
for any number/nesting of the joins.
- column references are correctly resolved against natural joins
of any nesting and combined with arbitrary other joins.
* This patch also contains a fix for name resolution of items
inside the ON condition of JOIN ... ON - in this case items must
be resolved only against the JOIN operands. To support such
'local' name resolution, the patch introduces a stack of
name resolution contexts used at parse time.
NOTICE:
- This patch is not complete in the sense that
- there are 2 test cases that still do not pass -
one in join.test, one in select.test. Both are marked
with a comment "TODO: WL#2486".
- it does not include a new test specific for the task
mysql-test/include/ps_query.inc:
Adjusted according to standard NATURAL/USING join semantics.,
mysql-test/r/bdb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/derived.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/errors.result:
The column as a whole cannot be resolved, so different error message.
mysql-test/r/fulltext.result:
Adjusted according to standard JOIN ... ON semantics =>
the ON condition can refer only to the join operands.
mysql-test/r/fulltext_order_by.result:
More detailed error message.
mysql-test/r/innodb.result:
Adjusted according to standard NATURAL/USING join semantics.
This test doesn't pass completetly yet!
mysql-test/r/insert_select.result:
More detailed error message.
mysql-test/r/join.result:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/r/join_crash.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/join_nested.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/join_outer.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/multi_update.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/null_key.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/order_by.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_2myisam.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_3innodb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_4heap.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_5merge.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_6bdb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_7ndb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/select.result:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one failing test case which is commented with
WL#2486 in the test file.
mysql-test/r/subselect.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/type_ranges.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/union.result:
More detailed error message.
mysql-test/t/bdb.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/errors.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/fulltext.test:
Adjusted according to standard JOIN ... ON semantics =>
the ON condition can refer only to the join operands.
mysql-test/t/fulltext_order_by.test:
More detailed error message.
mysql-test/t/innodb.test:
Adjusted according to standard NATURAL/USING join semantics.
This test doesn't pass completetly yet!
mysql-test/t/insert_select.test:
More detailed error message.
mysql-test/t/join.test:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/t/join_crash.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/join_nested.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/join_outer.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/null_key.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/order_by.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/select.test:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/t/subselect.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/type_ranges.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/union.test:
More detailed error message.
sql/item.cc:
- extra parameter to find_field_in_tables
- find_field_in_real_table renamed to find_field_in_table
- fixed comments/typos
sql/item.h:
- added [first | last]_name_resolution_table to class
Name_resolution_context
- commented old code
- standardized formatting
sql/mysql_priv.h:
- refactored the find_field_in_XXX procedures,
- added a new procedure for natural join table references,
- renamed the find_field_in_XXX procedures to clearer names
sql/sp.cc:
- pass the top-most list of the FROM clause to setup_tables
- extra parameter to find_field_in_tables
sql/sql_acl.cc:
- renamed find_field_in_table => find_field_in_table_ref
- extra parameter to find_field_in_table_ref
- commented old code
sql/sql_base.cc:
This file contains the core of the implementation of the processing
of NATURAL/USING joins (WL#2486).
- added many comments to old code
- refactored the group of find_field_in_XXX procedures, and added a
new procedure for natural joins. There is one find_field_in_XXX procedure
per each type of table reference (stored table, merge view, or natural
join); one meta-procedure that selects the correct one depeneding on the
table reference; and one procedure that goes over a list of table
referenes.
- NATURAL/USING joins are processed through the procedures:
mark_common_columns, store_natural_using_join_columns,
store_top_level_join_columns, setup_natural_join_row_types.
The entry point to processing NATURAL/USING joins is the
procedure 'setup_natural_join_row_types'.
- Replaced the specialized Field_iterator_XXX iterators with one
generic iterator over the fields of a table reference.
- Simplified 'insert_fields' and 'setup_conds' due to encapsulation of
the processing of natural joins in a separate set of procedures.
sql/sql_class.h:
- Commented old code.
sql/sql_delete.cc:
- Pass the FROM clause to setup_tables.
sql/sql_help.cc:
- pass the end name resolution table to find_field_in_tables
- adjust the list of tables for name resolution
sql/sql_insert.cc:
- Changed the code that saves and restores the current context to
support the list of tables for name resolution -
context->first_name_resolution_table, and
table_list->next_name_resolution_table.
Needed to support an ugly trick to resolve inserted columns only in
the first table.
- Added Name_resolution_context::[first | last]_name_resolution_table.
- Commented old code
sql/sql_lex.cc:
- set select_lex.parent_lex correctly
- set correct state of the current name resolution context
sql/sql_lex.h:
- Added a stack of name resolution contexts to support local
contexts for JOIN ... ON conditions.
- Commented old code.
sql/sql_load.cc:
- Pass the FROM clause to setup_tables.
sql/sql_olap.cc:
- Pass the FROM clause to setup_tables.
sql/sql_parse.cc:
- correctly set SELECT_LEX::parent_lex
- set the first table of the current name resoltion context
- added support for NATURAL/USING joins
- commented old code
sql/sql_select.cc:
- Pass the FROM clause to setup_tables.
- Pass the end table to find_field_in_tables
- Improved comments
sql/sql_show.cc:
- Set SELECT_LEX::parent_lex.
sql/sql_update.cc:
- Pass the FROM clause to setup_tables.
sql/sql_yacc.yy:
- Added support for a stack of name resolution contexts needed to
implement name resolution for JOIN ... ON. A context is pushed
for each new JOIN ... ON, and popped afterwards.
- Added support for NATURAL/USING joins.
sql/table.cc:
- Added new class Natural_join_column to hide the heterogeneous
representation of column references for stored tables and for
views.
- Added a new list TABLE_LIST::next_name_resolution_table to
support name resolution with NATURAL/USING joins. Also added
other members to TABLE_LIST to support NATURAL/USING joins.
- Added a generic iterator over the fields of table references
of various types - class Field_iterator_table_ref
sql/table.h:
- Added new class Natural_join_column to hide the heterogeneous
representation of column references for stored tables and for
views.
- Added a new list TABLE_LIST::next_name_resolution_table to
support name resolution with NATURAL/USING joins. Also added
other members to TABLE_LIST to support NATURAL/USING joins.
- Added a generic iterator over the fields of table references
of various types - class Field_iterator_table_ref
tests/mysql_client_test.c:
Adjusted according to standard NATURAL JOIN syntax.
Fixed bug #12470.
A misplaced initialization of the cond_count counter
resulted in a wrong calculation of it. This caused a memory
corruption since this counter was used as a parameter of
some memory allocation.
view.test:
Added a test case for bug #12470.
mysql-test/t/view.test:
Added a test case for bug #12470.
sql/sql_base.cc:
Fixed bug #12470.
A misplaced initialization of the cond_count counter
resulted in a wrong calculation of it. This caused a memory
corruption since this counter was used as a parameter of
some memory allocation.
number of seconds (which can include microseconds). (Bug #6760)
mysql-test/r/func_misc.result:
Add new results
mysql-test/t/func_misc.test:
Add new regression test.
sql/item_create.cc:
Add create_func_sleep()
sql/item_create.h:
Add create_func_sleep()
sql/item_func.cc:
Add sleep() implementation
sql/item_func.h:
Add class for sleep() function
sql/lex.h:
Handle SLEEP() function
database after failing to execute a stored procedure in an inaccessible
database. (Bug #12318)
mysql-test/r/sp-security.result:
Update results
mysql-test/t/sp-security.test:
Add regression test
sql/mysql_priv.h:
Add additional argument to mysql_change_db()
sql/sp.cc:
Use mysql_change_db(), get rid of sp_change_db().
sql/sp.h:
Get rid of sp_change_db().
sql/sql_db.cc:
Handle no_access_check flag to mysql_change_db, and remove the send_ok()
call.
sql/sql_parse.cc:
Add extra argument to mysql_change_db(), and call send_ok() after
successful calls to same (since it no longer does it for us).
Fixed bug #12382.
INSERT statement effectively changed thd->set_query_id to 0,
while SELECT statement changed it to 0. As a result
the insert_fields function that expanded '*' was called
with different values of thd->set_query_id for the query
SELECT * FROM view depending on whether it was run after
an INSERT or after a SELECT statement. This was corrected
by restoring the old value of thd->set_query_id when
returning from the function setup_fields where possible
reset could occur.
If the value of thd->set_query_id == 0 then the fields
substituted instead of '*' were not registered as used
for bitmaps used_keys. This caused selection of an invalid
execution plan for the query SELECT * from <view>.
view.result, view.test:
Added a test case for bug #12382.
mysql-test/t/view.test:
Added a test case for bug #12382.
mysql-test/r/view.result:
Added a test case for bug #12382.
sql/sql_base.cc:
Fixed bug #12382.
INSERT statement effectively changed thd->set_query_id to 0,
while SELECT statement changed it to 0. As a result
the insert_fields function that expanded '*' was called
with different values of thd->set_query_id for the query
SELECT * FROM view depending on whether it was run after
an INSERT or after a SELECT statement. This was corrected
by restoring the old value of thd->set_query_id when
returning from the function setup_fields where possible
reset could occur.
If the value of thd->set_query_id == 0 then the fields
substituted instead of '*' were not registered as used
for bitmaps used_keys. This caused selection of an invalid
execution plan for the query SELECT * from <view>.
mysql-test/r/bigint.result:
fix test after merge
mysql-test/r/query_cache.result:
fix test after merge
mysql-test/r/type_datetime.result:
fix test after merge
into mysql.com:/home/dlenev/src/mysql-5.0-bg11973-2
sql/item_subselect.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/trigger.result:
SCCS merged
mysql-test/t/trigger.test:
SCCS merged
query that mixed statements that do and do not return info. (Bug #11688)
mysql-test/r/metadata.result:
Add new results
mysql-test/t/metadata.test:
Add new regression test
sql-common/client.c:
Clear mysql->info in free_old_query()
into xiphis.org:/usr/home/antony/work2/p2-bug10109.4
mysql-test/t/insert_update.test:
Auto merged
mysql-test/r/insert_update.result:
Auto merged
sql/sql_class.h:
discard bug10109 changes from 4.1
sql/sql_insert.cc:
merge bug10109 from 4.1 to 5.0
sql/sql_parse.cc:
discard bug10109 changes from 4.1
into mysql.com:/home/psergey/mysql-5.0-bug12228-r5
mysql-test/r/type_bit.result:
Auto merged
mysql-test/t/sp-threads.test:
Auto merged
mysql-test/t/type_bit.test:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
mysql-test/r/sp-threads.result:
Testcase for BUG#12228
mysql-test/t/sp-threads.test:
Testcase for BUG#12228
sql/sp_cache.cc:
BUG#12228: Post-review fixes: small code cleanup
sql/sp_cache.h:
BUG#12228: Post-review fixes: fixed the comment
sql/sql_parse.cc:
BUG#12228: Post-review fixes: in mysql_parse, flush obsolete SPs from the caches only if
the query hasn't been handled by the query cache.
sql/sql_prepare.cc:
BUG#12228: Post-review fixes: in mysql_stmt_prepare/execute, flush SP caches
"closer to the execution"
mysql-test/r/rpl_openssl.result:
Update results
mysql-test/t/rpl_openssl.test:
Test whether server has SSL support, not whether the client is using SSL.
Use 'localhost' in user we create to avoid problems with anonymous user.
Column names weren't checked for uniqueness for subqueries.
Code for names uniqueness checking used for view creation moved into
separate function named check_duplicate_names(). It's called on
preparation of subqueries to check uniqueness of names. If duplicate names
are found then error is raised.
sql/sql_derived.cc:
Fix bug #11864 non unique names are allowed in subquery
Added check for names uniqueness in select list.
sql/sql_view.cc:
Fix bug #11864 non unique names are allowed in subquery
Code for checking uniqueness of names in item list moved into separate function to make in available for use from other places.
sql/sql_view.h:
Fix bug #11864 non unique names are allowed in subquery
Added check_duplicate_names() function prototype.
mysql-test/t/derived.test:
Fixed test case results after bug fix#11864
Added test case for bug#11864 non unique names are allowed in subquery.
mysql-test/t/select_safe.test:
Fixed test case results after bug fix#11864
mysql-test/r/derived.result:
Added test case for bug #11864 non unique names are allowed in subquery.
Fixed test case results after bug fix#11864
mysql-test/r/select_safe.result:
Fixed test case results after bug fix#11864
mysql-test/r/gis.result:
test result fixed
mysql-test/t/gis.test:
test case
sql/sp_head.cc:
m_geom_returns is sent to make_field
sql/sp_head.h:
m_geom_returns declared
sql/sql_yacc.yy:
m_geom_returns initializing added
We should not allow FLUSH statement to be executed inside both triggers
and stored functions.
mysql-test/r/sp-error.result:
Updated test after replacing error, which is thrown when one uses FLUSH
statement inside of stored function, with more specific.
Also now we issue more general error when we barking about USE command
in stored routines.
mysql-test/r/trigger.result:
Added test for bug #12280 "Triggers: crash if flush tables"
mysql-test/t/sp-error.test:
Updated test after replacing error, which is thrown when one uses FLUSH
statement inside of stored function, with more specific.
Also now we issue more general error when we barking about USE command
in stored routines.
mysql-test/t/trigger.test:
Added test for bug #12280 "Triggers: crash if flush tables"
sql/share/errmsg.txt:
Removed ER_SP_NO_USE error. Now we use more general ER_SP_BADSTATEMENT in this
case. Instead added error message for barking about statements which should not
be allowed inside of stored functions or triggers.
It is safe to do this since it is highly unprobable that someone will upgrade
first to the new 5.0 release and then downgrade back to the old one.
sql/sql_parse.cc:
reload_acl_and_cache():
FLUSH TABLES and FLUSH PRIVILEGES should not be allowed if we are inside
of stored function or trigger.
sql/sql_yacc.yy:
We should not allow FLUSH statement inside both triggers and stored
functions. Replaced error which is thrown in this case with more
specific.
Also now we issue more general ER_SP_BADSTATEMENT error when one tries
to use USE command inside of stored routine.
cause crash on update".
Let us update "thd" pointer in LEX, all its units and in LEX::result before
executing statement in trigger body, since triggers are associated with TABLE
object and because of this can be used in different threads.
mysql-test/r/trigger.result:
Added test case for bug #11973 "SELECT .. INTO var_name; in trigger cause
crash on update".
mysql-test/t/trigger.test:
Added test case for bug #11973 "SELECT .. INTO var_name; in trigger cause
crash on update".
sql/item_subselect.cc:
subselect_engine:
Moved implementation of set_thd() method to item_subselect.cc,
since now it also sets "thd" for subselect_engine::result.
sql/item_subselect.h:
subselect_engine:
Moved implementation of set_thd() method to item_subselect.cc,
since now it also sets "thd" for subselect_engine::result.
sql/sql_class.h:
select_result:
Added set_thd() method for updating select_result::thd value (we need this
in cases when statement to which this select_result belongs will be used
in different threads, as it happens for statements in trigger body).
multi_delete/multi_update:
Got rid of redundant "thd" member (we already have it in select_result).
sql/sql_delete.cc:
multi_delete:
Got rid of redundant "thd" member (we already have it in select_result).
sql/sql_lex.h:
st_select_lex_unit:
Added set_thd() method for updating st_select_lex_unit::thd value
(we need this in cases when statement to which this unit belongs will
be used in different threads, as it happens for statements in trigger body).
We don't update thd of select_result pointed by st_select_lex_unit::result
in this method, since it is either have too short lifetime (i.e. created for
each execution) or is accessible via Item_subquery or LEX::result and thus
already taken care of.
sql/sql_parse.cc:
multi_delete:
Got rid of redundant "thd" member (we already have it in select_result).
sql/sql_prepare.cc:
reinit_stmt_before_use():
We have to update "thd" pointer in LEX, all its units and in LEX::result,
since statements which belong to trigger body are associated with TABLE
object and because of this can be used in different threads.
sql/sql_update.cc:
multi_update:
Got rid of redundant "thd" member (we already have it in select_result).
in sourced file properly. (Bug #11523)
client/mysql.cc:
Rename read_lines() to read_and_execute() and change interface so it
is clear when we are reading and processing lines interactively versus
in batch mode or from a file being sourced.
mysql-test/r/mysql.result:
Add results
mysql-test/t/mysql_delimiter.sql:
Add new test
mysql-test/t/mysql_delimiter_source.sql:
New BitKeeper file ``mysql-test/t/mysql_delimiter_source.sql''
When PRIMARY KEY is present ha_innobase::cmp_ref() uses it to compare refs.
After comparing part of key it moves pointers to compare next part.
For varchar parts pointers were moved only by length of parts, not including
bytes containig part length itself. This results in wrong comparision and
wrong number of deleted records.
sql/ha_innodb.cc:
Fix bug #12340 ha_innobase::cmp_ref() moves pointers by wrong length.
mysql-test/t/innodb.test:
Test case for bug #12340 ha_innobase::cmp_ref() moves pointers by wrong length.
mysql-test/r/innodb.result:
Test case for bug #12340 ha_innobase::cmp_ref() moves pointers by wrong length.
myisam/mi_check.c:
different search function is used for SPATIAL keys
mysql-test/r/gis-rtree.result:
test result fixed
mysql-test/t/gis-rtree.test:
test case
sql/ha_innodb.cc:
Don't print not critical warning if log_warnings is not set
Use sql_print_warning() instead of fprintf().
(We should not use fprintf() as this causes problems on windows and with the embedded server)
into mysql.com:/home/dlenev/src/mysql-5.0-is
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/sp.result:
Manual merge
mysql-test/t/sp.test:
Manual merge
sql/sql_class.h:
Manual merge
Added a test case for bug #12392.
item_cmpfunc.cc:
Fixed bug #12392.
Missing handling of rows containing NULL components
when evaluating IN predicates caused a crash.
sql/item_cmpfunc.cc:
Fixed bug #12392.
Missing handling of rows containing NULL components
when evaluating IN predicates caused a crash.
mysql-test/r/subselect.result:
Added a test case for bug #12392.
mysql-test/t/subselect.test:
Added a test case for bug #12392.
* Cleanup SP Cache code, now SP Cache only deletes sp_head objects in
sp_cache_flush_obsolete() invalidates all pointers to routines in the cache.
* Use new SP Cache use contract in the code.
There is no test case because it doesn't seem to be possible to cause thread races to end
the same way they end in heavy-load test. This patch removes the crash in heavy test.
mysql-test/r/type_bit.result:
Drop the tables this test tries to create
mysql-test/r/view.result:
Drop function this test creates
mysql-test/t/type_bit.test:
Drop the tables this test tries to create
mysql-test/t/view.test:
Drop function this test creates
sql/sp.cc:
Fix for BUG#12228: When a routine is deleted/modified, invalidate all cached SPs in all
threads. We need to do so because sp_lex_keeper::{prelocking_tables, query_tables_own_last}
in one SP may depend on another SP sp_lex_keeper::m_lex is using.
sql/sp_cache.cc:
Fix for BUG#12228:
* Move class sp_cache to here from sp_cache.h, document the functions.
* sp_cache_insert, sp_cache_remove, sp_cache_invalidate and sp_cache_lookup must not delete
sp_head* objects as they may be called during SP execution when sp_head objects are used.
* Added sp_cache_flush_obsolete() function that may delete sp_head objects.
* Removed sp_cache_remove as there is no need for it now - when we change one SP we should
invalidate all other SPs, because sp_lex_keeper::{prelocking_tables,
query_tables_own_last} from one SP depend on content of another SP (used in
sp_lex_keeper::m_lex).
sql/sp_cache.h:
Fix for BUG#12228:
* Move class sp_cache to sp_cache.cc it is not needed in .h file
* Added comments
sql/sql_parse.cc:
Fix for BUG#12228: Call new sp_cache_flush_obsolete() function before running the query
sql/sql_prepare.cc:
Fix for BUG#12228: Call new sp_cache_flush_obsolete() function before preparing/executing a PS
- Fixed some error condtion when handling dates with 'T'
- Added extra test for bug #11867 (Wrong result with "... WHERE ROW( a, b ) IN ( SELECT DISTINCT a, b WHERE ...)" to show it's not yet fixed
- Safety fixes and cleanups
mysql-test/r/subselect.result:
Added extra test case to test case for bug #11867
(Result shows that current code is not yet right and needs to be fixed)
mysql-test/r/type_datetime.result:
More tests for dates of type CCYYMMDDTHHMMSS
mysql-test/t/subselect.test:
Added extra test case to test case for bug #11867
mysql-test/t/type_datetime.test:
More tests for dates of type CCYYMMDDTHHMMSS
sql-common/my_time.c:
Fixed handling of dates of type CCYYMMDDTHHMMSS
(Old code couldn't handle 2003-0304 or 2003-0003-02)
sql/slave.cc:
Indentation cleanup
sql/sql_parse.cc:
Added test of return value of get_system_var()
sql/sql_select.cc:
Removed unnecessary call to field->table->maybe_null
sql/sql_union.cc:
Indentation fixes
BUG #11104
Took out the offset-=delimiter_length-1 out of the for loop. It was causing
basically this:
select substring_index('the king of the the hill', 'the', -2) to not work.
The first iteration, offset would be initialised to 24, then strstr would
point at 'the king of the the* hill' ('*'means right before the
character following), returning a offset of 16. The for loop would then
decrement offset by two (3 - 1), to 14, now pointing at
"the king of th*e the hill", _skipping_ past the 'e' in the second to last
'the', and therefore strstr would never have a chance of matching the
second to last 'the', then moving on to the 'the' at the begginning of the
string!
In a nutshell, offset was being decremented by too great a value, preventing
the second to last 'the' from being ever found, hence the result of
'king of the the hill' from the query that is reported in the bug report
func_str.test:
BUG #11104
Added tests to make sure fix addresses issues in original bug report
func_str.result:
BUG #11104
New results for new tests
mysql-test/r/func_str.result:
BUG #11104
New results for new tests
mysql-test/t/func_str.test:
BUG #11104
Added tests to make sure fix addresses issues in original bug report
sql/item_strfunc.cc:
BUG #11104
Took out the offset-=delimiter_length-1 out of the for loop. It was causing
basically this:
select substring_index('the king of the the hill', 'the', -2) to not work.
The first iteration, offset would be initialised to 24, then strstr would
point at 'the king of the the* hill' ('*'means right before the
character following), returning a offset of 16. The for loop would then
decrement offset by two (3 - 1), to 14, now pointing at
"the king of th*e the hill", _skipping_ past the 'e' in the second to last
'the', and therefore strstr would never have a chance of matching the
second to last 'the', then moving on to the 'the' at the begginning of the
string!
In a nutshell, offset was being decremented by too great a value, preventing
the second to last 'the' from being ever found, hence the result of
'king of the the hill' from the query that is reported in the bug report
mysql-test/r/information_schema.result:
Update results
sql/sql_show.cc:
Show 'SYSTEM VIEW' for table_type of views in INFORMATION_SCHEMA.
sql/table.h:
Add SYSTEM_TMP_TABLE to tmp_table_type enum, for internal temporary
"tables" like INFORMATION_SCHEMA views.
adding test case
item_strfunc.cc:
Bug#12351
CONCAT with USER()/DATEBASE() and
a column gets strange results.
Mark created Item_str as constant, so CONCAT
cannot reuse it for optimization purposes.
sql/item_strfunc.cc:
Bug#12351
CONCAT with USER()/DATEBASE() and
a column gets strange results
mysql-test/t/func_system.test:
adding test case
mysql-test/r/func_system.result:
adding test case
result set".
To enable full access to contents of I_S tables from stored functions
or statements that use them, we manipulate with thread's open tables
state and ensure that we won't cause deadlock when we open tables by
ignoring flushes and name-locks.
Building of contents of I_S.TABLES no longer requires locking of tables
since we use use handler::info() method with HA_STATUS_AUTO flag instead
of handler::update_auto_increment() for obtaining information about
auto-increment values. But this also means that handlers have to implement
support for HA_STATUS_AUTO flag (particularly InnoDB needs it).
mysql-test/r/alter_table.result:
Updated test results. This change was caused by the fact that now when
we build contents of I_S tables (and thus output of SHOW INDEX) we
don't use instances of tables which may be already opened and locked
by thread (we always use new instance).
mysql-test/r/information_schema.result:
Added test which checks how information about current auto-increment value for
table is reported in INFORMATION_SCHEMA.TABLES view.
mysql-test/r/sp.result:
Added test for bug #10055 "Using stored function with information_schema causes
empty result set".
mysql-test/t/information_schema.test:
Added test which checks how information about current auto-increment value for
table is reported in INFORMATION_SCHEMA.TABLES view.
mysql-test/t/sp.test:
Added test for bug #10055 "Using stored function with information_schema causes
empty result set".
sql/mysql_priv.h:
close_thread_tables():
Get rid of 'stopper' argument which is no longer used. Now when we need
to open and then close some table without touching tables which are already
opened we use THD::reset_n/restore_backup_open_tables_state() methods.
open_tables()/open_normal_and_derived_tables():
Added 'flags' argument to be able open tables even if some has done
a flush or hold namelock on them.
sql/sp.cc:
close_proc_table/open_proc_table_for_read/db_find_routine():
Replaced push_open_tables_state/pop_open_tables_state() methods which
were saving/restoring current open tables state in/from THD::open_state_list
with reset_n_backup_open_tables_state/restore_backup_open_tables_state()
methods which assume that backup storage for this state is allocated on
stack (or elsewhere) by their caller.
open_proc_table_for_read():
Since now we can have several open tables states stacked up we can't rely
rely on checking whether we have some tables open in previous state.
Instead we always assume that some tables are open and we need to ignore
flush while locking mysql.proc. We don't really need
MYSQL_LOCK_IGNORE_GLOBAL_READ_LOCK in this case since we open mysql.proc table
only for reading.
sql/sp.h:
Added declarations of open_proc_table_for_read()/close_proc_table() to be
able to use them in sql_show.cc.
sql/sql_base.cc:
close_thread_tables():
Get rid of 'stopper' argument which is no longer used. Now when we need
to open and then close some table without touching tables which are already
opened we use THD::reset_n/restore_backup_open_tables_state() methods.
open_tables()/open_normal_and_derived_tables():
Added 'flags' argument to be able open tables even if some has done
a flush or hold namelock on them.
sql/sql_class.cc:
Open_tables_state, THD:
Replaced push_open_tables_state/pop_open_tables_state() methods which
were saving/restoring current open tables state in/from THD::open_state_list
with reset_n_backup_open_tables_state/restore_backup_open_tables_state()
methods which assume that backup storage for this state is allocated on
stack (or elsewhere) by their caller.
sql/sql_class.h:
Open_tables_state, THD:
Replaced push_open_tables_state/pop_open_tables_state() methods which
were saving/restoring current open tables state in/from THD::open_state_list
with reset_n_backup_open_tables_state/restore_backup_open_tables_state()
methods which assume that backup storage for this state is allocated on
stack (or elsewhere) by their caller.
sql/sql_handler.cc:
open_tables()/open_normal_and_derived_tables():
Added 'flags' argument to be able open tables even if some has done
a flush or hold namelock on them.
sql/sql_prepare.cc:
open_tables()/open_normal_and_derived_tables():
Added 'flags' argument to be able open tables even if some has done
a flush or hold namelock on them.
sql/sql_show.cc:
get_all_tables():
Now we use THD::reset_n_/restore_backup_open_tables_state() for
saving/restoring open tables state instead of working with it directly
(This also allows us to have proper content of I_S system tables in
statements with stored functions and in stored functions). We also
ignore possible flushes when opening tables (we may create deadlock
otherwise). Also we do all needed manipulations with LEX in this function
and not in get_schema_tables_result() now.
get_schema_tables_record():
Let us use handler::info() method with HA_STATUS_AUTO flag for obtaining
information about table's auto-increment value. This allows to avoid locking
of tables which is needed when we use handler::update_auto_increment() method.
fill_schema_proc():
Now we use open_proc_table_for_read/close_proc_table() for access to
mysql.proc table (so we won't cause deadlock if we already have some
tables open and locked, this also allows us to have proper content in
ROUTINES system table in statements using stored functions/in stored
functions).
get_schema_tables_result():
Moved all manipulations with Open_tables_state and LEX needed for
safe opening of tables to ST_SCHEMA_TABLE::fill_table functions
(i.e. get_all_tables() and fill_schema_proc()).
sql/sql_update.cc:
open_tables()/open_normal_and_derived_tables():
Added 'flags' argument to be able open tables even if some has done
a flush or hold namelock on them.
Changed assembler functions to not access global variables or variables in text segement
Added wrapper function in C to longlong2str() to pass _dig_vec_upper as an argument
mysql-test/r/bigint.result:
More tests for parsing of bigint's
More tests for different values to conv()
mysql-test/t/bigint.test:
More tests for parsing of bigint's
More tests for different values to conv()
strings/Makefile.am:
Added longlong2str_asm.c
strings/longlong2str-x86.s:
Changed functions to not access variables in text segment
Fixed this by adding global variable '_dig_vec_upper' as an argument to longlong2str_with_dig_vector()
strings/my_strtoll10-x86.s:
Removd array lfactor by calculating the value in code
(this is to to make the code position independent)
strings/longlong2str_asm.c:
New BitKeeper file ``strings/longlong2str_asm.c''
into mysql.com:/home/psergey/mysql-5.0-bug11869-part3
BitKeeper/deleted/.del-not_windows.inc:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/rpl_flush_tables.test:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql-common/my_time.c:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_union.cc:
Auto merged
BitKeeper/deleted/.del-not_windows.inc:
Delete: mysql-test/include/not_windows.inc
mysql-test/r/fulltext_order_by.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/fulltext_order_by.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/rpl_flush_tables.test:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/sql_union.cc:
Auto merged
We're out of bits in st_select_lex->options so make TMP_TABLE_FORCE_MYISAM ==
OPTION_FOUND_COMMENT (the latter is not used by create_tmp_table).
mysql-test/r/create.result:
Updated the test result
mysql-test/r/fulltext_order_by.result:
Drop all tables this test uses
mysql-test/t/fulltext_order_by.test:
Drop all tables this test uses
Added test case for bug #11867.
Fixed results for two existing test cases.
subselect.test:
Added test case for bug #11867.
item_subselect.cc:
Fixed bug #11867.
Added missing code in Item_in_subselect::row_value_transformer
that caused problems for queries with
ROW(elems) IN (SELECT DISTINCT cols FROM ...).
sql/item_subselect.cc:
Fixed bug #11867.
Added missing code in Item_in_subselect::row_value_transformer
that caused problems for queries with
ROW(elems) IN (SELECT DISTINCT cols FROM ...).
mysql-test/t/subselect.test:
Added test case for bug #11867.
mysql-test/r/subselect.result:
Added test case for bug #11867.
Fixed results for two existing test cases.
In init_prepare_fake_select_lex() don't empty ftfunc_list. UNION's ORDER BY clause may
contain MATCH(...), for which fix_index() should be called.
mysql-test/r/fulltext_order_by.result:
BUG#11869 part2 : added another test case
mysql-test/t/fulltext_order_by.test:
BUG#11869 part2 : added another test case
Give the user a warning if he tries to destroy the default key cache.
mysql-test/r/key_cache.result:
Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
The test result.
mysql-test/t/key_cache.test:
Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
The test case.
sql/share/errmsg.txt:
Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
The new message string.
"INSERT .. SELECT ... ON DUPLICATE KEY UPDATE fails"
Ensure that check_insert_fields() is only called once when
doing an INSERT..SELECT
mysql-test/r/insert_update.result:
Test for bug 10109
mysql-test/t/insert_update.test:
Test for bug 10109
sql/sql_class.h:
select_insert needs more state
sql/sql_insert.cc:
ensure that check_insert_fields() is only called once when
doing an INSERT...SELECT
sql/sql_parse.cc:
more args for select_insert constructor
When creating temporary table for UNION, pass TMP_TABLE_FORCE_MYISAM flag to
create_tmp_table if we will be using fulltext function(s) when reading from the
temp. table.
mysql-test/r/fulltext_order_by.result:
Testcase for BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error)
mysql-test/t/fulltext_order_by.test:
Testcase for BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error)
sql/mysql_priv.h:
BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
Added TMP_TABLE_FORCE_MYISAM flag
sql/sql_select.cc:
BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
In create_tmp_table(), honor the TMP_TABLE_FORCE_MYISAM flag
item.cc:
item.h:
Adding Item_param::safe_charset_converter,
not to return collation mix error if
parameter can be converted into operation
character set.
ctype_utf8.result:
adding test case
ctype_utf8.test:
adding test case
sql/item.h:
Bug #12371 executing prepared statement fails (illegal mix of collations)
Adding Item_param::safe_charset_converter,
not to returm collation mix error if
parameter can be converted into operation
character set.
sql/item.cc:
Bug #12371 executing prepared statement fails (illegal mix of collations)
mysql-test/t/ctype_utf8.test:
adding test case
mysql-test/r/ctype_utf8.result:
adding
width beyond the maximum. (Bug #6080)
mysql-test/r/errors.result:
Update results
mysql-test/r/type_bit.result:
Update results
mysql-test/r/type_bit_innodb.result:
Update results
mysql-test/t/errors.test:
Add new regression test
mysql-test/t/type_bit_innodb.test:
Update error code in test
sql/share/errmsg.txt:
Add new error message
sql/sql_parse.cc:
Display more appropriate error message for column creation that
fails due to a non-string field with a display width that is too
big.
Fixed bug #12154: a query returned: Column <name> cannot be null.
The problem was due to a bug in the function setup_table_map:
the flag maybe_null was set up incorrectly for inner tables of
nested outer joins.
join_nested.result, join_nested.test:
Added a test case for bug #12154.
mysql-test/t/join_nested.test:
Added a test case for bug #12154.
mysql-test/r/join_nested.result:
Added a test case for bug #12154.
sql/mysql_priv.h:
Fixed bug #12154: a query returned: Column <name> cannot be null.
The problem was due to a bug in the function setup_table_map:
the flag maybe_null was set up incorrectly for inner tables of
nested outer joins.
mysql-test/r/heap.result:
Add new results
mysql-test/t/heap.test:
Add new regression test
sql/ha_heap.h:
Always report row type of Fixed for MEMORY tables
Added a check before taking a global read lock if
the own thread has a write locked table.
mysql-test/r/flush.result:
Bug#9459 - deadlock with flush with lock, and lock table write
The test result.
mysql-test/t/flush.test:
Bug#9459 - deadlock with flush with lock, and lock table write
The test case.
mysql-test/r/information_schema.result:
fix the test case for fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames
mysql-test/r/information_schema_db.result:
fix the test case for fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames
sql/sql_show.cc:
reorder the structure
fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames
sql/table.h:
reorder the enum
fix for bug #12315 - SHOW TABLE STATUS FROM `information_schema`; does not sort tablenames
into mysql.com:/home/jimw/my/mysql-5.0-clean
BitKeeper/deleted/.del-not_windows.inc:
Delete: mysql-test/include/not_windows.inc
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/rpl_flush_tables.test:
Auto merged
sql-common/my_time.c:
Auto merged
mysql-test/r/query_cache.result:
Resolve conflict
mysql-test/r/query_cache.result:
Updated results
mysql-test/t/query_cache.test:
Change test to use a truly invalid date, now that dates like
'20050327 0:0:0' are handled as they are in 4.0.
length.
When temporary field created for DATE(LEFT(column,8)) expression, max_length
value is taken from Item_date_typecast, and it is getting it from underlaid
Item_func_left and it's max_length is 8 in given expression. And all this
results in stripping last 2 digits.
To Item_date_typecast class added its own fix_length_and_dec() function
that sets max_length value to 10, which is proper for DATE field.
mysql-test/t/group_by.test:
Test case for bug#12266 GROUP BY DATE(LEFT(column,8)) returns result strings with reduced length.
mysql-test/r/group_by.result:
Test case for bug#12266 GROUP BY DATE(LEFT(column,8)) returns result strings with reduced length.
sql/item_timefunc.h:
Fix bug#12266 GROUP BY DATE(LEFT(column,8)) returns result strings with reduced length.
To Item_date_typecast class added its own fix_length_and_dec() which sets proper max_length value.
into deer.(none):/home/hf/work/mysql-5.0.clean
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
fixing tests accordingly
item.cc:
Bug #10892 user variables not auto cast for comparisons
When mixing strings with different character sets,
and coercibility is the same, we allow conversion
if one character set is superset for other character set.
sql/item.cc:
Bug #10892 user variables not auto cast for comparisons
When mixing strings with different character sets,
and coercibility is the same, we allow conversion
if one character set is superset for other character set.
mysql-test/t/grant.test:
fixing tests accordingly
mysql-test/r/grant.result:
fixing tests accordingly
in the database directory on the master
mysql-test/r/rpl_drop_db.result:
New BitKeeper file ``mysql-test/r/rpl_drop_db.result''
mysql-test/t/rpl_drop_db.test:
New BitKeeper file ``mysql-test/t/rpl_drop_db.test''
Adds --replace_column to make test results deterministic.
mysql-test/r/rpl_slave_status.result:
BUG#12330 updated result file which I missed in last changeset
This updates the test to use --replace_column to make the test
deterministic.
Added check which throws ER_WRONG_OBJECT error in case the .frm
doesn't contain a valid table type (e.g. view or trigger)
mysql-test/r/create.result:
Added test case for bug #6859
mysql-test/t/create.test:
Add testcase for bug #6850
mysql-test/r/sp.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
* Don't activate prelocking mode for evaluating procedure arguments when it is not necessary.
* Code structure simplification and cleanup.
* Cleanup in .test files
mysql-test/r/sp-prelocking.result:
Prelocking-free SPs, post-review fixes:
Added comment, s/testdb/mysqltest/, fixed a wrong test (error wasnt reported because of known bug in mysqltestrun)
mysql-test/r/sp-security.result:
Don't drop the table we're not using.
mysql-test/r/sp.result:
Prelocking-free SPs, post-review fixes:
remove redundant "drop table if exists t3" statements
mysql-test/t/sp-prelocking.test:
Prelocking-free SPs, post-review fixes:
Added comment, s/testdb/mysqltest/, fixed a wrong test (error wasnt reported because of known bug in mysqltestrun)
mysql-test/t/sp-security.test:
Don't drop the table we're not using.
mysql-test/t/sp.test:
Prelocking-free SPs, post-review fixes:
remove redundant "drop table if exists t3" statements
sql/sp.cc:
New, better defined, sp_get_prelocking_info() function to get info about
statement prelocking options
sql/sp.h:
Prelocking-free SPs, post-review fixes: New, better defined, sp_get_prelocking_info()
function to get info about statement prelocking options
sql/sp_cache.h:
Prelocking-free SPs, post-review fixes: Amended the comments
sql/sp_head.cc:
Prelocking-free SPs, post-review fixes: Amend the comments, simplify the code that
attaches removes statement's prelocking tables.
sql/sql_base.cc:
Prelocking-free SPs, post-review fixes:
* Use a better defined sp_get_prelocking_info() function to get info about
statement prelocking options
* Don't activate prelocked mode for evaluation of SP arguments that use tables
but don't need prelocking.
sql/sql_class.cc:
Prelocking-free SPs, post-review fixes: Initialize THD members in the order they are declared.
into mysql.com:/home/jimw/my/mysql-5.0-clean
client/mysqltest.c:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/errmsg.txt:
Resolve conflict
mysql-test/t/information_schema.test:
Stub out column in results that we don't care about, and may vary
mysql-test/r/information_schema.result:
Update results
that is outside the acceptable date range. (Bug #10627)
mysql-test/r/func_date_add.result:
Add new results
mysql-test/t/func_date_add.test:
Add new regression test
sql/item_timefunc.cc:
Add warning for error conditions in Item_date_add_interval::get_date()
sql/share/errmsg.txt:
Add new error message
Bug was introduced by cset 1.1659.14.1. Before it server was silently
ignoring that lock can't be acquired because it already acquired.
This patch makes make_global_read_lock_block_commit() return without error
if lock already acquired.
mysql-test/t/flush_table.test:
Test case for bug#11934 FLUSH TABLES WITH READ LOCK hangs client.
mysql-test/r/flush_table.result:
Test case for bug#11934 FLUSH TABLES WITH READ LOCK hangs client.
sql/lock.cc:
Fix bug #11934 Two sequential FLUSH TABLES WITH READ LOCK hangs client.
Make make_global_read_lock_block_commit() return without error if lock already acquired.
frequently used command sequence replaced with inline function
BitKeeper/etc/config:
logging switching off
mysql-test/r/lowercase_view.result:
hided view underlying tables from error message
mysql-test/r/view.result:
hided view underlying tables from error message
mysql-test/t/lowercase_view.test:
hided view underlying tables from error message
mysql-test/t/view.test:
hided view underlying tables from error message
sql/mysql_priv.h:
subroutine which return correct error message
sql/share/errmsg.txt:
new error message
sql/sql_base.cc:
subroutine which issue correct error message in case of view presence for duplicated table on update
sql/sql_delete.cc:
issue correct error message in case of view presence for duplicated table on update
sql/sql_insert.cc:
issue correct error message in case of view presence for duplicated table on update
sql/sql_parse.cc:
issue correct error message in case of view presence for duplicated table on update
sql/sql_update.cc:
issue correct error message in case of view presence for duplicated table on update
sql/sql_view.cc:
frequently used command sequence replaced with inline function
sql/table.cc:
frequently used command sequence replaced with inline function
sql/table.h:
frequently used command sequence replaced with inline function
myisam/sort.c:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
sql/sql_select.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
date format. (Bug #7308)
mysql-test/r/type_datetime.result:
Add new results
mysql-test/t/type_datetime.test:
Add new test
sql-common/my_time.c:
Fix handling of field_length for each field in date, especially
for dates not in the internal_format.
FULLTEXT non-functional for big5 strings
mysql-test/r/ctype_big5.result:
Test case for BUG#12075.
mysql-test/t/ctype_big5.test:
Test case for BUG#12075.
strings/ctype-big5.c:
hack: (to be fixed properly later) all multi-byte sequences are considered isalpha() now
Repair crashes mysql when table has fulltext index.
myisam/sort.c:
Use static ft_buf instead of dynamic mergebuf. Latter could be NULL if record has long words.
mysql-test/r/fulltext.result:
Test case for BUG#11684 - repair crashes mysql when table has fulltext index.
mysql-test/t/fulltext.test:
Test case for BUG#11684 - repair crashes mysql when table has fulltext index.