into april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.1-new
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_delete.cc:
Manual merge
counter".
When TRUNCATE TABLE was called within an stored procedure the
auto_increment counter was not reset to 0 even if straight
TRUNCATE for this table did this.
This fix makes TRUNCATE in stored procedures to be handled exactly
in the same way as straight TRUNCATE. We achieve this by rolling
back the fix for bug 8850, which is no longer needed since stored
procedures don't require prelocked mode anymore (and TRUNCATE is
not allowed in stored functions or triggers).
mysql-test/r/sp.result:
Test case for BUG#14945.
mysql-test/t/sp.test:
Test case for BUG#14945.
sql/sql_delete.cc:
Handle TRUNCATE in stored procedures exactly in the same way as straight
TRUNCATE (i.e. without falling back to DELETE if possible). We achieve
this by rolling back the fix for bug 8850, which is no longer relevant
since stored procedures don't require prelocked mode anymore
(and TRUNCATE is not allowed in stored functions or triggers).
sql/sql_parse.cc:
Handle TRUNCATE in stored procedures exactly in the same way as straight
TRUNCATE (i.e. without falling back to DELETE if possible). We achieve
this by rolling back the fix for bug 8850, which is no longer relevant
since stored procedures don't require prelocked mode anymore
(and TRUNCATE is not allowed in stored functions or triggers).
into mysql.com:/home/mydev/mysql-5.1-bug5390
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/item.cc:
Auto merged
sql/share/charsets/Index.xml:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
into mysql.com:/usr/home/bar/mysql-5.1-new
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/item.cc:
Auto merged
sql/share/charsets/Index.xml:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
into mysql.com:/home/mydev/mysql-5.1-bug5390
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/item.cc:
Auto merged
sql/share/charsets/Index.xml:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/table.h:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
sql/lock.cc:
BUG#5390 - problems with merge tables
Manual merge from 5.0.
Additional fix for INSERT DELAYED with subselect.
Originally detected in 5.1, but 5.0 could also be affected.
The user thread creates a dummy table object,
which is not included in the lock. The 'real' table is
opened and locked by the 'delayed' system thread.
The dummy object is now marked as not locked and this is
tested in mysql_lock_have_duplicate().
sql/lock.cc:
BUG#5390 - problems with merge tables
Additional fix for INSERT DELAYED with subselect.
The user thread creates a dummy table object,
which is not included in the lock.
Changed to safer asserts.
sql/sql_insert.cc:
BUG#5390 - problems with merge tables
Marked the dummy table object as not being
included in the lock.
Mutli-table uses temporary table to store new values for fields. With the
new values the rowid of the record to be updated is stored in a Field_string
field. Table to be updated is set as source table of the rowid field.
But when the temporary table creates the tmp field for the rowid field it
converts it to a varstring field because the table to be updated was created by
the v4.1. Due to this the stored rowids were broken and no records for
update were found.
The flag can_alter_field_type is added to Field_string class. When it is set to
0 the field won't be converted to varstring. The Field_string::type() function
now always returns MYSQL_TYPE_STRING if can_alter_field_type is set to 0.
The multi_update::initialize_tables() function now sets can_alter_field_type
flag to 0 for the rowid fields denying conversion of the field to a varstring
field.
sql/field.h:
Fixed bug #16281: Multi-table update broken in 5.0 on tables imported from 4.1
The flag can_alter_field_type is added to Field_string class. When it is set to
0 the field won't be converted to varstring.
The Field_string::type() function now always returns MYSQL_TYPE_STRING if
can_alter_field_type is set to 0.
sql/sql_update.cc:
Fixed bug #16281: Multi-table update broken in 5.0 on tables imported from 4.1
The multi_update::initialize_tables() function now sets can_alter_field_type
flag to 0 for the rowid fields denying conversion of the field to a varstring
field.
The wrong value was being reported as the field_length for BIT
fields, resulting in confusion for at least Connector/J. The
field_length is now always the number of bits in the field, as
it should be.
mysql-test/r/type_bit.result:
Add new results
mysql-test/r/type_bit_innodb.result:
Add new results
mysql-test/t/type_bit.test:
Add new regression test
mysql-test/t/type_bit_innodb.test:
Add new regression test
sql/field.cc:
Fix Field_bit->field_length to actually report the display width, and
store the bytes stored in the rec in the new bytes_in_rec member.
sql/field.h:
Fix Field_bit::field_length to store the correct value, adding
Field_bit::bytes_in_rec to remember the number of bytes used for
storing the value. Remove Field_bit_as_char::create_length, as it
is now redundant.
sql/ha_ndbcluster.cc:
Handle field_length of Field_bit actually being the display width (# of bits).
sql/key.cc:
Fix inappropriate use of field->field_length for BIT field.
VC++Files/libmysqld/libmysqld.vcproj:
Auto merged
VC++Files/mysqldemb/mysqldemb.vcproj:
Auto merged
VC++Files/mysys/mysys.vcproj:
Auto merged
VC++Files/sql/mysqld.vcproj:
Auto merged
VC++Files/storage/bdb/bdb.vcproj:
Auto merged
VC++Files/storage/innobase/innobase.vcproj:
Auto merged
config/ac-macros/yassl.m4:
Auto merged
libmysql/Makefile.am:
Auto merged
libmysql_r/Makefile.am:
Auto merged
mysql-test/Makefile.am:
Auto merged
sql/item.cc:
Auto merged
The bug was caused by wrong behaviour of mysql_insert() which in case
of INSERT DELAYED into a view exited with thd->net.report_error == 0.
This blocked error reporting to the client which started waiting
infinitely for response to the query.
mysql-test/r/insert.result:
Fixed results for the added test case.
mysql-test/t/insert.test:
Added test case.
sql/sql_insert.cc:
Fixed BUG#13683: INSERT DELAYED into a view creates an infinite loop.
Changed mysql_insert(): delayed_get_table() applied to a view exits
with ER_WRONG_OBJECT error (and with thd->net.report_error == 1) and
in this case we must just exit from mysql_insert(). Prior to this
change, instead of exiting open_and_lock_tables() was invoked which
cleared thd->net.report_error to zero and caused the bug.
The code in opt_sum_query that prevented the COUNT/MIN/MAX
optimization from being applied to outer joins was not adjusted
after introducing nested joins. As a result if an outer join
contained a reference to a view as an inner table the code of
opt_sum_query missed the presence of an on expressions and
erroneously applied the mentioned optimization.
mysql-test/r/view.result:
Added a test case for bug #18237.
mysql-test/t/view.test:
Added a test case for bug #18237.
obtain partition number, call partition_info->get_part_partition_id() when
the table has subpartitions, and get_partition_id() otherwise. (The bug
was that we were always doing the latter)
mysql-test/r/partition_pruning.result:
Testcase for BUG#18659
mysql-test/t/partition_pruning.test:
Testcase for BUG#18659
- move slock bitmask to separate hash list, object living only during query
sql/ha_ndbcluster.h:
Bug #18596 binlog schema event auto push causes mysqld errors
cmakelists.txt:
Move configure processing to top-level cmakelists.txt so that it can be
shared by mysqld and libmysqld.
libmysqld/lib_sql.cc:
Temporary #ifdef to allow building from both bitkeeper sources and windows source package.
libmysqld/libmysqld.def:
Add export missing for test_libmysqld
sql/cmakelists.txt:
Move configure processing to top-level cmakelists.txt so that it can be
shared by mysqld and libmysqld.
sql/mysqld.cc:
#ifdef out code that is not used, nor compiles, in embedded server.
strings/cmakelists.txt:
Add some missing sources to fix embedded server build.
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/myisam/mi_search.c:
Auto merged
storage/ndb/tools/Makefile.am:
Auto merged
strings/ctype-ucs2.c:
Auto merged
tests/mysql_client_test.c:
Auto merged
Multiple equalities were not adjusted after reading constant tables.
It resulted in neglecting good index based methods that could be
used to access of other tables.
mysql-test/r/having.result:
Adjusted a test case results after fix for bug #16504.
mysql-test/r/select.result:
Added a test case for bug #16504.
mysql-test/r/subselect.result:
Adjusted a test case results after fix for bug #16504.
mysql-test/r/varbinary.result:
Adjusted a test case results after fix for bug #16504.
mysql-test/t/select.test:
Added a test case for bug #16504.
sql/item.cc:
Fixed bug #16504.
An Item_equal object may contain only a constant member.
It may happen after reading constant tables.
sql/item_cmpfunc.cc:
Fixed bug #16504.
Added method Item_equal::check_const that check appearance of new
constant items in a multiple equality.
sql/item_cmpfunc.h:
Fixed bug #16504.
Added method Item_equal::check_const that check appearance of new
constant items in a multiple equality.
sql/sql_select.cc:
Fixed bug #16504.
Adjusted multiple equalities after reading constant tables.
Fixed a few typo in comments.