If the second or the third argument of a BETWEEN predicate was
a constant expression, like '2005.09.01' - INTERVAL 6 MONTH,
while the other two arguments were fields then the predicate
was evaluated incorrectly and the query returned a wrong
result set.
The bug was introduced in 5.0.17 when in the fix for 12612.
mysql-test/r/func_time.result:
Added a test case for bug #18618.
mysql-test/t/func_time.test:
Added a test case for bug #18618.
It was impossible to create some table names on Windows
(e.g. LPT1, AUX, COM1, etc).
Fixed to pad dangerous names with thee "at" signs
(e.g. LPT1@@@, AUX@@@, COM1@@@, and so on).
include/my_sys.h:
Adding new function declaration
mysys/my_access.c:
Adding new function check_if_legal_tablename().
It works almost like check_if_legal_filename(),
but accepts a table name without extension and path,
and does not check "CLOCK$".
sql/sql_table.cc:
Check if a dangerous table name and append @@@
strings/ctype-utf8.c:
Treat "@@@" sequence in a table name as a end-of-line.
mysql-test/r/ctype_filename.result:
New BitKeeper file ``mysql-test/r/ctype_filename.result''
mysql-test/t/ctype_filename.test:
New BitKeeper file ``mysql-test/t/ctype_filename.test''
mysql-test/r/innodb.result:
Fix for bug #14360: Date Between Interval Broken.
- test case.
mysql-test/t/innodb.test:
Fix for bug #14360: Date Between Interval Broken.
- test case.
sql/item_timefunc.cc:
Fix for bug #14360: Date Between Interval Broken.
- Item_date_add_interval::eq() introduced.
sql/item_timefunc.h:
Fix for bug #14360: Date Between Interval Broken.
- Item_date_add_interval::eq() introduced.
a misnamed function
... in the presence of a continue handler. The problem was that with a
handler, it continued to execute as if function existed and had set a
useful return value (which it hadn't).
The fix is to set a null return value and do an error return when a function
wasn't found.
mysql-test/r/sp.result:
Updated results for a new test case (BUG#18787).
mysql-test/t/sp.test:
New testcase for BUG#18787.
sql/item_func.cc:
Don't set "out of resources" error in Item_func_sp::execute() if no
result field is returned, it's simply wrong, it can be sometthing else,
like a function not found. Instead set null_value and return error.
Also, set "out of resources" when field creation fails in
Item_func_sp::sp_result_field() and Item_func_sp::tmp_table_field().
Open and seek to end of data_file after rename
Fix comment for when file does not need repair.
Set share->mapped_file to NULL always when it's been unmapped
Add test to see that file can be used after repair
mysql-test/r/csv.result:
Add more test to see that the table can be used after repair
mysql-test/t/csv.test:
Add more test to see that the table can be used after repair
storage/csv/ha_tina.cc:
Close share->data_file in before renaming in ha_tina::repair
Open and seek to end after rename
Fix comment for when file does not need repair.
Set share->mapped_file to NULL always when it's been unmapped
into mysql.com:/usr/home/ram/work/mysql-4.1
mysql-test/r/func_op.result:
Auto merged
sql/item_func.cc:
Auto merged
mysql-test/t/func_op.test:
SCCS merged
ExtractValue didn't understand tag and attribute names
consisting of "tricky" national letters (e.g. latin accenter letters).
It happened because XPath lex parser recognized only basic
latin letter a..z ad a part of an identifier.
Fixed to recognize all letters by means of new "full ctype" which
was added recently.
mysql-test/r/xml.result:
Adding test case
mysql-test/t/xml.test:
Adding test case
sql/item_xmlfunc.cc:
Using recently implemented "true" ctype functionality
to treat all national letters as valid tag names,
Only basic latin letters worked so far.
strings/ctype-simple.c:
A bug fix: ctype is array of 257 elements,
adding offset to address correct element.
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysys/Makefile.am:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql-common/client.c:
Auto merged
into mysql.com:/home/jimw/my/mysql-5.1-clean
mysql-test/r/type_bit.result:
Auto merged
mysql-test/r/type_bit_innodb.result:
Auto merged
sql/field.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/key.cc:
Auto merged
sql/field.cc:
Resolve merge conflict
mysql-test/r/partition.result:
Added test case to verify that VALUES LESS THAN (NULL) isn't allowed
mysql-test/t/partition.test:
Added test case to verify that VALUES LESS THAN (NULL) isn't allowed
sql/share/errmsg.txt:
Added new error message
sql/sql_yacc.yy:
Added error check for null value
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
mysql-test/r/partition.result:
Added new test cases
mysql-test/t/partition.test:
Added new test cases
sql/partition_info.cc:
Check partition names that they don't have trailing spaces
sql/share/errmsg.txt:
Added error code for wrong partition names
sql/sql_partition.cc:
New method to add partition name strings, ignore OPTION_SHOW_QUOTE_CREATE
sql/sql_show.cc:
require_quotes had a bug with identifiers that consisted of only digits,
these are allowed identifiers but must be quoted and require_quote didn't
tell this.
sql/sql_yacc.yy:
Partition names should identifers and not ident_or_text
Added new test case for bug 17946
mysql-test/r/partition_pruning.result:
Added new test case for bug 17946
mysql-test/t/partition_pruning.test:
Added new test case for bug 17946
Current auto increment value is placed in partition in which latest
record was saved. So to get auto_increment they have to scan
all partitions and return max value.
mysql-test/r/partition.result:
Fix for bug#18753 Partitions: auto_increment fails
test case
mysql-test/t/partition.test:
Fix for bug#18753 Partitions: auto_increment fails
test case
Added test case for bug 18423
mysql-test/r/partition_hash.result:
Added test case for bug 18423
mysql-test/t/partition_hash.test:
Added test case for bug 18423
Added new test case for bug 18752 (bug already fixed by previous patch)
mysql-test/r/partition.result:
Added new test case for bug 18752 (bug already fixed by previous patch)
mysql-test/t/partition.test:
Added new test case for bug 18752 (bug already fixed by previous patch)
The function agg_cmp_type in item_cmpfunc.cc neglected the fact that
the first argument in a BETWEEN/IN predicate could be a field of a view.
As a result in the case when the retrieved table was hidden by a view
over it and the arguments in the BETWEEN/IN predicates are of
the date/time type the function did not perform conversion of
the constant arguments to the same format as the first field argument.
If formats of the arguments differed it caused wrong a evaluation of
the predicates.
mysql-test/r/view.result:
Added a test case for bug #16069.
mysql-test/t/view.test:
Added a test case for bug #16069.
into mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/rpl_temporary.result:
Auto merged
sql/sql_repl.cc:
Auto merged
mysql-test/t/rpl_temporary.test:
manual merge
into mysql.com:/opt/local/work/mysql-4.1-16365
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
mysql-test/r/ps.result:
Manual merge
mysql-test/t/ps.test:
Manual merge
too many open statements". The patch adds a new global variable
@@max_prepared_stmt_count. This variable limits the total number
of prepared statements in the server. The default value of
@@max_prepared_stmt_count is 16382. 16382 small statements
(a select against 3 tables with GROUP, ORDER and LIMIT) consume
100MB of RAM. Once this limit has been reached, the server will
refuse to prepare a new statement and return ER_UNKNOWN_ERROR
(unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup
and can accept any value from 0 to 1 million. In case
the new value of the limit is less than the current
statement count, no new statements can be added, while the old
still can be used. Additionally, the current count of prepared
statements is now available through a global read-only variable
@@prepared_stmt_count.
mysql-test/r/ps.result:
Test results fixed (a test case for Bug#16365)
mysql-test/t/ps.test:
A test case for Bug#16365 "Prepared Statements: DoS with too many
open statements". Also fix statement leaks in other tests.
sql/mysql_priv.h:
Add declarations for new global variables.
sql/mysqld.cc:
Add definitions of max_prepared_stmt_count, prepared_stmt_count.
sql/set_var.cc:
Implement support for @@prepared_stmt_count and
@@max_prepared_stmt_count. Currently these variables are queried
without acquiring LOCK_prepared_stmt_count due to limitations of
the set_var/sys_var class design. Updates are, however, protected
with a lock.
sql/set_var.h:
New declarations to add support for @@max_prepared_stmt_count.
Implement a new class, where the lock to be used when updating
a variable is a parameter.
sql/sql_class.cc:
Add accounting of the total number of prepared statements in the
server to the methods of Statement_map.
sql/sql_class.h:
Add accounting of the total number of prepared statements in the
server to the methods of Statement_map.
sql/sql_prepare.cc:
Statement_map::insert will now send a message in case of an
error.
gives wrong results". Implement previously missing
Item_row::cleanup. The bug is not repeatable in 5.0, probably
due to a coincidence: the problem is present in 5.0 as well.
mysql-test/r/ps.result:
Update the result file (Bug#16248)
mysql-test/t/ps.test:
Add a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?)) gives
wrong results"
sql/item_row.cc:
Implement Item_row::cleanup(): we should reset used_tables_cache
before reexecution of a prepared statement. In case ROW
arguments contain a placeholder, used_tables_cache has PARAM_TABLE
bit set in statement prepare. As a result, when executing a statement,
the condition push down algorithm (make_cond_for_table) would think
that the WHERE clause belongs to the non-existent PARAM_TABLE and
wouldn't attach the WHERE clause to any of the real tables,
effectively optimizing the clause away.
sql/item_row.h:
Remove a never used member 'array_holder'. Add declaration for
Item_row::cleanup.
Idea of the fix is for master to send FD event with `created' as 0
to reconnecting slave (upon slave_net_timeout, no master crash) to avoid destroying temp tables.
In a case of a connect by slave to the master after its crash temp tables have been already
cleaned up so that slave can not keep `orphan' temp tables.
mysql-test/r/rpl_temporary.result:
results
mysql-test/t/rpl_temporary.test:
wait-free addon to check temp tables are ok after slave reconnect.
sql/sql_repl.cc:
Storing zero for assigning to `created' of FD event on the reconnecting slave.
mysql-test/include/get_binlog_dump_thread_id.inc:
mysqltest's preudo-macro to calculate $id master dump thread id
into mysql.com:/home/mydev/mysql-5.1-aid
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
After FLUSH STATUS max_used_connections was reset to 0, and haven't
been updated while cached threads were reused, until the moment a new
thread was created.
The first suggested fix from original bug report was implemented:
a) On flushing the status, set max_used_connections to
threads_connected, not to 0.
b) Check if it is necessary to increment max_used_connections when
taking a thread from the cache as well as when creating new threads
mysql-test/r/status.result:
Add result for bug#15933.
mysql-test/t/status.test:
Add test case for bug#15933.
Fixed typo.
sql/mysql_priv.h:
Add declaration of refresh_status(), which is now external.
sql/mysqld.cc:
Remove start_cached_thread() (code moved directly into create_new_thread()).
Add comment for create_new_thread ().
In create_new_thread() update max_used_connections when creating new thread
and when reusing the cached one.
Move refresh_status() from sql/sql_parse.cc here, on refresh set
max_used_connections to the current number of connections.
sql/sql_parse.cc:
refresh_status() moved to sql/mysqld.cc.
mysql-test/r/events.result:
update result
mysql-test/t/events.test:
update test (bk mangles cp1251 during merge)
mysql-test/t/events_scheduling.test:
fix test
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).
Adding test case to cover queries which worked incorrectly earlier:
Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
mysql-test/r/ctype_latin1.result:
Adding test case for Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
mysql-test/t/ctype_latin1.test:
Adding test case for Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
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.
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.
Also fixes a new bug for which "NULL" wasn't printed (because the
data it represents has length zero). (Discovered my Paul DuBois.)
client/mysql.cc:
Cleaned up the interactive-session table-printing function.
- No longer rely on the length of the data to pad column boundries.
- Be smarter about how we detect if the column is NULL.
- Document how multibyte characters affect the output printing.
- Use more descriptive variable names.
More importantly, (re-)add these features that were crippled in an
earlier change:
- Print "NULL".
- Right-justify numbers.
mysql-test/r/mysql.result:
Updated old result and added new case.
mysql-test/t/mysql.test:
Added new test case.
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.
mysql-test/r/information_schema.result:
IS_COMPILED is not determenistic
mysql-test/t/information_schema.test:
IS_COMPILED is not determenistic
strings/conf_to_src.c:
Adding dumping of extra 5.0 fields
strings/ctype-extra.c:
Recreating sources according to 5.0 XML files using conf_to_src.
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
into c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
configure.in:
Auto merged
BUILD/SETUP.sh:
Auto merged
include/my_dbug.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/ha_partition.h:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/partition_info.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/ndb_partition_key.result:
manual merge
mysql-test/t/ndb_partition_key.test:
manual merge
sql/ha_partition.cc:
manual merge
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.
into linux.site:/home/reggie/work/mysql-5.1-bug17631
sql/ha_partition.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
- Fix typo bug in SEL_ARG::is_singlepoint()
- In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types
mysql-test/r/partition_pruning.result:
Testcase for BUG#18025
mysql-test/t/partition_pruning.test:
Testcase for BUG#18025
sql/opt_range.cc:
BUG#18025: Fix a typo bug in SEL_ARG::is_singlepoint()
sql/sql_partition.cc:
BUG#18025: In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types.
into mysql.com:/home/timka/mysql/src/5.0-bug-16710
mysql-test/r/group_min_max.result:
Auto merged
mysql-test/t/group_min_max.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/opt_range.cc:
Auto merged
The bug was due to a missed case in the detection of whether an index
can be used for loose scan. More precisely, the range optimizer chose
to use loose index scan for queries for which the condition(s) over
an index key part could not be pushed to the index together with the
loose scan.
As a result, loose index scan was selecting the first row in the
index with a given GROUP BY prefix, and was applying the WHERE
clause after that, while it should have inspected all rows with
the given prefix, and apply the WHERE clause to all of them.
The fix detects and skips such cases.
mysql-test/r/group_min_max.result:
Added test for BUG#16710.
mysql-test/t/group_min_max.test:
Added test for BUG#16710.
sql/item.cc:
Added new method [Item | Item_field]::find_item_in_field_list_processor.
sql/item.h:
Added new method [Item | Item_field]::find_item_in_field_list_processor.
sql/opt_range.cc:
Handle the case when there is no MIN/MAX aggregate function, and a
keypart of the index being considered, that is after the GROUP BY
prefix, is used in the WHERE clause and the condition where it is
used cannot be pushed to the index.
If this is the case, we rule out this index.
into mysql.com:/home/gluh/MySQL/Merge/5.1-new
mysql-test/r/create.result:
Auto merged
mysql-test/t/create.test:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/partition.result:
results block for bug # 17631
mysql-test/t/partition.test:
test block for bug #17631
sql/ha_partition.cc:
move table_type func to .cc file and return table_type from
the first handler. This is acceptable since we know we have
at least one handler and we currently do not support multiple
engine types. Later, we'll need to extend this to return
some type of delimited list
sql/ha_partition.h:
removed inline version of this function
sql/sql_show.cc:
if the table is partitioned, we add the term "partitioned" to the
create options. We make sure we are using the partitioned
handlerton before we do this. When we support more native partition
handlers then this will need to change.
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
mysql-test/r/loaddata.result:
Auto merged
mysql-test/r/ndb_read_multi_range.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/ndb_read_multi_range.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_select.cc:
Auto merged
storage/ndb/tools/Makefile.am:
Auto merged
InnoDB requires a full table rebuild for foreign key changes.
It was not possible in compare_tables() to detect such changes.
On Heikkis proposal I added a new flag to the syntax parser
where foreign key definition changes are done. I test for
this flag in compare_tables() now.
mysql-test/r/innodb.result:
Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
Fixed an old test result.
Added the new test result.
mysql-test/t/innodb.test:
Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
Added the new test case.
sql/sql_lex.h:
Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
Added a flag for foreign key definition changes.
sql/sql_table.cc:
Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
Check for foreign key definition changes in
compare_tables(). If present, a table rebuild is required.
sql/sql_yacc.yy:
Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
Marked foreign key definitions with the new flag.
This flag is tested in ALTER TABLE only. It is
ignored otherwise.
into mysql.com:/opt/local/work/mysql-5.1-merge
mysql-test/r/ps.result:
Auto merged
mysql-test/r/sp-error.result:
Auto merged
mysql-test/r/sp-prelocking.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/sp-error.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/field.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/t/sp-prelocking.test:
Manual merge.
into mysql.com:/opt/local/work/mysql-5.1-merge
mysql-test/r/loaddata.result:
Auto merged
mysql-test/r/ndb_read_multi_range.result:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/ndb_read_multi_range.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_load.cc:
Auto merged
storage/ndb/tools/Makefile.am:
Auto merged
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
mysql-test/r/loaddata.result:
Auto merged
mysql-test/r/ndb_read_multi_range.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/ndb_read_multi_range.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
storage/ndb/tools/Makefile.am:
Auto merged
out of a nested join to the on conditions for the nest.
The bug happened due to:
1. The function simplify_joins could change on expressions for nested joins.
Yet modified on expressions were not saved in prep_on_expr.
2. On expressions were not restored for nested joins in
reinit_stmt_before_use.
mysql-test/r/join_nested.result:
Added a test case for bug #18279.
mysql-test/t/join_nested.test:
Added a test case for bug #18279.
sql/sql_prepare.cc:
Fixed bug #18279.
On expressions were not restored for nested joins in
reinit_stmt_before_use.
sql/sql_select.cc:
Fixed bug #18279.
The function simplify_joins could change on expressions for nested joins.
Yet modified on expressions were not saved in prep_on_expr.
Bug #17705 "FT Index corruption occurs with UTF8 data..."
(Actually, the bug had nothing to do with FT index but with general key compression)
myisam/mi_search.c:
Fix error in prefix compression of keys in MyISAM when key length changed from 254 -> 255
mysql-test/r/ctype_utf8.result:
Test of fix for key compression bug
mysql-test/t/ctype_utf8.test:
Test of fix for key compression bug
This removes a warning about missing DBUG_ENTER while running tests
mysql-test/t/disabled.def:
Disable test rpl_ndb_multi_update3 that randomly fails on Intel64
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
it creates the second copy of Item_func_group_concat. This copy receives the
same list of arguments that original group_concat does. When the copy is
set up the result_fields of functions from the argument list are reset to the
temporary table of this copy.
As a result of this action data from functions flow directly to the ROLLUP copy
and the original group_concat functions shows wrong result.
Since queries with COUNT(DISTINCT ...) use temporary tables to store
the results the COUNT function they are also affected by this bug.
The idea of the fix is to copy content of the result_field for the function
under GROUP_CONCAT/COUNT from the first temporary table to the second one,
rather than setting result_field to point to the second temporary table.
To achieve this goal force_copy_fields flag is added to Item_func_group_concat
and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
into the make_unique() member function of both classes.
To the TMP_TABLE_PARAM structure is modified to include the similar flag as
well.
The create_tmp_table() function passes that flag to create_tmp_field().
When the flag is set the create_tmp_field() function will set result_field
as a source field and will not reset that result field to newly created
field for Item_func_result_field and its descendants. Due to this there
will be created copy func to copy data from old result_field to newly
created field.
mysql-test/t/func_gconcat.test:
Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
mysql-test/r/func_gconcat.result:
Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
sql/sql_table.cc:
Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
Added 0 as a last parameter to create_tmp_field() to force old behaviour.
sql/sql_select.cc:
Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
Added the flag 'make_copy_field' to create_tmp_field(), so that for Item_result_field descendants create_tmp_field() sets the item's result field as a source field and deny resetting that result field to a new value.
sql/sql_class.h:
Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
Added the flag 'force_copy_fields' to the structure TMP_TABLE_PARAM in order to make create_tmp_field() force the creation of 'copy_field' objects.
sql/mysql_priv.h:
Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
Added the bool parameter 'make_copy_field' to create_tmp_field().
sql/item_sum.cc:
Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
Added initialization of the force_copy_fields flag and passing it to create_tmp_table() through TMP_TBLE_PARAM in the Item_func_group_concat and Item_sum_count_distinct member functions.
sql/item_sum.h:
Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
Added the flag 'force_copy_fields' to the Item_func_group_concat and Item_sum_count_distinct classes.
Fixed bugs:
#16814: SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section
dict_foreign_key_error_report(): Always print a newline after invoking
dict_print_info_on_foreign_key_in_create_format().
#16827: Better InnoDB error message if ibdata files omitted from my.cnf.
#17126: CHECK TABLE on InnoDB causes a short hang during check of adaptive hash.
CHECK TABLE blocking other queries, by releasing the btr_search_latch
periodically during the adaptive hash table validation.
#17405: Valgrind: conditional jump or move depends on uninitialised valuesw.
buf_block_init(): Reset magic_n, buf_fix_count, and io_fix to avoid testing
uninitialised variables.
#18077: InnoDB uses full explicit table locks in stored FUNCTION.
#18238: When locks exhaust the buffer pool, InnoDB does not roll back the trx.
Check in pessimistic insert and update if the buffer pool is exhausted by locks.
#18252: Disk space leaks in updates of InnoDB BLOB rows.
btr_cur_pessimistic_update(): Invoke rec_get_offset() after rec_set_field_extern_bits().
btr_store_big_rec_extern_fields(): Note that offsets will no longer be valid
after calling this function.
#18283: When InnoDB returns error 'lock table full', MySQL can write to binlog too much.
#18384: InnoDB memory leak on duplicate key errors if row has many columns.
row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit if needed.
#18350: Use consistent read in CREATE ... SELECT .. if innodb_locks_unsafe_for_binlog is used.
innobase/btr/btr0cur.c:
Applied innodb-5.0-ss368 snapshot
innobase/btr/btr0sea.c:
Applied innodb-5.0-ss368 snapshot
innobase/buf/buf0buf.c:
Applied innodb-5.0-ss368 snapshot
innobase/buf/buf0lru.c:
Applied innodb-5.0-ss368 snapshot
innobase/data/data0type.c:
Applied innodb-5.0-ss368 snapshot
dtype_print(): Fix printing of prtype.
innobase/dict/dict0dict.c:
Applied innodb-5.0-ss368 snapshot
innobase/fil/fil0fil.c:
Applied innodb-5.0-ss368 snapshot
fil_extend_space_to_desired_size(): in UNIV_HOTBACKUP builds,
do not touch srv_data_file_sizes[] or srv_n_data_files.
innobase/ha/ha0ha.c:
Applied innodb-5.0-ss368 snapshot
innobase/include/btr0cur.h:
Applied innodb-5.0-ss368 snapshot
innobase/include/buf0lru.h:
Applied innodb-5.0-ss368 snapshot
innobase/include/ha0ha.h:
Applied innodb-5.0-ss368 snapshot
innobase/include/page0page.ic:
Applied innodb-5.0-ss368 snapshot
Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
innobase/include/univ.i:
Applied innodb-5.0-ss368 snapshot
Remove UNIV_RELEASES_NOT_YET_STABLE and related checks.
innobase/row/row0ins.c:
Applied innodb-5.0-ss368 snapshot
innobase/row/row0sel.c:
Applied innodb-5.0-ss368 snapshot
Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
page_rec_is_comp(): Remove the bounds check.
row_sel_field_store_in_mysql_format(): Turn the assertions
on mbminlen, mbmaxlen, and templ->type into debug assertions.
innobase/row/row0upd.c:
Applied innodb-5.0-ss368 snapshot
mysql-test/t/innodb.test:
Applied innodb-5.0-ss368 snapshot
sql/ha_innodb.cc:
Applied innodb-5.0-ss368 snapshot
Fix memory allocation bug (by changing MY_WME to MY_FAE) in get_share.
Also partially fix coding style of the function.
disallow the use of comma in SET members
mysql-test/r/create.result:
Fix for bug#15316 SET value having comma not correctly handled
test case
mysql-test/t/create.test:
Fix for bug#15316 SET value having comma not correctly handled
test case
into mysql.com:/home/my/mysql-5.1
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/t/ndb_condition_pushdown.test:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
mysql-test/t/csv.test:
fix test. In --ps-protocol mode warnings are eaten by the test suite.
Disable ps-protocol mode for the statements, which throw the warnings
we look for.
Added missing DBUG_xxx_RETURN statements
Fixed some usage of not initialized variables (as found by valgrind)
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.
Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
BitKeeper/etc/ignore:
added mysql-test/r/*.log
client/mysqltest.c:
Change type of variables to get rid of compiler warnings
More debugging
Fix memory leak
mysql-test/mysql-test-run.sh:
Collect warnings about missing DBUG_RETURN statements
mysql-test/r/lock_multi.result:
Add test of new code
mysql-test/r/ndb_condition_pushdown.result:
Drop used tables before test
mysql-test/t/lock_multi.test:
Add test of new code
mysql-test/t/ndb_condition_pushdown.test:
Drop used tables before test
mysql-test/valgrind.supp:
Ignore 'safe' warnings from libz (when used with archive)
sql/event.cc:
More comments
Simplify code
Fixed memory leak found by valgrind
sql/ha_archive.cc:
Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
sql/ha_berkeley.cc:
Fixed compiler warning
sql/ha_blackhole.cc:
Fixed compiler warning
sql/ha_federated.cc:
Fixed compiler warning
sql/ha_heap.cc:
Fixed compiler warning
sql/ha_myisam.cc:
Fixed compiler warning
sql/ha_myisammrg.cc:
Fixed compiler warning
sql/ha_ndbcluster.cc:
Fixed compiler warnings
sql/ha_partition.cc:
Fixed compiler warning
Fixed error noticed by valgrind in ha_partition::rnd_init()
sql/handler.cc:
Fixed compiler warning
sql/handler.h:
Fixed compiler warning
sql/item.cc:
Fixed compiler warning
sql/item_xmlfunc.cc:
Fixed warning from valgrind when calling memcpy with wrong address
sql/lock.cc:
More debugging
sql/log.cc:
Fixed compiler warning
Indentation fixes
sql/log.h:
Fixed compiler warning
sql/mysql_priv.h:
Changed prototype for 'drop_locked_tables'
sql/opt_range.cc:
Indentation fix
sql/password.c:
Removed compiler warnings
sql/set_var.cc:
Fixed compiler warning
sql/slave.cc:
Fixed compiler warning
sql/sp_head.cc:
Fixed compiler warning
sql/sql_acl.cc:
Fixed compiler warning
sql/sql_analyse.cc:
Added missing DBUG_RETURN statements
sql/sql_base.cc:
Removed de-reference of not initialized pointer
More comments
drop_locked_tables() changed to not delete tables used for name locking
Fixed compiler warnings
sql/sql_delete.cc:
Fixed usage of not initialized variable
(deleted could be referenced in some not common error conditions)
sql/sql_parse.cc:
Added missing DBUG_VOID_RETURN
Simplify code
sql/sql_partition.cc:
Fixed usage of wrong variable (noticed by valgrind)
sql/sql_plugin.cc:
Removed compiler warning
sql/sql_show.cc:
Removed compiler warning
sql/sql_table.cc:
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.
Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
Remove compile warnings about not initialized variables.
sql/sql_yacc.yy:
Ensure that no_write_to_binlog is properly initialized
(Was accessed uninitialized by partition code)
sql/table.cc:
Removed valgrind warnings (not fatal)
Removed compiler warnings
sql/tztime.cc:
Removed valgrind warning
storage/ndb/include/ndbapi/NdbIndexStat.hpp:
Removed compiler warning
into mysql.com:/home/dlenev/mysql-5.0-bg17764
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/sql_insert.cc:
Auto merged
A table with an on insert trigger was reported as crashed when the insert
was processed with bulk insert mode on (handler::start_bulk_insert).
The trigger was also selecting from the same table, and that caused
the "crash".
The same problem was present when an insert statement, which was processed
in bulk mode, also used a stored function that was reading the same table.
This fix disables bulk inserts if a statement uses functions or invokes
triggers. Implementing more granular checks will require much more code and
therefore can hardly be done in 5.0
mysql-test/r/trigger.result:
Added test bug #17764 "Trigger crashes MyISAM table".
mysql-test/t/trigger.test:
Added test bug #17764 "Trigger crashes MyISAM table".
sql/sql_insert.cc:
We should not start bulk inserts for INSERT (or similar) statement if it uses
functions or invokes triggers since they may access to the same table and
therefore should not see its inconsistent state created by this optimization.
sql/sql_load.cc:
We should not start bulk inserts for INSERT (or similar) statement if it uses
functions or invokes triggers since they may access to the same table and
therefore should not see its inconsistent state created by this optimization.
mysql-test/r/partition.result:
New test cases
mysql-test/t/partition.test:
New test cases
sql/sql_partition.cc:
Fixed proper delimiters for fields and comments
No longer create or commit transactions within the loading of files.
mysql-test/r/loaddata.result:
Add test result.
mysql-test/t/loaddata.test:
Add test case.
sql/sql_load.cc:
Loading data from a table should neither create new transactions nor destroy
(by committing or rolling-back) existing transactions.
into mysql.com:/extern/mysql/5.0/bug17015/mysql-5.0-runtime
mysql-test/r/sp-error.result:
Auto merged
mysql-test/t/sp-error.test:
Auto merged
sql/field.h:
Auto merged
sql/sp.cc:
Auto merged
Ndbapi can reorder recattr when doing sorted scan (for faster comparision)
make sure handler maps correct recattr to correct mysql column
mysql-test/r/ndb_read_multi_range.result:
bug#17729
mysql-test/t/ndb_read_multi_range.test:
bug#17729
sql/ha_ndbcluster.cc:
Make sure to map correct rec-attr against correct mysql column
(ndbapi reorders when doing sorted scan)
Bug#18070 Partitions: wrong result on WHERE ... IS NULL
removed unnecessary code
added handling of NULL values
mysql-test/r/partition.result:
Bug#18053 Partitions: crash if null
Bug#18070 Partitions: wrong result on WHERE ... IS NULL
test case
mysql-test/t/partition.test:
Bug#18053 Partitions: crash if null
Bug#18070 Partitions: wrong result on WHERE ... IS NULL
test case
sql/opt_range.cc:
Bug#18053 Partitions: crash if null
Bug#18070 Partitions: wrong result on WHERE ... IS NULL
initialisation of part_iter.has_null_value
sql/sql_partition.h:
Bug#18053 Partitions: crash if null
Bug#18070 Partitions: wrong result on WHERE ... IS NULL
added has_null_value
into mysql.com:/extern/mysql/5.0/bug16474/mysql-5.0-runtime
mysql-test/t/sp.test:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/sp.result:
Manual merge.
mysql-test/r/ps.result:
Added test coverage for "order by" in prepared statements (related to BUG#16474).
mysql-test/r/sp.result:
Added reference to test case for BUG#16474.
mysql-test/t/ps.test:
Added test coverage for "order by" in prepared statements (related to BUG#16474).
mysql-test/t/sp.test:
Added reference to test case for BUG#16474.
sql/sql_select.cc:
Fixed comment and test for basic_const_item() instead of is_splocal().
into mysql.com:/usr/home/bar/mysql-5.0
Bug#15098
mysql-test/t/cast.test:
Auto merged
mysql-test/r/cast.result:
After merge fix
sql/field.cc:
After merge fix
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/r/ndb_insert.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
VIEWs, Prepared statement": we didn't mark the nested views
as 'prelockng placeholders' when building the prelocking list.
This resulted in these views being processed (merged, materialized)
before they are actually used.
mysql-test/r/sp-prelocking.result:
Test results fixed (Bug#15683)
mysql-test/t/sp-prelocking.test:
Add a test case for Bug#15683
sql/sql_view.cc:
When initializing tables used in a view, inherite
its 'prelocking_placeholder' flag. This flag is set when we're
opening the view in order to build the prelocking list for a query.
In this case we should only calculate the list to
prelock, and should not merge neither this view nor any of the
nested views, of there are any. The flag is used to indicate this
mode.
into lmy004.:/work/mysql-5.1-bug14356
mysql-test/r/events.result:
Auto merged
mysql-test/r/events_bugs.result:
Auto merged
mysql-test/t/events.test:
Auto merged
mysql-test/t/events_bugs.test:
Auto merged
into rurik.mysql.com:/home/igor/mysql-5.1
include/mysql.h:
Auto merged
mysql-test/lib/mtr_timer.pl:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql-common/client.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
into zim.(none):/home/ian/workspace/mysql-5.1-new
Updated bug message in disabled file -Brian
BitKeeper/etc/ignore:
auto-union
include/mysql.h:
Auto merged
mysql-test/lib/mtr_timer.pl:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql-common/client.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/parse_file.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
mysql-test/t/disabled.def:
Changing message to add in bug numnber
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
include/mysql.h:
Auto merged
mysql-test/lib/mtr_timer.pl:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql-common/client.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
An invalid assertion in Item_direct_view_ref::eq caused
an assertion abort in the debug version.
mysql-test/r/view.result:
Added a test case for bug #18386.
mysql-test/t/view.test:
Added a test case for bug #18386.
sql/item.cc:
Fixed bug #18386.
An invalid assertion in Item_direct_view_ref::eq caused
an assertion abort in the debug version.
Changed the assertion.
BitKeeper/etc/ignore:
Added mysql-test/r/udf.log to the ignore list
mysql-test/t/disabled.def:
Disable the udf test, per bug #18564. Permission by Brian
compile error fixes
BitKeeper/deleted/.del-rpl_ndb_sp007.test~72c66392eed0d74:
Delete: mysql-test/t/rpl_ndb_sp007.test
BitKeeper/deleted/.del-rpl_ndb_sp007.result~b1b713abfd655893:
Delete: mysql-test/r/rpl_ndb_sp007.result
mysql-test/t/disabled.def:
removed rpl_ndb_sp007 test as it uses savepoints which is only supported by innodb
sql/ha_ndbcluster.cc:
compile error fixes
Switching to using index_read() instead of index_read_idx() since a
range of rows need to be retrieved.
mysql-test/r/rpl_row_basic_8partition.result:
Result change
mysql-test/t/rpl_row_basic_8partition.test:
Enabling section for testing PARTITION BY KEY().
sql/log_event.cc:
Using index_read() instead of index_read_idx() since a range of records
are read using index_next().
mysql-test/extra/rpl_tests/rpl_partition.test:
New BitKeeper file ``mysql-test/extra/rpl_tests/rpl_partition.test''
Reproduced in 5.0.16-nt. Tested to work in 5.0.20
mysql-test/r/group_min_max.result:
Test case for BUG#15102 : select distinct returns empty result, select count distinct > 0 (correct)
Reproduced in 5.0.16-nt. Tested to be fixed in 5.0.20
mysql-test/t/group_min_max.test:
Test case for BUG#15102 : select distinct returns empty result, select count distinct > 0 (correct)
Reproduced in 5.0.16-nt. Tested to be fixed in 5.0.20
If the WHERE condition of a query contained an ORed FALSE term
then the set of tables whose rows cannot serve for null complements
in outer joins was determined incorrectly. It resulted in blocking
possible conversions of outer joins into joins for such queries.
mysql-test/r/join_outer.result:
Added a test case for bug #17164.
mysql-test/t/join_outer.test:
Added a test case for bug #17164.
into mysql.com:/home/dlenev/mysql-5.1-merges
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/ha_ndbcluster.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
mysql-test/lib/init_db.sql:
make name not binary, then event names won't be case sensitive
mysql-test/r/events.result:
output fix
mysql-test/r/events_bugs.result:
update result
mysql-test/t/events_bugs.test:
test case for bug #16415 events' names are case sensitive
scripts/mysql_create_system_tables.sh:
make name not binary, then event names won't be case sensitive
scripts/mysql_fix_privilege_tables.sql:
make name not binary, then event names won't be case sensitive
triggers".
Applying ALTER/OPTIMIZE/REPAIR TABLE statements to transactional table or to
table of any type on Windows caused disappearance of its triggers.
Bug was introduced in 5.0.19 by my fix for bug #13525 "Rename table does not
keep info of triggers" (see comment for sql_table.cc for more info).
.
mysql-test/r/trigger.result:
Added test-case covering handling of triggers when one does ALTER TABLE which
should move table to different database.
mysql-test/t/trigger.test:
Added test-case covering handling of triggers when one does ALTER TABLE which
should move table to different database.
sql/sql_table.cc:
mysql_alter_table():
Removal of strdup() which is no longer necessary allows us to preserve
nice assumption that "(new_db != db || new_table != table_name) indicates
that table will be renamed. So now we really can use this condition to
avoid updating trigger definitions when table is not renamed.
Note that we can't use (alter_info->flags & ALTER_RENAME) condition instead
since it can be also true when we do "ALTER TABLE t1 RENAME TO t1".
sql/sql_trigger.cc:
Table_triggers_list::change_table_name():
Mentioned assumption that subject table is not renamed to itself in method
description. Added DBUG_ASSERT() to catch wrong usage of this method.
mysql-test/r/trigger-trans.result:
New BitKeeper file ``mysql-test/r/trigger-trans.result''
mysql-test/t/trigger-trans.test:
New BitKeeper file ``mysql-test/t/trigger-trans.test''
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
client/mysqltest.c:
Auto merged
include/config-win.h:
Auto merged
include/m_ctype.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/subselect.result:
Auto merged
sql/item_func.cc:
Auto merged
sql/opt_range.cc:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
mysql-test/r/ndb_insert.result:
Auto merged
mysql-test/r/ndb_replace.result:
Auto merged
storage/ndb/include/ndbapi/NdbIndexOperation.hpp:
Auto merged
storage/ndb/include/ndbapi/NdbOperation.hpp:
Auto merged
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbOperation.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Keeping local and do manual merge
sql/ha_ndbcluster.h:
Keeping local and do hand merge
Partial fix for resolving the problem. Swapping contents of record[0]
and record[1] since this is what some storage engines expect.
sql/handler.cc:
Adding assertion to get early failure.
sql/log_event.cc:
Correcting code so that new record is passed in record[0] and
old record is passed in record[1] when calling update_row().
mysql-test/r/rpl_row_basic_8partition.result:
New BitKeeper file ``mysql-test/r/rpl_row_basic_8partition.result''
mysql-test/t/rpl_row_basic_8partition.test:
New BitKeeper file ``mysql-test/t/rpl_row_basic_8partition.test''
mysql-test/r/subselect.result:
Fix for bug #18306: MySQL crashes and restarts using subquery
test case
mysql-test/t/subselect.test:
Fix for bug #18306: MySQL crashes and restarts using subquery
test case
sql/opt_range.cc:
Fix for bug #18306: MySQL crashes and restarts using subquery
Restore thd->mem_root because
during the cond->val_int() evaluation we can come across a subselect
item which may allocate memory on the thd->mem_root and assumes
all the memory allocated has the same life span as the subselect
item itself.
into mysql.com:/usr/home/bar/mysql-4.1.b15376
include/m_ctype.h:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
into mysql.com:/usr/home/bar/mysql-5.1-new
mysql-test/r/ctype_ujis.result:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-cp932.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-eucjpms.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-tis620.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
include/m_ctype.h:
After merge fix.
Mergeing changes into 5.0
mysql-test/r/ctype_eucjpms.result:
Adding test
mysql-test/r/ctype_ujis.result:
After merge fix
mysql-test/t/ctype_eucjpms.test:
Adding test
strings/ctype-cp932.c:
After merge fix
strings/ctype-eucjpms.c:
Applying changes to eucjpms, similar to ujis.
Note: eucjpms appeared in 5.0 so the original patch,
which was for for 4.1, didn't fix eucjpms.
into mysql.com:/usr/home/bar/mysql-5.0
BitKeeper/deleted/.del-ctype-cp932.c:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
sql/sql_string.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-tis620.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
include/m_ctype.h:
After merge fix.
mysql-test/r/ctype_ujis.result:
After merge fix
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
sql/parse_file.cc:
Auto merged
mysql-test/r/ndb_partition_key.result:
New test cases for BUG #16819, 16821, and 16822
mysql-test/t/ndb_partition_key.test:
New test cases for BUG #16819, 16821, and 16822
sql/handler.h:
ensure we don't get hanging after calling change_partition
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
mysql-test/r/fulltext.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
- Use FORMAT as a workaround to only output the first 6 decimals of the value returned
from MATCH
- This has been done before
mysql-test/r/fulltext.result:
Use FORMAT to only output the first 6 decimals from MATCH
mysql-test/t/fulltext.test:
Use FORMAT to only output the first 6 decimals from MATCH
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Moving statement-based replication test away from common file.
mysql-test/r/ctype_cp932_binlog_stm.result:
Result change
mysql-test/t/ctype_cp932_binlog_stm.test:
Moving statement-based replication test away from common file.
This to save 5 seconds of test time.
More test to follow. :-)
mysql-test/r/rpl_flushlog_loop.result:
Updated result file
mysql-test/t/rpl_flushlog_loop.test:
Make test use wait_slave_status instead of sleep
Generating character set-independent quoting of strings for the
binary log when executing statements from inside stored procedure.
mysql-test/r/ctype_cp932_binlog.result:
Result change
mysql-test/t/ctype_cp932_binlog.test:
Adding check that string literals are written correctly for multi-byte
character sets.
sql/item.cc:
Cutting out character set-independent string escaping code and putting it
in a separate function.
sql/log_event.cc:
Adding characters set-independent code to separate function.
sql/mysql_priv.h:
Adding new function.
sql/sp_head.cc:
Escaping string value representing a string item.
configure.in:
Auto merged
mysql-test/lib/mtr_timer.pl:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/information_schema_db.result:
Auto merged
mysql-test/r/query_cache_notembedded.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
mysql-test/t/query_cache_notembedded.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
sql/ha_innodb.cc:
manual merge
sql/sql_insert.cc:
manual merge
into c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug17754
mysql-test/r/partition.result:
Auto merged
mysql-test/t/partition.test:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_partition.cc:
manual merge
into neptunus.(none):/home/msvensson/mysql/bug11835/my51-bug11835
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
into neptunus.(none):/home/msvensson/mysql/bug11835/my50-bug11835
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
into c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug17754
mysql-test/r/partition.result:
Auto merged
mysql-test/t/partition.test:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/ndb_partition_key.result:
manual merge
mysql-test/t/ndb_partition_key.test:
manual merge
Added new syntax ALTER TABLE t1 REMOVE PARTITIONING,
changed semantics of ALTER TABLE t1 ENGINE=X; to not remove partitioning
Fix a number of mix engine bugs in partitioning
mysql-test/r/ndb_partition_key.result:
Added a number of new test cases
mysql-test/r/partition.result:
Added a number of new test cases
mysql-test/t/ndb_partition_key.test:
Added a number of new test cases
mysql-test/t/partition.test:
Added a number of new test cases
sql/lex.h:
REMOVE and PARTITIONING added as keywords in parser
sql/sql_lex.h:
Added flag to alter_info flag
sql/sql_partition.cc:
Fixes for the new syntax, changes of the current semantics of the syntax.
Fixes for errors in handling mixes of table handlers in partitioning syntax
for ALTER TABLE
sql/sql_table.cc:
Bug fix
sql/sql_yacc.yy:
New syntax for REMOVE PARTITIONING
into neptunus.(none):/home/msvensson/mysql/bug11835/my51-bug11835
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/item_func.cc:
Auto merged
sql/Makefile.am:
Merge
sql/share/errmsg.txt:
Merge
sql/sql_udf.cc:
Merge
added HA_EXTRA_WRITE_CACHE case to ha_partition::extra()
mysql-test/r/partition.result:
Fix for bug#15336 Partitions: crash if create table as select
test case
mysql-test/t/partition.test:
Fix for bug#15336 Partitions: crash if create table as select
test case
use part_info->item_free_list instead of thd->free_list during partition function parsing
mysql-test/r/partition.result:
Bug#14367 Partitions: crash if utf8 column
test case
mysql-test/t/partition.test:
Bug#14367 Partitions: crash if utf8 column
test case
sql/item.cc:
Bug#14367 Partitions: crash if utf8 column
create copy of string in current mem_root to avoid memory leak
Fixed that LIKE worked case insensitively for latin2_czech_cs,
which was wrong for a case sensitive collation.
include/m_ctype.h:
Making my_wildcmp_bin public instead of static
strings/ctype-bin.c:
Making my_wildcmp_bin public instead of static
strings/ctype-czech.c:
Use my_wildcmp_bin instead of case insensitive my_wildcmp_8bit
mysql-test/include/have_latin2_ch.inc:
New BitKeeper file ``mysql-test/include/have_latin2_ch.inc''
mysql-test/r/ctype_latin2_ch.result:
New BitKeeper file ``mysql-test/r/ctype_latin2_ch.result''
mysql-test/r/have_latin2_ch.require:
New BitKeeper file ``mysql-test/r/have_latin2_ch.require''
mysql-test/t/ctype_latin2_ch.test:
New BitKeeper file ``mysql-test/t/ctype_latin2_ch.test''
XPath without a XPath syntax error
item_xmlfunc.cc:
Error message didn't happen because after
a failing attempt to parse RelativeLocationPath,
my_xpath_parse_AbsoluteLocationPath() returned success.
Changeing logic a bit:
- Try to parse EOF first, return success if true.
- Then try to parse RelativeLocationPath(), return success if true.
- Otherwise return failure.
xml.result:
Adding test case.
Also, this change made it possible to generate
an error message earlier in the case of another
bad XPATH syntax.
xml.test:
Adding test case.
sql/item_xmlfunc.cc:
Bug #18172 XML: Extractvalue() accepts mallformed XPath without a XPath syntax error
Error message didn't happen because after
a failing attempt to parse RelativeLocationPath(),
my_xpath_parse_AbsoluteLocationPath() returned with 1.
Changeing logic a bit: check for EOF first.
Then try to parse RelativeLocationPath().
If the latter fails, return failure.
mysql-test/t/xml.test:
Adding test case.
mysql-test/r/xml.result:
Adding test case.
Also, this change makes error message
to be generated earlier in the case of another
bad XPATH syntax.
table.cc:
Fixing to use system_charset_info instead of default_charset_info.
Crash happened because the "ctype" array is empty in UCS2,
and thus cannot be used with my_isspace().
The reason why UCS2 appeared in this context was because of
of default_charset_info variable incorrectly substituted to my_isspace().
As functions check_db_name(), check_table_name() and check_column_name()
always get values in utf8, system_charset_info must be used instead.
ctype_ucs2_def.test, ctype_ucs2_def-master.opt, ctype_ucs2_def.result:
new file
sql/table.cc:
Bug#18004 Connecting crashes server when default charset is UCS2
Use of default_charset_info was wrong.
Functions check_db_name, check_table_name and check_column_name
get values of system_charset_info character set (utf8).
additional check for subselect
mysql-test/r/information_schema.result:
Fix for bug#18224 VIEW on information_schema crashes the server
test case
mysql-test/t/information_schema.test:
Fix for bug#18224 VIEW on information_schema crashes the server
test case
Crash happened when one selected data from one of INFORMATION_SCHEMA
tables and in order to build its contents server had to open view which
used stored function and table or view on which one had not global or
database-level privileges (e.g. had only table-level or had no
privileges at all).
The crash was caused by usage of check_grant() function, which assumes
that either number of tables to be inspected by it is limited explicitly
or table list used and thd->lex->query_tables_own_last value correspond
to each other (the latter should be either 0 or point to next_global
member of one of elements of this table list), in conditions when
above assumptions were not true. This fix just explicitly limits
number of tables to be inspected. Other negative effects which are
caused by the fact that thd->lex->query_tables_own_last might not
be set properly during processing of I_S tables are less disastrous
and will be reported and fixed separetely.
mysql-test/r/information_schema_db.result:
Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
test case
mysql-test/t/information_schema_db.test:
Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
test case
sql/sql_acl.cc:
added note