into mysql.com:/home/hartmut/projects/mysql/dev/5.1
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
- Error 1296 is no longer returned on first select after DROP/CREATE.
mysql-test/r/ndb_alter_table2.result:
Error 1296 is no longer returned on first select after DROP/CREATE, handled proactive in ndb_handle_schema_change.
mysql-test/t/ndb_alter_table2.test:
Error 1296 is no longer returned on first select after DROP/CREATE, handled proactive in ndb_handle_schema_change.
sql/ha_ndbcluster.cc:
Add sourrounding {'s
mysql-test/r/func_time.result:
expected test results for bug #18100 added
mysql-test/t/func_time.test:
test case for bug #18100 added
sql/item_timefunc.cc:
wrong formula for EXTRACT QUARTER, now uses the same calculus as the QUARTER()
function
mysql-test/r/xml.result:
Adding test case
mysql-test/t/xml.test:
Adding test case
sql/item_xmlfunc.cc:
Adding support for missing XPath function string-length().
Fixing function lookup to allow functions with one optional arguments
(i.e. with 0 or 1 arguments)
mysql-test/r/events.result:
Auto merged
sql/event.cc:
Auto merged
sql/event_timed.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_show.cc:
Auto merged
This also should fix 17493 and 17346, and probably 16397 (not tested).
WL#1034 (Internal CRON)
(post-review commit)
mysql-test/r/events.result:
update result
mysql-test/t/events.test:
update test
sql/event.cc:
seems we get a crash if we compile it this way. better let the worker thread do it,
this increases the stability.
sql/event_executor.cc:
kick in more often
sql/event_timed.cc:
- don't NULLify last_executed
- implement (fix) better get_next_time() which does not use last_executed as basis
but STARTS. STARTS is used as basis and the next point of time which is before ENDS,
if set, is being found. The point > now and (point-starts) % interval_expression == 0.
sql/item_timefunc.cc:
move calc_time_diff to time.cc as it can be reused in other parts of the
server code (see event_timed.cc)
sql/mysql_priv.h:
export calc_time_diff() moved to time.cc from item_timefunc.cc
sql/sql_show.cc:
- fix presenting of LAST_EXECUTED
- cleanup a bit
sql/time.cc:
- move calc_time_diff() from item_timefunc.cc to here
The problem was due to the fact that with --lower-case-table-names set to 1
the function find_field_in_group did not convert the prefix 'HU' in
HU.PROJ.CITY into lower case when looking for it in the group list. Yet the
names in the group list were extended by the database name in lower case.
mysql-test/r/having.result:
Added a test case for bug #15917.
mysql-test/t/having.test:
Added a test case for bug #15917.
sql/item.cc:
Fixed bug #15917: unexpected complain for a NIST test case.
The problem was due to the fact that with --lower-case-table-names set to 1
the function find_field_in_group did not convert the prefix 'HU' in
HU.PROJ.CITY into lower case when looking for it in the group list. Yet the
names in the group list were extended by the database name in lower case.
The needed conversion was added to the code of find_field_in_group.
* Produce right results for conditions that were transformed to "(partitioning_range) AND
(list_of_subpartitioning_ranges)": make each partition id set iterator auto-reset itself
after it has returned all partition ids in the sequence
* Fix "Range mapping" and "Range mapping" partitioning interval analysis functions to
correctly deal with NULL values.
mysql-test/r/partition_pruning.result:
Testcase for BUG#18558
mysql-test/t/partition_pruning.test:
Testcase for BUG#18558
sql/opt_range.cc:
BUG#18558: Move partition set iterator initialization to sql_partition.cc, comment fixes
sql/partition_info.h:
BUG#18558: Make each partition set iterator auto-reset itself after it has returned all
partition ids in the set it enumerates.
sql/sql_partition.cc:
BUG#18558:
- Make each partition set iterator auto-reset itself after it has returned all
partition ids in the set it enumerates.
- Fix partition interval analysis to correctly handle intervals with one or both
NULL bounds.
sql/sql_partition.h:
BUG#18558:
- Make each partition set iterator auto-reset itself after it has returned all
partition ids in the set it enumerates.
- Rename PARTITION_ITERATOR::has_null_value to ret_null_part
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.