Replacing local directory.
mysql-test/r/mysqlbinlog.result:
Additional fix for bug N 15126
mysql-test/t/mysqlbinlog.test:
Additional fix for bug N 15126
Bug N 15126 character_set_database is not replicated (LOAD DATA INFILE need it)
Positions of some binlog events were changed because of
additional logging of @@collation_database.
into mysql.com:/home/bar/mysql-5.0.b15126
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/mysqlbinlog.result:
After merge fix
mysql-test/t/mysqlbinlog.test:
After merge fix
This patch fixes problem that LOAD DATA could use different
character sets when loading files on master and on slave sides:
- Adding replication of thd->variables.collation_database
- Adding optional character set clause into LOAD DATA
Note, the second way, with explicit CHARACTER SET clause
should be the recommended way to load data using an alternative
character set.
The old way, using "SET @@character_set_database=xxx" should be
gradually depricated.
mysql-test/r/mysqlbinlog.result:
Adding test case
mysql-test/t/mysqlbinlog.test:
Adding test case
sql/log_event.cc:
Adding logging of thd->variables.collation_database
sql/log_event.h:
Adding declarations
sql/sql_class.cc:
Exchange character set is null by default
sql/sql_class.h:
Adding character set into sql_exchange
sql/sql_load.cc:
- Using exchange character set (if it was specified in LOAD DATA syntax)
- Using thd->variables.collation_database by default
sql/sql_yacc.yy:
Adding optional character set clause into LOAD DATA syntax
mysql-test/r/rpl_loaddata2.result:
New BitKeeper file ``mysql-test/r/rpl_loaddata2.result''
mysql-test/std_data/loaddata6.dat:
New BitKeeper file ``mysql-test/std_data/loaddata6.dat''
mysql-test/t/rpl_loaddata2.test:
New BitKeeper file ``mysql-test/t/rpl_loaddata2.test''
into mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Problem: DROP TRIGGER was not properly handled in combination
with slave filters, which made replication stop
Fix: loading table name before checking slave filters when
dropping a trigger.
mysql-test/r/rpl_replicate_do.result:
Adding test case
mysql-test/t/rpl_replicate_do.test:
Adding test case
sql/sql_parse.cc:
Loading table name when dropping a trigger
before checking slave filtering rules.
sql/sql_trigger.cc:
Making add_table_for_trigger() public
sql/sql_trigger.h:
Making add_table_for_trigger() public
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
sql/field.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
sql/field.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
mysql-test/t/disabled.def:
Manual merge
Triggers in SBR mode."
BUG#14914 "SP: Uses of session variables in routines are not always
replicated"
BUG#25167 "Dupl. usage of user-variables in trigger/function is not
replicated correctly"
User-defined variables used inside of stored functions/triggers in
statements which did not update tables directly were not replicated.
We also had problems with replication of user-defined variables which
were used in triggers (or stored functions called from table-updating
statements) more than once.
This patch addresses the first issue by enabling logging of all
references to user-defined variables in triggers/stored functions
and not only references from table-updating statements.
The second issue stemmed from the fact that for user-defined
variables used from triggers or stored functions called from
table-updating statements we were writing binlog events for each
reference instead of only one event for the first reference.
This problem is already solved for stored functions called from
non-updating statements with help of "event unioning" mechanism.
So the patch simply extends this mechanism to the case affected.
It also fixes small problem in this mechanism which caused wrong
logging of references to user-variables in cases when non-updating
statement called several stored functions which used the same
variable and some of these function calls were omitted from binlog
as they were not updating any tables.
mysql-test/r/rpl_user_variables.result:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
This patch adds the correct results for execution of the added test procedures to the
rpl_user_variables test.
mysql-test/t/rpl_user_variables.test:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
This patch adds additional tests to the rpl_user_variables test that test many of the
different ways user-defined variables can be required to be replicated.
sql/item_func.cc:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
To properly log accesses to user-defined variables from stored functions/triggers,
the get_var_with_binlog() method needs to log references to such variables even from
non-table-updating statements within them.
sql/log.cc:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
This patch modifies the start_union_events method to accept the query id from a parameter.
This allows callers to set the query_id to the id of the sub statement such as a trigger
or stored function. Which permits the code to identify when a user defined variable has
been used by the statement and this already present in THD::user_var_event.
Note:
The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper
replication of access to user-defined variables under a special test case (the last case
shown in rpl_user_variables.test).
sql/sp_head.cc:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
This patch modifies the code to allow for cases where events for function calls have
a separate union for each event and thus cannot use the query_id of the caller as the
start of the union. Thus, we use an artifically created query_id to set the start of
the events.
Note:
The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper
replication of access to user-defined variables under a special test case (the last case
shown in rpl_user_variables.test).
sql/sql_class.cc:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
This patch adds the query_id parameter to the calls to mysql_bin_log.start_union_events().
Note:
The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper
replication of access to user-defined variables under a special test case (the last case
shown in rpl_user_variables.test).
sql/sql_class.h:
BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
This patch adds the query_id parameter to the calls to mysql_bin_log.start_union_events().
it doesn't select.
This bug was fixed along with bug #16861: User defined variable can
have a wrong value if a tmp table was used.
There the fix consisted of Item_func_set_user_var overloading the method
Item::save_in_field. Consider the query from the test case:
INSERT INTO foo( bar, baz )
SELECT
bar,
@newBaz := 1 + baz
FROM
foo
WHERE
quux <= 0.1;
Here the assignment expression '@newBaz := 1 + baz' is represented by an
Item_func_set_user_var. Its member method save_in_field, which writes the
value of this assignment into the result field, writes the val_xxx() value,
which is not updated at this point. In the fix introduced by the patch,
the save_in_field method reads the actual variable value instead.
See also comment for
ChangeSet@1.2368.1.3, 2007-01-09 23:24:56+03:00, evgen@moonbone.local +4 -0
and comment for
Item_func_set_user_var::save_in_field (item_func.cc)
mysql-test/r/update.result:
BUG#24010
The correct, and expected, result
mysql-test/t/update.test:
BUG#24010
The test case for this bug. When the bug is active, the INSERT ... SELECT
statement will try to insert the values <1, 2> which gives an error
into moonbone.local:/mnt/gentoo64/work/23800-bug1-5.0-opt-mysql
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_select.cc:
Auto merged
created for sorting.
Any outer reference in a subquery was represented by an Item_field object.
If the outer select employs a temporary table all such fields should be
replaced with fields from that temporary table in order to point to the
actual data. This replacement wasn't done and that resulted in a wrong
subquery evaluation and a wrong result of the whole query.
Now any outer field is represented by two objects - Item_field placed in the
outer select and Item_outer_ref in the subquery. Item_field object is
processed as a normal field and the reference to it is saved in the
ref_pointer_array. Thus the Item_outer_ref is always references the correct
field. The original field is substituted for a reference in the
Item_field::fix_outer_field() function.
New function called fix_inner_refs() is added to fix fields referenced from
inner selects and to fix references (Item_ref objects) to these fields.
The new Item_outer_ref class is a descendant of the Item_direct_ref class.
It additionally stores a reference to the original field and designed to
behave more like a field.
sql/item.cc:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
Now all outer fields are substituted with references to them (Item_outer_ref objects)
in the Item_field::fix_outer_field() function.
The original field is saved in the Item_outer_ref object.
sql/item.h:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
Added the Item_outer_ref class.
sql/mysql_priv.h:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
Added the fix_inner_refs() function prototype.
sql/sql_delete.cc:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
Added call to the fix_inner_refs() function.
sql/sql_select.cc:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
The new function called fix_inner_refs() is added.
mysql-test/r/subselect.result:
Added a test case for bug#23800: Correlated sub query returning incorrect results when
operated upon.
sql/sql_update.cc:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
Added call to the fix_inner_refs() function.
mysql-test/r/subselect3.result:
Corrected test cases result after fix for bug#23800: Correlated sub query returning
incorrect results when operated upon.
mysql-test/t/subselect.test:
Added a test case for bug#23800: Correlated sub query returning incorrect results when
operated upon.
sql/sql_lex.cc:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
Added cleanup of the inner_refs_list.
sql/sql_lex.h:
Bug#23800: Correlated sub query returning incorrect results when operated upon.
The inner_refs_list is added to the SELECT_LEX class.
This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
extra/yassl/src/ssl.cpp:
Removed compiler warning
extra/yassl/taocrypt/src/asn.cpp:
After merge fixes
extra/yassl/testsuite/testsuite.cpp:
Removed compiler warning
mysql-test/r/ndb_lock.result:
After merge fixes
ndb/src/common/debugger/EventLogger.cpp:
Removed compiler warning
ndb/src/common/util/ConfigValues.cpp:
Removed compiler warning
ndb/src/common/util/NdbSqlUtil.cpp:
Removed compiler warning
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Removed compiler warning
ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
Removed compiler warning
ndb/src/kernel/blocks/dbtup/DbtupSystemRestart.cpp:
Removed compiler warning
ndb/src/kernel/vm/ndbd_malloc.cpp:
Removed compiler warning
ndb/src/mgmclient/main.cpp:
Removed compiler warning
ndb/src/ndbapi/SignalSender.cpp:
Removed compiler warning
sql/ha_ndbcluster.cc:
Some extra safety
sql/item_cmpfunc.cc:
After merge fixes
sql/item_subselect.cc:
After merge fixes
sql/sql_insert.cc:
After merge fixes
(This actually fixes a bug in old code when many connections are in use)
support-files/compiler_warnings.supp:
Removed some suppressed warnings
into mysql.com:/home/my/mysql-5.0
BitKeeper/etc/ignore:
auto-union
BUILD/SETUP.sh:
Auto merged
Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
cmd-line-utils/readline/display.c:
Auto merged
configure.in:
Auto merged
extra/yassl/include/buffer.hpp:
Auto merged
extra/yassl/include/crypto_wrapper.hpp:
Auto merged
extra/yassl/include/yassl_imp.hpp:
Auto merged
extra/yassl/include/yassl_int.hpp:
Auto merged
extra/yassl/src/crypto_wrapper.cpp:
Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
Auto merged
extra/yassl/taocrypt/include/des.hpp:
Auto merged
extra/yassl/taocrypt/include/hash.hpp:
Auto merged
extra/yassl/taocrypt/include/hmac.hpp:
Auto merged
extra/yassl/taocrypt/include/modarith.hpp:
Auto merged
extra/yassl/taocrypt/include/modes.hpp:
Auto merged
extra/yassl/taocrypt/include/rsa.hpp:
Auto merged
extra/yassl/taocrypt/include/type_traits.hpp:
Auto merged
extra/yassl/taocrypt/mySTL/list.hpp:
Auto merged
extra/yassl/taocrypt/src/aes.cpp:
Auto merged
extra/yassl/taocrypt/src/algebra.cpp:
Auto merged
extra/yassl/testsuite/testsuite.cpp:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/mysqltest.result:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysys/default.c:
Auto merged
ndb/src/common/transporter/Transporter.cpp:
Auto merged
ndb/src/common/util/File.cpp:
Auto merged
ndb/src/common/util/SocketClient.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/ndbapi/ClusterMgr.hpp:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
ndb/src/ndbapi/SignalSender.cpp:
Auto merged
sql/field.cc:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/net_serv.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
extra/yassl/taocrypt/src/asn.cpp:
Manual merge (Fix shadowed variable name)
extra/yassl/taocrypt/test/test.cpp:
No changes
ndb/src/common/util/ConfigValues.cpp:
Manual merge (Fix shadowed variable name)
sql/field.h:
manual merge
sql/ha_myisam.cc:
manual merge
sql/ha_ndbcluster.cc:
manual merge
sql/item_cmpfunc.cc:
manual merge
sql/item_subselect.cc:
Manual merge (Fix shadowed variable name)
sql/mysqld.cc:
no changes
into rakia.gmz:/home/kgeorge/mysql/autopush/B25831-5.0-opt
sql/item.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Several problems fixed:
1. There was a "catch-all" context initialization in setup_tables()
that was causing the table that we insert into to be visible in the
SELECT part of an INSERT .. SELECT .. statement with no tables in
its FROM clause. This was making sure all the under-initialized
contexts in various parts of the code are not left uninitialized.
Fixed by removing the "catch-all" statement and initializing the
context in the parser.
2. Incomplete name resolution context when resolving the right-hand
values in the ON DUPLICATE KEY UPDATE ... part of an INSERT ... SELECT ...
caused columns from NATURAL JOIN/JOIN USING table references in the
FROM clause of the select to be unavailable.
Fixed by establishing a proper name resolution context.
3. When setting up the special name resolution context for problem 2
there was no check for cases where an aggregate function without a
GROUP BY effectively takes the column from the SELECT part of an
INSERT ... SELECT unavailable for ON DUPLICATE KEY UPDATE.
Fixed by checking for that condition when setting up the name
resolution context.
mysql-test/r/insert_update.result:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- test case
mysql-test/t/insert_update.test:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- test case
sql/item.h:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- save_next_local is not referenced any more outside class methods
sql/sql_base.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- removed a "catch-all" code to cater for correct context initialization
sql/sql_help.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- fixed the name resolution context initialization
sql/sql_insert.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- Fixed the context of resolving the values in INSERT SELECT ON UPDATE
sql/sql_prepare.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- Correct context for name resolution of prepared INSERT .. SELECT
sql/sql_union.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- fixed the name resolution context initialization
sql/sql_yacc.yy:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- Set the context here instead of setup_tables()
UPDATE contains wrong data if the SELECT employs a temporary table.
If the UPDATE values of the INSERT .. SELECT .. ON DUPLICATE KEY UPDATE
statement contains fields from the SELECT part and the select employs a
temporary table then those fields will contain wrong values because they
aren't corrected to get data from the temporary table.
The solution is to add these fields to the selects all_fields list,
to store pointers to those fields in the selects ref_pointer_array and
to access them via Item_ref objects.
The substitution for Item_ref objects is done in the new function called
Item_field::update_value_transformer(). It is called through the
item->transform() mechanism at the end of the select_insert::prepare()
function.
sql/item.cc:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
The new method Item_field::update_value_transformer() is added. It
substitutes fields in the update values list for references
(Item_ref objects) to them.
sql/item.h:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
The update_value_transformer() method is added to the Item and to the
Item_field classes.
sql/sql_insert.cc:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
Traverse update values and substitute fields from the select for
references (Item_ref objects) to them.
sql/sql_select.cc:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
Traverse update values and substitute fields from the select for
references (Item_ref objects) to them.
mysql-test/r/insert_select.result:
Added a test case for bug#16630: The update fields of the INSERT .. SELECT ..
ON DUPLICATE KEY UPDATE contains wrong data if the SELECT employs a
temporary table.
mysql-test/t/insert_select.test:
Added a test case for bug#16630: The update fields of the INSERT .. SELECT ..
ON DUPLICATE KEY UPDATE contains wrong data if the SELECT employs a
temporary table.
duplicate key entries on slave" (two concurrrent connections doing
multi-row INSERT DELAYED to insert into an auto_increment column,
caused replication slave to stop with "duplicate key error" (and
binlog was wrong)), and BUG#26116 "If multi-row INSERT
DELAYED has errors, statement-based binlogging breaks" (the binlog
was not accounting for all rows inserted, or slave could stop).
The fix is that: if (statement-based) binlogging is on, a multi-row
INSERT DELAYED is silently converted to a non-delayed INSERT.
Note: it is not possible to test BUG#25507 in 5.0 (requires mysqlslap),
so it is tested only in the changeset for 5.1. However, BUG#26116
is tested here, and the fix for BUG#25507 is the same code change.
mysql-test/r/innodb-replace.result:
result update
mysql-test/t/innodb-replace.test:
now that multi-row delayed inserts are converted to normal inserts
if the statement-based binlog is enabled,
no error is issued even if this engine does not support INSERT DELAYED,
as the insert does not go through the INSERT DELAYED code.
To preserve the goal of this test, we change the statements to single-
row inserts.
sql/sql_insert.cc:
A multi-row INSERT DELAYED cannot be recorded to a statement-based
binlog in a way that describes the insertions actually done;
in that case we fallback to a non-delayed INSERT.
mysql-test/r/rpl_insert_delayed.result:
result. Master and slave match.
mysql-test/t/rpl_insert_delayed.test:
Test for BUG#26116 (see if one error at first row on master makes the
slave's data incorrect, see if one error at second row on master
makes slave stop).
were evaluated.
According to the new rules for string comparison partial indexes on text
columns can be used in the same cases when partial indexes on varchar
columns can be used.
mysql-test/r/endspace.result:
Adjusted results after the fix for bug #25971.
mysql-test/r/innodb.result:
Adjusted results after the fix for bug #25971.
mysql-test/r/myisam.result:
Adjusted results after the fix for bug #25971.
mysql-test/r/select.result:
Added a test case for bug #25971.
mysql-test/r/type_blob.result:
Adjusted results after the fix for bug #25971.
mysql-test/t/select.test:
Added a test case for bug #25971.
index_read(), whereas it must return HA_ERR_END_OF_FILE
instead (as there are by definition no rows in a table of
that engine.
mysql-test/r/blackhole.result:
Bug#19717: test case
mysql-test/t/blackhole.test:
Bug#19717: test case
sql/ha_blackhole.cc:
Bug#19717: return no rows instead of success.
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
BitKeeper/etc/gone:
auto-union
mysys/my_getopt.c:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/select.result:
Manual merge
mysql-test/t/select.test:
Manual merge
ENUMs weren't allowed to have character 0xff, a perfectly good character in some locales.
This was circumvented by mapping 0xff in ENUMs to ',', thereby prevent actual commas from
being used. Now if 0xff makes an appearance, we find a character not used in the enum and
use that as a separator. If no such character exists, we throw an error.
Any solution would have broken some sort of existing behaviour. This solution should
serve both fractions (those with 0xff and those with ',' in their enums), but
WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE WITH 0xff IN THEIR ENUMS. :-/
That is, mysqldump with their current server, and restore when upgrading to one with
this patch.
mysql-test/r/type_enum.result:
Bug#24660: "enum" field type definition problem
Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
char in some locales), or ',', or both.
mysql-test/t/type_enum.test:
Bug#24660: "enum" field type definition problem
Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
char in some locales), or ',', or both.
sql/table.cc:
Bug#24660: "enum" field type definition problem
Revert fix for Bug#20922.
sql/unireg.cc:
Bug#24660: "enum" field type definition problem
Use a field-separator for ENUM-values that is not part of those values. If impossible,
throw error.
The crash happens because second filling of the same I_S table happens in
case of subselect with order by. table->sort.io_cache previously allocated
in create_sort_index() is deleted during second filling
(function get_schema_tables_result). There are two places where
I_S table can be filled: JOIN::exec and create_sort_index().
To fix the bug we should check if the table was already filled
in one of these places and skip processing of the table in second.
mysql-test/r/information_schema.result:
test case
mysql-test/t/information_schema.test:
test case
sql/mysql_priv.h:
added new parameter 'executed_place' to function get_schema_tables_result()
sql/sql_select.cc:
added new parameter 'executed_place' to function get_schema_tables_result()
sql/sql_show.cc:
added more accurate check for cases when we need to refresh I_S table
sql/table.cc:
added more accurate check for cases when we need to refresh I_S table
sql/table.h:
added more accurate check for cases when we need to refresh I_S table
Some fields (GEOMETRY first of all) can't be handled properly in this
case at all. So we return an error in this case
mysql-test/r/default.result:
result fixed
mysql-test/r/gis.result:
result fixed
mysql-test/t/default.test:
VIEW test added
mysql-test/t/gis.test:
testcase added
sql/item.cc:
set_defaults() changed with the 'reset()'
The function make_unireg_sortorder ignored the fact that any
view field is represented by a 'ref' object.
This could lead to wrong results for the queries containing
both GROUP BY and ORDER BY clauses.
mysql-test/r/view.result:
Added a test case for bug #26209.
mysql-test/t/view.test:
Added a test case for bug #26209.
Post fix for bug#12122.
information_schema.result:
Corrected test case after fixing bug#12122.
sql/sql_view.cc:
Post fix for bug#12122.
mysql-test/r/information_schema.result:
Corrected test case after fixing bug#12122.
A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
caused a crash when a query with DISTINCT was executed by a loose scan
for an InnoDB table that had been emptied.
mysql-test/r/innodb_mysql.result:
Added a test case for bug #26159.
mysql-test/t/innodb_mysql.test:
Added a test case for bug #26159.
sql/opt_range.cc:
Fixed bug #26159.
A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
caused a crash when a query with DISTINCT was executed by a loose scan
for an InnoDB table that had been emptied.
For an empty table quick_prefix_select->reset() was not called at all
and thus some important initialization steps were missing.
present.
A view created with CREATE VIEW ... ORDER BY ... cannot be resolved with
the MERGE algorithm, even when no other part of the CREATE VIEW statement
would require the view to be resolved using the TEMPTABLE algorithm.
The check for presence of the ORDER BY clause in the underlying select is
removed from the st_lex::can_be_merged() function.
The ORDER BY list of the underlying select is appended to the ORDER BY list
mysql-test/t/view.test:
Added a test case for bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
mysql-test/r/view.result:
Added a test case for bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
sql/sql_lex.cc:
Bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
The st_lex::can_be_merged() function now allows views with the ORDER BY
clause to be resolved using MERGE algorithm. The ORDER BY list of the view
is appended to the ORDER BY list of the embedding select.