mysql-test/r/subselect.result:
test fro bug 10020
mysql-test/t/subselect.test:
bug 10020 test suite
sql/item.cc:
any constant allowed here BUG#10020)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
The problem: base_list::remove didn't modify base_list::last when removing
the last list element.
The fix: If we remove the last element, find the element before it (by walking
from the beginning of the list) and set base_list::last accordingly.
The list gets corrupted in both 4.0 and 4.1. There are no visible problems in
current 4.1 because current 4.1 doesn't call where_cond->fix_fields() after
constant propagation step.
mysql-test/r/select.result:
Testcase for BUG#10095
mysql-test/t/select.test:
Testcase for BUG#10095
sql/sql_list.h:
Fix for BUG#10095: {wrong query results because of incorrect constant propagation}
The problem: base_list::remove didn't modify base_list::last when removing
the last list element.
The fix: If we remove the last element, find the element before it (by walking
from the beginning of the list) and set base_list::last accordingly.
BitKeeper/deleted/.del-outfile2.result~fb702ee2518d8e6d:
Delete: mysql-test/r/outfile2.result
libmysql/libmysql.c:
Fix indentation for new function mysql_set_character_set()
mysql-test/r/alter_table.result:
Fix test to be in same order as in 4.0
mysql-test/r/innodb.result:
After merge fix
mysql-test/r/insert_update.result:
Add extra test for insert into ... on duplicate key upate
mysql-test/r/outfile.result:
After merge fix
mysql-test/t/alter_table.test:
Fix test to be in same order as in 4.0
mysql-test/t/insert_update.test:
Add extra test for insert into ... on duplicate key upate
mysql-test/t/outfile.test:
After merge fix
sql/item_func.cc:
After merge fix
sql/sql_table.cc:
After merge fix
way in ALTER TABLE ... ENABLE KEYS, ANALYZE TABLE and after bulk insert:
now statistics collection always assumes NULLs are inequal.
mysql-test/r/myisam.result:
Testcase for BUG#9622
mysql-test/t/myisam.test:
Testcase for BUG#9622
myisam/mi_key.c:
Fixed wrong buffer usage for auto-increment key with blob part that caused
CHECK TABLE to report that the table was wrong. (Bug #10045)
mysql-test/r/auto_increment.result:
New test case
mysql-test/t/auto_increment.test:
New test case
Count null_bits separately from field offsets and adjust them in case of primary key parts.
(Previously a CREATE TABLE with a lot of null fields that was part of a primary key caused MySQL to wrongly count the number of bytes needed to store null bits)
This is a more complete bug fix for #6236
mysql-test/r/alter_table.result:
More test for bug #6236 (CREATE TABLE didn't properly count not null columns for primary keys)
mysql-test/t/alter_table.test:
More test for bug #6236 (CREATE TABLE didn't properly count not null columns for primary keys)
sql/handler.h:
Add counter for null fields
sql/sql_table.cc:
Change create_field->offset to store offset from start of fields, independent of null bits.
Count null_bits separately from field offsets and adjust them in case of primary key parts.
sql/unireg.cc:
Change create_field->offset to store offset from start of fields, independent of null bits.
Count null_bits separately from field offsets and adjust them in case of primary key parts.
process of the predecessing test case instead of the current test case.
Shifting the command to the end of the current test case should avoid this problem.
mysql-test/r/ps_grant.result:
Updated result
mysql-test/t/ps_grant.test:
Shift ' show full processlist ' to the end of the test script
Detect conflicting options in SELECT
mysql-test/r/select.result:
Test for bug#8733
mysql-test/t/select.test:
Test for bug#8733
sql/mysql_priv.h:
New bit for ALL
sql/sql_yacc.yy:
We want to complain if DISTINCT or ALL is used in SELECT when a
conflicting option is already selected.
version-dependent information (which causes test failures when running the test with a
different version string)
mysql-test/r/mysqldump.result:
- fixed the results (removed the version-dependent comments to avoid a test failure)
mysql-test/t/mysqldump.test:
- added "--skip-comments" to avoid printing comments that include version-dependent information
(which causes test failures when running the test with a different version string)
Fix bug + include test case.
Enable outfile tests.
mysql-test/t/outfile.test:
Reenable outfile tests
Add test for Bug#8191
sql/sql_yacc.yy:
Fix Bug#8191
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Incomplete ALTER TABLE breaks MERGE compatibility
Fix implicit NOT NULL not set on ALTER of PK columns
mysql-test/r/alter_table.result:
Test for Bug#6236
mysql-test/t/alter_table.test:
Test for Bug#6236
sql/sql_table.cc:
Implicit NOT NULL not set on ALTER of PK columns
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
field names. (Bug #10286)
client/mysqldump.c:
Use a DYNAMIC_STRING for the 'INSERT ...' pattern so we can handle
an arbitrary number of fields. Also rename the internal cFlag to
opt_complete_insert so it is clear what it does.
mysql-test/t/mysqldump.test:
Add regression test for 10286
mysql-test/r/mysqldump.result:
Update results
client/client_priv.h:
Additional option for insert-ignore
client/mysqldump.c:
Additional insert-ignore, change of delayed variable to insert_option
mysql-test/r/mysqldump.result:
Test results for --ignore-insert option.
mysql-test/t/mysqldump.test:
New additions to the test.
Fix bug by moving TRUE/FALSE in with other literals.
mysql-test/r/create.result:
Test for Bug#9666
mysql-test/t/create.test:
Test for Bug#9666
sql/sql_yacc.yy:
Move TRUE/FALSE in with other literals.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
INSERT IGNORE...UPDATE causes break in protocol or unknown error message.
Fix so that protocol doesn't break by properly ignoring dups.
mysql-test/r/insert_update.result:
Test for Bug#9725
mysql-test/t/insert_update.test:
Test for Bug#9725
sql/sql_insert.cc:
Ignore the failure in update_row when IGNORE is set.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
fail.
mysql-test/r/innodb.result:
Test case for BUG#7709 - Boolean fulltext query against
unsupported engines does not fail added.
mysql-test/t/innodb.test:
Test case for BUG#7709 - Boolean fulltext query against
unsupported engines does not fail added.
sql/item_func.cc:
Check if table supports fulltext.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
should return a non empty one"
(see comments for the changed files for details).
mysql-test/r/ps.result:
A test case for Bug#9777: tests results fixed.
mysql-test/t/ps.test:
A test case for Bug#9777
sql/item.cc:
A fix for Bug#9777: when creating a constant item from within
Item_int_with_ref::new_item, create the item by value, not by name.
This should work with prepared statements placeholders.
Item_int_with_ref is a special optimization case used
when we compare datetime constants with datetime value.
Converting the item to integer early is OK as it is in line
with the purpose of Item_int_with_ref - to speed up comparison by
using integers.
Minor cleanups.
sql/item.h:
Declaration for Item_int_with_ref::new_item
records if prepared statements is used".
This fix changes equality evaluation method of basic constants from
by-name to by-value, thus effectively enabling use of parameter markers
in some optimizations (constants propagation, evaluation of possible
keys for query).
mysql-test/r/ps.result:
Test results for the test case for Bug#9096
mysql-test/t/ps.test:
A short test case for Bug#9096 "select doesn't return all matched records if
prepared statements is used". The is enough to reproduce the
glitch in update_ref_and_keys causing the bug to occur.
sql/item.cc:
Implement by-value equality evaluation of basic constants.
This is needed to work with Item_param values. Until now
Item_param was compared with other items by its name, which is always "?".
The bug at hand showed up when an integer
constant was created from one parameter marker (with value 200887 and
name "?") and then compared by-name with another parameter marker
(with value 860 and name "?"). True returned by this comparison resulted
in a wrong table access method used to evaluate the query.
Implement Item_param methods needed to emulate "basic constant" mode at
full.
sql/item.h:
Change declaration of basic_const_item(): now it also widens its
argument from const Item * to Item * if the argument is a basic constant.
Declare eq() for all basic constatns, as long as now they
are compared by value, not by name. Each constant needs its own
comparison method.
Declarations of Item_param methods needed to fully emulate
a basic constant when parameter value is set.
sql/item_func.cc:
Fix wrong casts.
Produce warnings of wrong cast of strings to signed/unsigned.
Don't block not resolved IP's if DNS server is down (Bug #8467)
Fix compiler problems with MinGW (Bug #8872)
configure.in:
Fix compiler problems with MinGW (Bug #8872)
include/config-win.h:
Fix compiler problems with MinGW (Bug #8872)
include/my_global.h:
Fix compiler problems with MinGW (Bug #8872)
mysql-test/r/cast.result:
Test for cast to signed/unsigned outside of range (Bug #7036)
mysql-test/t/cast.test:
Test for cast to signed/unsigned outside of range (Bug #7036)
mysys/default.c:
Cleanup (combine identical code).
Done mainly by Jani
sql/field.h:
Added cast_to_int_type() to ensure that enums are casted as numbers
sql/hostname.cc:
Don't block not resolved IP's if DNS server is down (Bug #8467)
sql/item.h:
Added cast_to_int_type() to ensure that enums are casted as numbers
sql/item_func.cc:
CAST(string_argument AS UNSIGNED) didn't work for big integers above the
signed range. (Bug #7036)
Produce warnings of wrong cast of strings to signed/unsigned
sql/item_func.h:
CAST(string_argument AS UNSIGNED) didn't work for big integers above the
signed range. (Bug #7036)
is set on case-sensitive file systems and the source table
was specified in something other than lowercase. (Bug #9761)
mysql-test/r/lowercase_table.result:
Add results
mysql-test/t/lowercase_table.test:
Regression test for Bug #9761
sql/sql_table.cc:
When lower_case_table_names is set, make sure to look for
the source table using a lowercase filename.
Results for the above test case
union.test:
A test case for bug #10032 involving UNION's and ORDER BY clause
sql_yacc.yy:
Fix for a bug #10032 involving a parser bug with UNION's and ORDER BY
sql/sql_yacc.yy:
Fix for a bug #10032 involving a parser bug with UNION's and ORDER BY
mysql-test/t/union.test:
A test case for bug #10032 involving UNION's and ORDER BY clause
mysql-test/r/union.result:
Results for the above test case
no rows of the blackhold engine (for this engine to be a binlog propagator).
NOTE: blackhole.test currently hangs in 5.0 BUG#10175 so I'll merge without running this test; the
person who fixes the hang will correct the merged blackhole.result or ask me to).
mysql-test/r/blackhole.result:
result update
mysql-test/t/blackhole.test:
checking that statements get into binlog even when they were affecting
no rows of the blackhold engine. So that this engine can serve as
a binlog propagator (A->B->C replication where B has only blackhole tables,
B receives binlog from A, applies it to blackhole tables, writes statements
to its binlog which it sends to C; both A and C have non-blackhole tables). B is just a proxy.
- Implemented ha_archive::rename_table
- Added testcases for rename
mysql-test/r/archive.result:
Addd testcase for rename of archive table
mysql-test/t/archive.test:
Addd testcase for rename of archive table
sql/examples/ha_archive.cc:
Implement special version of rename table that does not care it the .arn file is missing
sql/examples/ha_archive.h:
Implement special version of rename table that does not care it the .arn file is missing
Fixed bug #9681.
The bug happened with queries using derived tables specified by
a SELECT with ROLLUP, such as:
SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) t2,
if column a of table t1 is declared as NOT NULL.
This was to the fact that the first column of the temporary table
created to contain the derived table erroneously inherited the NOT NULL
attribute from column a.
olap.result, olap.test:
Added a test case for bug #9681.
mysql-test/t/olap.test:
Added a test case for bug #9681.
mysql-test/r/olap.result:
Added a test case for bug #9681.
sql/sql_select.cc:
Fixed bug #9681.
The bug happened with queries using derived tables specified by
a SELECT with ROLLUP, such as:
SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) t2,
if column a of table t1 is declared as NOT NULL.
This was to the fact that the first column of the temporary table
created to contain the derived table erroneously inherited the NOT NULL
attribute from column a.
Modified the check for the timestamp field so that the flags for
the automatic for inserts and updates are cleared independently.
mysql-test/r/type_timestamp.result:
Bug#7806 - insert on duplicate key and auto-update of timestamp
The test result.
mysql-test/t/type_timestamp.test:
Bug#7806 - insert on duplicate key and auto-update of timestamp
The test case.
sql/mysql_priv.h:
Bug#7806 - insert on duplicate key and auto-update of timestamp
Made check_insert_fields() static. It is used only in sql_insert.cc.
sql/sql_insert.cc:
Bug#7806 - insert on duplicate key and auto-update of timestamp
Modified the check of the insert fields so that an explicit
assignment of the timestamp field does only disable the automatic
for inserts and retains the automatic for updates.
Added a check if the update fields contain the timestamp field.
In this case, the automatic on update is disabled, but not the
automatic on insert. This is called from mysql_prepare_insert().
sql/table.h:
Bug#7806 - insert on duplicate key and auto-update of timestamp
Extended a comment to warn about usage of enum timestamp_auto_set_type.
sql/item_func.cc:
A fix (bug #9837: round(1, 6) delivers wrong value in create table context).
As we change decimals, we should change max_length accordingly.
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.
mysql-test/r/update.result:
Testcase for BUG#9103
mysql-test/t/update.test:
Testcase for BUG#9103
sql/opt_range.cc:
cp_buffer_from_ref now has THD* parameter
sql/sql_select.h:
cp_buffer_from_ref now has THD* parameter
Changed type of "Sub_part" column in SHOW KEYS from TINYINT to SMALLINT (as MAX_KEY_LENGTH=1024)
(this is the final cset with proper tests)
mysql-test/r/show_check.result:
Testcase for BUG#9439
mysql-test/t/show_check.test:
Testcase for BUG#9439
sql/sql_show.cc:
Fix for BUG#9439:
Changed type of "Sub_part" column in SHOW KEYS from TINYINT to SMALLINT (as MAX_KEY_LENGTH=1024)
into mysql.com:/home/dlenev/src/mysql-4.1-merges
sql/item_create.cc:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
function".
We should not cache queries using CURRENT_USER() function as we do it
for some other functions, e.g. USER() function.
mysql-test/r/query_cache.result:
Let us test that queries with CURRENT_USER() function are not cached.
mysql-test/t/query_cache.test:
Let us test that queries with CURRENT_USER() function are not cached.
sql/item_create.cc:
create_func_current_user():
We should not cache queries which use CURRENT_USER() function.
fixing tests accordingly
item.cc:
Allow mixing non-binary collation and binary collation
even if coercibility is the same.
For easier 4.0 -> 4.1 migrating.
sql/item.cc:
Allow mixing non-binary collation and binary collation
even if coercibility is the same.
For easier 4.0 -> 4.1 migrating.
mysql-test/t/union.test:
fixing tests accordingly
mysql-test/r/union.result:
fixing tests accordingly
mysql-test/t/ctype_collate.test:
fixing tests accordingly
mysql-test/r/ctype_collate.result:
fixing tests accordingly
Since 4.1 keys are compared with trailing spaces.
Thus, a "x " key can be inserted between a couple of "x" keys.
The existing code did not take this into account. Though the
comments in the code claimed it did.
myisam/mi_search.c:
Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
Fixed some function comments.
In the case when we insert a different key between two identical keys,
the difference must be additional spaces. In this case the prefix is
the same as that of the new key instead of the (zero) remaining length.
myisam/mi_write.c:
Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
Fixed a function comment.
mysql-test/r/myisam.result:
Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
The test result.
mysql-test/t/myisam.test:
Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
The test case.
mysql-test/r/innodb-replace.result:
Added proper cleanup for test
mysql-test/t/innodb-replace.test:
Added proper cleanup for test
sql/share/english/errmsg.txt:
Don't extend the possible length of error message too much for common errors are MySQL 4.0 clients has a limit of 200 characters
Include the Perl version of mysql-test-run
rpl_rewrite_db.test, rpl_rewrite_db.result:
Added missing database cleanup
mysql-test-run.pl:
Embedded result files no longer needed
mysql-test/mysql-test-run.pl:
Embedded result files no longer needed
mysql-test/r/rpl_rewrite_db.result:
Added missing database cleanup
mysql-test/t/rpl_rewrite_db.test:
Added missing database cleanup
mysql-test/Makefile.am:
Include the Perl version of mysql-test-run
- Better error message when table definition has changed
mysql-test/r/ndb_alter_table.result:
New error message and code when table definition has changed.
mysql-test/r/ndb_multi.result:
Safety, drop tables in second server as well
mysql-test/t/ndb_alter_table.test:
New error message and code when table definition has changed.
mysql-test/t/ndb_multi.test:
Safety, drop tables in second server as well
sql/ha_ndbcluster.cc:
When error 284 is returned from NDB a check must be made to see what the error really means.
- if table does not exists any more, return 709 -> No such table exists
- if table still exists, table has most likely been altered and table id and version has
changed, print hardcoded errormessage indicating that transaction should retried
(this error message should be translated to a langauge dependent error message in 5.0)
Remove mapping from 284 to HA_ERR_NO_SUCH_TABLE
mysql-test/r/drop.result:
Auto merged
mysql-test/t/drop.test:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
sql/sql_table.cc: print an error with a function that respects width modifiers (%.64s)
mysql-test/r/drop.result:
bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
mysql-test/t/drop.test:
bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
sql/share/english/errmsg.txt:
allow longer "table names" as DROP TABLE puts a list here
sql/share/russian/errmsg.txt:
allow longer "table names" as DROP TABLE puts a list here
sql/share/ukrainian/errmsg.txt:
allow longer "table names" as DROP TABLE puts a list here
sql/sql_table.cc:
print an error with a function that respects width modifiers (%.64s)
mysql-test/t/lowercase_table_grant.test:
Disable test with embedded server
mysql-test/t/skip_name_resolve.test:
Disable test with embedded server
sql/sql_parse.cc:
Reset server status after a single statement in a multistatement
query is handled in embedded server so it is not logged twice to
the slow query log.
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge changes
mysql-test/t/ps_1general.test:
Merge changes
in the query cache. (Bug #9549)
libmysqld/emb_qcache.h:
Fix Querycache_stream::use_next_block() to actually use the next
block and mark blocks as used when it writes to them.
mysql-test/r/query_cache.result:
Update results.
mysql-test/t/query_cache.test:
Add new regression test.
libmysqld/emb_qcache.cc:
Fix calls to use_next_block() to indicate whether we are writing
to the next block or not.
sql/sql_cache.cc:
Initialize the first block properly when storing a result in
the embedded server.
up a couple of tests and adjusting the output of others. Exposes two
bugs (9472 and 9508).
BitKeeper/deleted/.del-drop_temp_table.result.es~bc4cfb1ee1257458:
Delete: mysql-test/r/drop_temp_table.result.es
BitKeeper/deleted/.del-insert_select.result.es~ae7eb9891d6c07c4:
Delete: mysql-test/r/insert_select.result.es
BitKeeper/deleted/.del-myisam-blob.result.es~d498dae7d9f1a6d4:
Delete: mysql-test/r/myisam-blob.result.es
BitKeeper/deleted/.del-packet.result.es~6e71c3b634806185:
Delete: mysql-test/r/packet.result.es
BitKeeper/deleted/.del-query_cache.result.es~246ad731a517d9ab:
Delete: mysql-test/r/query_cache.result.es
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
Delete: mysql-test/r/select.result.es
BitKeeper/deleted/.del-type_blob.result.es~a4a0d4454b2d0218:
Delete: mysql-test/r/type_blob.result.es
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
Delete: mysql-test/r/type_float.result.es
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
Delete: mysql-test/r/type_ranges.result.es
mysql-test/mysql-test-run.sh:
Remove support for special result extension -- bad idea!
mysql-test/t/ps_1general.test:
Explain --replace_result
mysql-test/r/insert_select.result:
Update results
mysql-test/r/select.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_float.result:
Update results
mysql-test/r/type_ranges.result:
Update results
mysql-test/t/drop_temp_table.test:
Skip this test with embedded server
mysql-test/t/insert_select.test:
Move binlog test to new file
mysql-test/t/select.test:
Replace grants column from 'show full columns'
mysql-test/t/type_blob.test:
Replace grants column from 'show full columns'
mysql-test/t/type_float.test:
Replace grants column from 'show full columns'
mysql-test/t/type_ranges.test:
Replace grants column from 'show full columns'
sql/sql_select.cc:
Fix conditional around query_cache_abort() call.
Make test_if_skip_sort_order() rebuild tab->ref if it decides to use an index
different from the index join optimizer has choosen.
mysql-test/r/group_by.result:
Testcase for BUG#9213
mysql-test/t/group_by.test:
Testcase for BUG#9213
sql/table.h:
Added comments about TABLE::used_keys
mysql-test/r/metadata.result:
Auto merged
sql/item.h:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
mysql-test/r/union.result:
SCCS merged
mysql-test/t/union.test:
SCCS merged
fixed bug in IN/ALL/ANY subqeries with HAVING clause (BUG#9350)
mysql-test/r/subselect.result:
added new subquery tests to make code covarage better
mysql-test/t/subselect.test:
added new subquery tests to make code covarage better
sql/item_subselect.cc:
fixed typo in comment
removed unused code
fixed bug with HAVING clause detectiuon (BUG#9350)
postreview changes
by adding check for embedded server within tests and splitting some
tests into multiple test files.
mysql-test/mysql-test-run.sh:
Remove most of hardcoded list of tests to skip
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/user_var.result:
Update results
mysql-test/r/variables.result:
Update results
mysql-test/t/mix_innodb_myisam_binlog.test:
Disable test with embedded server
mysql-test/t/mysql_protocols.test:
Disable test with embedded server
mysql-test/t/mysqlbinlog.test:
Disable test with embedded server
mysql-test/t/mysqlbinlog2.test:
Disable test with embedded server
mysql-test/t/mysqldump.test:
Disable test with embedded server
mysql-test/t/packet.test:
Disable test with embedded server
mysql-test/t/ps_1general.test:
Move parts of test to new ps_grant
mysql-test/t/rename.test:
Disable test with embedded server
mysql-test/t/show_check.test:
Disable test with embedded server
mysql-test/t/system_mysql_db_fix.test:
Disable test with embedded server
mysql-test/t/timezone2.test:
Move part of test to timezone_grant
mysql-test/t/user_var.test:
Move part of test to new user_var-binlog
mysql-test/t/variables.test:
Move part of test to rpl_variables
BitKeeper/deleted/.del-innodb.result.es~ba2a97747fd41a3a:
Delete: mysql-test/r/innodb.result.es
mysql-test/mysql-test-run.sh:
Remove innodb tests from list of tests automatically skipped
with embedded server
mysql-test/r/innodb.result:
Update results
mysql-test/t/innodb-deadlock.test:
Skip with embedded server
mysql-test/t/innodb-lock.test:
Skip with embedded server
mysql-test/t/innodb.test:
Move test of replace delayed to new test file, add to --replace_result
to clean up path
mysql-test-run to the tests themselves.
mysql-test/t/bdb-deadlock.test:
Don't run this test with embedded server
mysql-test/mysql-test-run.sh:
Remove tests from being skipped with embedded server
mysql-test/t/connect.test:
Skip test under embedded server
mysql-test/t/flush_block_commit.test:
Skip test under embedded server
mysql-test/t/grant.test:
Skip test under embedded server
mysql-test/t/grant2.test:
Skip test under embedded server
mysql-test/t/grant_cache.test:
Skip test under embedded server
Fixed Field_timestamp::val_int() so now it works correctly in --new mode
(or for TIMESTAMP(19) columns).
Also removed unused Field_timestamp::fill_and_store() method.
mysql-test/r/type_timestamp.result:
Added test for bug #8894 "TIMESTAMP values scrambled/misaligned when
using --new".
mysql-test/t/type_timestamp.test:
Added test for bug #8894 "TIMESTAMP values scrambled/misaligned when
using --new".
sql/field.cc:
Field_timestamp::fill_and_store()
Removed unused method.
Field_timestamp::val_int()
Even in --new mode integer representation of TIMESTAMP value should
not exceed 14 digits.
sql/field.h:
Removed unused Field_timestamp::fill_and_store() method.
--disable_reconnect and --enable_reconnect to mysqltest
so that it can be tested properly. (Bug #8866)
client/mysqltest.c:
Add support for --disable_reconnect and --enable_reconnect
mysql-test/r/kill.result:
Update results
mysql-test/t/kill.test:
Fix test to actually verify that killing a connection is working,
and that automatic reconnect is working as desired.
sql-common/client.c:
Clean up MYSQL->stmts on reconnect by invalidating statements
not in the MYSQL_STMT_INIT_DONE state, and reconnecting others
to the new MYSQL object.
result" (and similar bug in ADDTIME/SUBTIME).
Both Item_func_add_time/Item_func_timediff::val_str() now use
calc_time_diff() function which was backported from 5.0 (and which
was was fixed to properly handle microseconds part of its second
argument). Also now we correctly set sign of result in case when
first argument is negative and second is positive.
mysql-test/r/func_sapdb.result:
Added test for bug #8068 "TIMEDIFF with first negative argument gives wrong
result".
mysql-test/t/func_sapdb.test:
Added test for bug #8068 "TIMEDIFF with first negative argument gives wrong
result".
sql/item_timefunc.cc:
- Backported calc_time_diff() function from 5.0 tree. Changed it to
accept time value as its second argument when its first argument
is datetime value. Fixed wrong handling of microsecond part of
second argument.
- Item_func_add_time::val_str()/Item_func_timediff::val_str()
Removed similar pieces of code calculating difference
between two datetime values (or their sum) in microseconds.
Now we use calc_time_diff() function instead.
Also now we correctly set sign of result in case when first
argument is negative and second is positive.
Bug #6519 UNION with collation binary and latin1_swedish_ci fails now
Prove that this problem was fixed with bug9425 fix too.
mysql-test/t/union.test:
Bug #6519 UNION with collation binary and latin1_swedish_ci fails now
Prove that this problem was fixed with bug9425 fix too.
Prove that the queries mentioned in
Bugs#5980: NULL requires a characterset in a union
works fine after recent changes related to itroducing
more coercibility level: IRNORABLE and SYSCONST.
mysql-test/r/ctype_utf8.result:
Prove that the queries mentioned in
Bugs#5980: NULL requires a characterset in a union
works fine after recent changes related to itroducing
more coercibility level: IRNORABLE and SYSCONST.
mysql-test/r/func_system.result:
Prove that the queries mentioned in
Bugs#5980: NULL requires a characterset in a union
works fine after recent changes related to itroducing
more coercibility level: IRNORABLE and SYSCONST.
mysql-test/t/ctype_utf8.test:
Prove that the queries mentioned in
Bugs#5980: NULL requires a characterset in a union
works fine after recent changes related to itroducing
more coercibility level: IRNORABLE and SYSCONST.
mysql-test/t/func_system.test:
Prove that the queries mentioned in
Bugs#5980: NULL requires a characterset in a union
works fine after recent changes related to itroducing
more coercibility level: IRNORABLE and SYSCONST.
acinclude.m4:
Change in message
mysql-test/r/blackhole.result:
Lowered the number of inserts.
mysql-test/t/blackhole.test:
Lowered the number of inserts.
sql/ha_blackhole.cc:
Added indexes per Serg, correction of indention, added asserts per Serg.
sql/ha_blackhole.h:
Indention fix, added methods for index...
s/sleep/safe_sleep (thread safe); sleep 0/1/2/3/4/5/5/5 (get slave less late);
no message on error log (deadlock is too common sometimes), a global counter
instead (SHOW STATUS LIKE 'slave_retried_transactions').
Plus a fix for libmysql/Makefile.shared
libmysql/Makefile.shared:
When we "make clean" in libmysql/ we remove the symlinks there, so we
need to mark that they have to be recreated later: this is done by removing
../linked_libmysql_sources. If we don't do this, 'make' will fail after 'cd libmysql;make clean'.
This Makefile.shared is used by libmysql_r too.
No reason to remove linked_client_sources as we don't remove the links in client/.
mysql-test/r/rpl_deadlock.result:
result fix
mysql-test/t/rpl_deadlock.test:
small test addition
sql/mysqld.cc:
if active_mi could not be alloced, die. New SHOW STATUS LIKE "slave_retried_transactions".
sql/slave.cc:
If slave retries automatically a transaction, no message on error log
(too common situation); sleep 0 secs at first retry, then 1, 2, 3, 4,
5, 5, 5... Sleeping 0 is to get the least possible late, as deadlocks
are usually resolved at first try. New global counter rli->retried_trans
(for SHOW STATUS: total number of times the slave had to retry
any transaction). safe_sleep() is thread-safe, sleep() was not.
I change the rli->trans_retries counter to go from 0 to max instead
of the other way (better for new sleep()).
sql/slave.h:
new global counter rli->retried_trans
sql/sql_show.cc:
SHOW STATUS LIKE "slave_retried_transactions"; needs replication mutexes.
Can't be a simple SHOW_LONG, because active_mi is unset (not alloced yet)
when the static global status_vars is created (active_mi is set
in init_slave()).
sql/structs.h:
new SHOW_SLAVE_RETRIED_TRANS
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/r/func_group.result:
new result
mysql-test/r/metadata.result:
new result
test of metadata of variables, unions and derived tables
mysql-test/r/union.result:
new results
test of union of enum
mysql-test/t/metadata.test:
test of metadata of variables, unions and derived tables
mysql-test/t/union.test:
test of union of enum
sql/field.cc:
Field type merging rules added
Fixed table name/alias returting for field made from temporary tables
sql/field.h:
removed unned field type reporting
sql/item.cc:
fixed bug in NEW_DATE type field creartion
replaced mechanism of merging types of UNION
sql/item.h:
replaced mechanism of merging types of UNION
sql/item_func.h:
new item type to make correct field type detection possible
sql/item_subselect.cc:
added table name parameter to prepare() to show right table alias for derived tables
sql/sql_derived.cc:
added table name parameter to prepare() to show right table alias for derived tables
sql/sql_lex.h:
added table name parameter to prepare() to show right table alias for derived tables
sql/sql_parse.cc:
made function for enum/set pack length calculation
sql/sql_prepare.cc:
added table name parameter to prepare() to show right table alias for derived tables
sql/sql_select.cc:
new temporary table field creation by Item_type_holder
fixed table alias for temporary table
sql/sql_union.cc:
added table name parameter to prepare() to show right table alias for derived tables
acinclude.m4:
New macro rule for ha_blackhole.
configure.in:
Rule enabling blackhole engine
sql/Makefile.am:
Additions to Makefile for blackhole engine
sql/handler.cc:
Ifdef enable code for blackhole (and message for "what does this thing do").
sql/handler.h:
Flag for storage engine type.
sql/mysql_priv.h:
Added blackhole type.
sql/mysqld.cc:
Updates for building backhole.
sql/set_var.cc:
Show variable for blackhole engine
- Chaned min value in mysqld.cc
- Added testcase to warnings.test
mysql-test/r/warnings.result:
Added testcase for testing max and min value of max_error_count
mysql-test/t/warnings.test:
Added testcase for testing max and min value of max_error_count
sql/mysqld.cc:
Change min value of max_error_count from 1 to 0
Added a test case for bug #8617.
sql_select.cc:
Fixed bug #8617.
Queries with ROLLUP and LIMIT n returned more than n rows
if SQL_CALC_FOUND_ROWS was used.
sql/sql_select.cc:
Fixed bug #8617.
Queries with ROLLUP and LIMIT n returned more than n rows
if SQL_CALC_FOUND_ROWS was used.
mysql-test/t/olap.test:
Added a test case for bug #8617.
sql/key.cc:
A fix (bug #8942: SUBSTRING_INDEX in UPDATE causes internal loop).
For "partial" key parts (e.g. key(a(20), ...) we create different
key_part->field, see sql/table.cc; so we have to use the eq()
function here to compare fields.
Added a test for bug #8615.
sql_select.cc:
Fixed bug #8615.
This fix only removed the cause of the reported crash.
It does not resolve other problems of rollup queries
with DISTINCT. They were fixed in the previous patch
for bug 8616.
sql/sql_select.cc:
Fixed bug #8615.
This fix only removed the cause of the reported crash.
It does not resolve other problems of rollup queries
with DISTINCT. They were fixed in the previous patch
for bug 8616.
mysql-test/t/olap.test:
Added a test for bug #8615.
mysql-test/r/olap.result:
Added a test for bug #8615.
not always correct for NULL values.
Now they always result a non NULL value even
the argument is NULL. It is more usefull for
debugging purposes.
mysql-test/r/func_str.result:
Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
Also, a mistake in EXPORT_SET was fixed.
mysql-test/t/func_str.test:
Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
sql/item_func.cc:
Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
sql/item_strfunc.cc:
Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
A minor mistake in EXPORT_SET() was fixed.
Added a test case for bug #8616.
item.h:
Fixed bug #8616.
Added class Item_null_result used in rollup processing.
sql_select.h, sql_select.cc:
Fixed bug #8616.
Added JOIN::rollup_write_data to cover rollup queries
with DISTINCT. Modified other rollup methods.
sql/sql_select.cc:
Fixed bug #8616.
Added JOIN::rollup_write_data to cover rollup queries
with DISTINCT. Modified other rollup methods.
sql/sql_select.h:
Fixed bug #8616.
Added JOIN::rollup_write_data to cover rollup queries
with DISTINCT. Modified other rollup methods.
sql/item.h:
Fixed bug #8616.
Added class Item_null_result used in rollup processing.
mysql-test/t/olap.test:
Added a test case for bug #8616.
mysql-test/r/olap.result:
Added a test case for bug #8616.
character set conversion of a string constant.
mysql-test/r/ctype_utf8.result:
Adding test
mysql-test/t/ctype_utf8.test:
Addign test
sql/item_strfunc.cc:
Remove previous fix: it was not 100% correct.
A non const_item() can return a constant String.
sql/sql_string.h:
A new method to cut Alloced_length to str_length for
string constants, to avoid reusing them as a buffer
in things like CONCAT().
Added a test case for bug #9017.
item_cmpfunc.h:
A wrong not_null_tables method for Item_cond_xor
caused a conversion of a left join into an inner join
that was not valid.
sql/item_cmpfunc.h:
A wrong not_null_tables method for Item_cond_xor
caused a conversion of a left join into an inner join
that was not valid.
mysql-test/t/join_outer.test:
Added a test case for bug #9017.
mysql-test/r/join_outer.result:
Added a test case for bug #9017.
Item_func_equal::not_null_tables() always return 0.
mysql-test/r/join_outer.result:
Testcase for BUG#8711
mysql-test/t/join_outer.test:
Testcase for BUG#8711
sql/item_cmpfunc.h:
Fix for BUG#8711: "<=>" may have true value for NULL arguments, i.e. it can accept NULL-complemented
table rows. This differs from assumptions made in Item_func::not_null_tables(), so add
Item_func_equal::not_null_tables().
Item_func_equal::not_null_tables_cache value doesn't make sense now, but we still let it be
calculated (and ignore it)
mysql-test/r/subselect.result:
result changing
fixed last test
test of transformation of left expression of subquery
mysql-test/t/subselect.test:
fixed last test
test of transformation of left expression of subquery
sql/item_subselect.cc:
fixfields made for left part of IN/ALL/ANY subquery before calling cols() to detect type of transformation (scalar or row)
similar action of both transformation moved to separate function
sql/item_subselect.h:
optimised field initialization and new method
The reported problems were due to two completely unrelated omissions.
1) The file sort procedure didn't correctly create the sort key in
make_sortkey when the sortkey was an unsigned integer.
2) The name resolution procedure for column references inside a HAVING
clause did not propagate the unsigned_flag of the resolved references.
This patch corrects both problems.
mysql-test/r/select.result:
Added test result for BUG#7425.
mysql-test/t/select.test:
Added test for BUG#7425.
sql/filesort.cc:
Take into account whether 'item' represents a signed or an unsigned integer.
sql/item.cc:
Once an Item_ref is resolved, propagate the unsigned_flag to the resolved item.
Added a test case for bug #8669.
item_strfunc.cc:
Fixed bug #8669.
Function AES_DECRYPT can return NULL value.
sql/item_strfunc.cc:
Fixed bug #8669.
Function AES_DECRYPT can return NULL value.
mysql-test/t/func_str.test:
Added a test case for bug #8669.
mysql-test/r/func_str.result:
Added a test case for bug #8669.
administrative statements that may alter the table, such
as REPAIR TABLE. (Bug #8480)
mysql-test/r/query_cache.result:
Add new results
mysql-test/t/query_cache.test:
Add regression test
sql/sql_table.cc:
Make sure entries are flushed from the query cache for
any administrative command run on a table that acquires
a write lock on it (and thus might change it), like
REPAIR TABLE.
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
BitKeeper/etc/ignore:
auto-union
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
dumped with --hex-blob and --skip-extended-insert options.
BitKeeper/etc/ignore:
Added support-files/ndb-config-2-node.ini to the ignore list
client/mysqldump.c:
A fix for a bug #8830. All that was necessary was to use unsigned char
instead of signed char.
mysql-test/r/mysqldump.result:
A result for test case for bug #8830.
mysql-test/t/mysqldump.test:
Test case for bug #8830.
Logging to logging@openlogging.org accepted
func_group.result, func_group.test:
Added a test case for bug #8893.
opt_sum.cc:
A misplaced initialization for the returned parameter
prefix_len in the function find_key_for_maxmin caused
usage of a wrong key prefix by the min/max optimization
in cases when the matching index was not the first index
that contained the min/max field.
sql/opt_sum.cc:
A misplaced initialization for the returned parameter
prefix_len in the function find_key_for_maxmin caused
usage of a wrong key prefix by the min/max optimization
in cases when the matching index was not the first index
that contained the min/max field.
mysql-test/t/func_group.test:
Added a test case for bug #8893.
mysql-test/r/func_group.result:
Added a test case for bug #8893.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
fixing test results accordingly.
func_system.test:
New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
safe_charset_converter() was added for system constants.
item_strfunc.cc:
safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
Version is a system constant too.
sql/item.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
sql/item.h:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
sql/item_create.cc:
Version is a system constant too.
sql/item_func.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
sql/item_strfunc.cc:
safe_charset_converter() was added for system constants.
sql/item_strfunc.h:
safe_charset_converter() was added for system constants.
mysql-test/t/func_system.test:
New test that illegal mix of collations does not happen anymore.
mysql-test/r/ctype_collate.result:
fixing test results accordingly.
mysql-test/r/func_str.result:
fixing test results accordingly.
mysql-test/r/func_system.result:
fixing test results accordingly.
mysql-test/r/type_blob.result:
fixing test results accordingly.
hostnames to not be matched correctly. (Bug #3309)
sql/sql_acl.cc:
Use an acl_host_or_ip in the GRANT_TABLE struct instead of storing the host
itself, and use compare_hostname() in testing it. This adds support for IP
addresses with netmasks to table-specific grants, and results in simplified
code by making use of compare_hostname() in more places.
mysql-test/r/grant2.result:
Add new results
mysql-test/t/grant2.test:
Add new regression test
sql/sql_union.cc:
a fix for --ps-protocol (bug #6089: FOUND_ROWS returns wrong values when no table/view is used)
Don't touch options as itit's not needed.
in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (new variable --slave_transaction_retries).
sql/mysql_priv.h:
new var slave_transaction_retries
sql/mysqld.cc:
new variable slave_transaction_retries. Plus fixing a typo.
sql/set_var.cc:
new global variable slave_transaction_retries (will be one per subslave, when we have multimaster).
sql/slave.cc:
Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (--slave_transaction_retries).
sql/slave.h:
new RELAY_LOG_INFO::trans_retries.
Added a check, if the table, which we are going to create, is open.
This can happen if a MERGE mapped table is TRUNCATEd.
myisam/mi_open.c:
Bug#8306 - TRUNCATE leads to index corruption
Made test_if_reopen() globally available.
myisam/myisamdef.h:
Bug#8306 - TRUNCATE leads to index corruption
Declared test_if_reopen() as globally available.
mysql-test/r/myisam.result:
Bug#8306 - TRUNCATE leads to index corruption
The test result.
mysql-test/t/myisam.test:
Bug#8306 - TRUNCATE leads to index corruption
The test case.
so that extra slashes are handled in tmpdir. (Bug #8497)
sql/ha_heap.cc:
use constants instead of magic integers on fn_format() calls
sql/sql_select.cc:
Construct filename for temporary tables using fn_format() to get consistent
filenames.
mysql-test/t/temp_table.test:
Add new regression test
mysql-test/r/temp_table.result:
Add new test results
depending on ref->unsigned_flag. Item_int_with_ref can refer to both signed and
unsigned integers.
mysql-test/r/bigint.result:
Test case for BUG#8562
mysql-test/t/bigint.test:
Test case for BUG#8562
the error to be sent to the client.
mysql-test/r/select_safe.result:
Testcase for BUG#8726
mysql-test/t/select_safe.test:
Testcase for BUG#8726
sql/sql_select.cc:
Fix for BUG#8726: On ER_TOO_BIG_SELECT set JOIN::error to -1 to cause the error to be sent to the client.
(No really critical errors found, but a few possible wrong results)
innobase/dict/dict0dict.c:
Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
mysql-test/r/select_found.result:
Add missing drop table
mysql-test/r/type_set.result:
More tests
mysql-test/t/select_found.test:
Add missing drop table
mysql-test/t/type_set.test:
More tests
mysys/my_init.c:
Avoid warning from purify (purify doesn't handle getrusage() properly)
sql/field.h:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/filesort.cc:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/item_cmpfunc.cc:
Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
sql/mysqld.cc:
Wait for signal handler to stop when running --bootstrap
(Fixes warning from purify)
sql/sql_insert.cc:
Initialize slot used by innodb.cc (not critical)
sql/sql_lex.h:
Better comments
sql/sql_repl.cc:
memcmp -> bcmp() to avoid warning from purify
sql/sql_select.cc:
Fix for out-of-bound memory reference when doing DISTINCT on const expressions
strings/ctype-simple.c:
Fixes to not access uninitialized memory
(Not critical)
my_like_range_simple to produce upper bound constants for LIKE "str_%" and similar expressions.
mysql-test/r/ctype_cp1251.result:
Test for BUG#8560
mysql-test/t/ctype_cp1251.test:
Test for BUG#8560
updated with the correct number of lines. (Bug #8681)
mysql-test/t/join_outer.test:
Add new regression test
mysql-test/r/join_outer.result:
Add new results
sql/item_sum.cc:
Move cleanup of warning message outside of "if (original)" test or it won't
always get cleaned up.
is the same as the normal datadir for that database. (Bug #8707)
mysys/my_symlink2.c:
Expand path of linkname before checking it against filename to decide if
we need to create a link.
mysql-test/t/symlink.test:
Add new regression test
mysql-test/r/symlink.result:
Add new results
independently from the expression it is initialized from.
In other words, this change treats a user variable like
a table with one column and one record. Discussed with
PeterG, Serg and Lars. This change also simplifies replication
allowing not to replicate variables' coercibility.
mysql-test/r/user_var.result:
Test changes accordintly
mysql-test/t/user_var.test:
Test changes accordintly
Change string->float conversion to delay division as long as possible.
This gives us more exact integer->float conversion for numbers of type '123.45E+02' (Bug #7740)
client/mysql.cc:
Fix wront usage of charset (found during review of pushed code)
include/m_string.h:
Backported my_strtod() from 5.0
mysql-test/mysql-test-run.sh:
Run also mysql_client_test with --debug
mysql-test/r/ps_1general.result:
Safety fix (if mysql_client_test.test fails)
mysql-test/r/type_float.result:
More test
mysql-test/t/mysql_client_test.test:
Comments for what to do if this test fails
mysql-test/t/ps_1general.test:
Safety fix (if mysql_client_test.test fails)
mysql-test/t/type_float.test:
More test to better test new strtod() function
Test also bug #7740 (wrong comparsion between integer and float-in-integer-range)
sql/field.cc:
Backport my_strntod() from 5.0
sql/item.cc:
Backport my_strntod() from 5.0
sql/item.h:
Backport my_strntod() from 5.0
sql/item_func.h:
Backport my_strntod() from 5.0
sql/item_strfunc.cc:
Backport my_strntod() from 5.0
sql/item_sum.cc:
Backport my_strntod() from 5.0
sql/item_sum.h:
Backport my_strntod() from 5.0
sql/procedure.h:
Backport my_strntod() from 5.0
strings/ctype-simple.c:
Backport my_strntod() from 5.0
strings/ctype-ucs2.c:
Backport my_strntod() from 5.0
strings/strtod.c:
Backport my_strntod() from 5.0
Change conversion to delay division as long as possible.
This gives us more exact integer-> float conversion for numbers of type '123.45E+02'
Treat unknown characters straight in a query as syntax error, rather skipping it as a space character.
mysys/charset.c:
Treat unknown characters straight in a query as syntax error, rather skipping it as a space character.
mysql-test/t/ctype_latin1.test:
Treat unknown characters straight in a query as syntax error, rather skipping it as a space character.
mysql-test/r/ctype_latin1.result:
Treat unknown characters straight in a query as syntax error, rather skipping it as a space character.
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
strings/ctype-utf8.c:
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
mysql-test/t/ctype_utf8.test:
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
mysql-test/r/ctype_utf8.result:
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
(Bug #8475)
sql/sql_parse.cc:
Reset the start time before each statement before each statement in
a multi-statement query, and check whether each statement should
be logged to the slow query log independently.
mysql-test/r/multi_statement.result:
Add new results
mysql-test/t/multi_statement.test:
Add new regression test
Fixed that negative arguments to certain integer options wrap around.
mysql-test/r/variables.result:
Added a test case for bug#6958.
mysql-test/t/variables.test:
Added a test case for bug#6958.
sql/set_var.cc:
sys_var_long_ptr::check function was added.
sql/set_var.h:
Use sys_var_long_ptr::check function for sys_var_long_ptr class.
Added a test case for bug #7098.
sql_select.cc:
Fixed bug #7098.
When a string field was substituted for an equal constant
the collation of the constant was changed by mistake for
the binary collation.
sql/sql_select.cc:
Fixed bug #7098.
When a string field was substituted for an equal constant
the collation of the constant was changed by mistake for
the binary collation.
mysql-test/t/select.test:
Added a test case for bug #7098.
mysql-test/r/select.result:
Added a test case for bug #7098.
ONLY_FULL_GROUP_BY mode is overly restrictive.
mysql-test/r/ansi.result:
A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode.
mysql-test/t/ansi.test:
A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode.
sql/set_var.cc:
A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode.
'ps_1general' and 'fulltext_cache' test cases.
mysql-test/r/fulltext_cache.result:
To pass on Windows, round to less digits
mysql-test/t/fulltext_cache.test:
To pass on Windows, round to less digits
mysql-test/t/ps_1general.test:
To pass on Windows, change \\ to / in result
mysql-test/t/rpl_delete_all.test:
To pass on Windows, change \\ to / in result
mysql-test/mysql-test-run.pl:
Pass mysqld --console to catch output on Windows
mysql-test/lib/mtr_process.pl:
Check error from exec() to avoid becoming a fork() bomb
Fix ambigious table error for INSERT..SELECT..UPDATE
mysql-test/r/insert_update.result:
Bug#8147
Alter test for bug
mysql-test/t/insert_update.test:
Bug#8147
Alter test for bug
sql/sql_parse.cc:
Bug#8147
Change order of code -
skip insert table before calling mysql_prepare_insert()
mysql-test/r/ndb_index_ordered.result:
fix old decimal type mysql vs ndb (re-commit 3)
mysql-test/t/ndb_index_ordered.test:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/include/kernel/signaldata/DictTabInfo.hpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/include/ndbapi/NdbDictionary.hpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/include/util/NdbSqlUtil.hpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/src/common/util/NdbSqlUtil.cpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/src/ndbapi/NdbDictionary.cpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/src/ndbapi/NdbRecAttr.cpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/test/include/NdbSchemaOp.hpp:
fix old decimal type mysql vs ndb (re-commit 3)
ndb/tools/restore/consumer.cpp:
fix old decimal type mysql vs ndb (re-commit 3)
sql/ha_ndbcluster.cc:
fix old decimal type mysql vs ndb (re-commit 3)
Test case for bug#8522, to test for out of bounds memory access in ft_nlq_find_relevance().
mysql-test/r/fulltext.result:
Test case for bug#8522, to test for out of bounds memory access in ft_nlq_find_relevance().
mysql-test/t/fulltext.test:
Test case for bug#8522, to test for out of bounds memory access in ft_nlq_find_relevance().
Added a test case for bug #8392.
sql_delete.cc:
Fixed bug #8392.
The bug caused a crash for a delete statement with ORDER BY
that explicitly referred to the modified table.
sql/sql_delete.cc:
Fixed bug #8392.
The bug caused a crash for a delete statement with ORDER BY
that explicitly referred to the modified table.
mysql-test/t/delete.test:
Added a test case for bug #8392.
mysql-test/r/delete.result:
Added a test case for bug #8392.
are loaded and lower_case_table_names is set, but issue a warning when it is
done. (Bug #7989)
sql/sql_acl.cc:
Lowercase database names in 'host' and 'db' grant tables when loading,
but issue a warning to the log about them.
This fixes also the reverse lookup bug introduced by the previous patch
mysql-test/t/group_by.test:
Remove empty line
vio/viosocket.c:
Added function comment
running with --skip-name-resolve. (Bug #8471)
sql/sql_acl.cc:
Add '/' to list of characters that doesn't trigger a need for resolving the
hostname, so that the IP mask syntax works with skip-name-resolve.
and fixing it another way (per Monty; a simpler solution which does not increase the number
of binlog events is to always execute DROP TEMPORARY TABLE IF EXISTS on slave). A new test rpl_drop_temp.
2) fixing BUG#8436 "Multiple "stacked" SQL statements cause replication to stop" by setting
thd->query_length to the length of the query being executed, not counting the next queries
if this is a multi-query. Should also improve display of SHOW PROCESSLIST. A new test rpl_multi_query.
mysql-test/r/drop_temp_table.result:
back to one single DROP
sql/sql_base.cc:
undoing the fix I had made some days ago: we are back to one single DROP TEMPORARY TABLE for all temp tables.
sql/sql_parse.cc:
1) set thd->query_length to the length of the query being executed, excluding the other next queries
if this is a multi-query. The setting happens ASAP, ie. just after we know it's a multi-query, ie. just after yyparse().
Don't include the ';' in thd->query_length, because this is not good for storage in binlog.
2) always execute a DROP TEMPORARY TABLE IF EXISTS on slave, don't skip it even if --replicate-ignore-table
into mysql.com:/home/psergey/mysql-4.1-bug8218
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_select.cc:
Auto merged
epilogue to an SQL statement should not have an error code even
when the SQL statement itself has an error code.
mysql-test/r/rpl_insert_id.result:
Adding test to ensure that slave handles error statement gracefully.
mysql-test/t/rpl_insert_id.test:
Adding test to ensure that slave handles error statement gracefully.
sql/log.cc:
Setting error code to 0 for SQL statement prologue and epilogue.
Fix for crash when using a double quote in boolean fulltext query.
mysql-test/r/fulltext.result:
Added a test case for bug #8351.
mysql-test/t/fulltext.test:
Added a test case for bug #8351.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/r/derived.result:
test of union subquery in the FROM clause with complex distinct/all
mysql-test/t/derived.test:
test of union subquery in the FROM clause with complex distinct/all
sql/sql_derived.cc:
removed wrong distinct UNION detection
Alter handling for UNION syntax
Tests for UNION and parentheses
mysql-test/r/union.result:
Bug#2435
Tests for UNION and parentheses
mysql-test/t/union.test:
Bug#2435
Tests for UNION and parentheses
sql/sql_yacc.yy:
Bug#2435
Amend handling of UNION with parentheses.
Remove TMP_TABLE_PARAM::copy_funcs_it. TMP_TABLE_PARAM is a member of JOIN which is
copied via memcpy, and List_iterator_fast TMP_TABLE_PARAM::copy_funcs_it ends up
pointing to the wrong List.
mysql-test/r/subselect.result:
Testcase for BUG#8218
mysql-test/t/subselect.test:
Testcase for BUG#8218
sql/sql_select.cc:
Fix for BUG#8218: Create/use own iterator since TMP_TABLE_PARAM::copy_funcs_it is removed.
mysql-test/r/ctype_ucs.result:
Test case
mysql-test/t/ctype_ucs.test:
Test case
sql/field.cc:
Fixed minus check to be UCS2-compatible
strings/ctype-ucs2.c:
Missing my_scan_ucs2() was added.
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
BitKeeper/etc/logging_ok:
auto-union
extra/replace.c:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/table.cc:
Auto merged
Added a test case for bug #7520.
table.cc:
Fixed bug #7520.
The bug was caused by a wrong calculation of the field max_key_length for
a TABLE structure when there was an index on a blob field.
sql/table.cc:
Fixed bug #7520.
The bug was caused by a wrong calculation of the field max_key_length for
a TABLE structure when there was an index on a blob field.
mysql-test/t/select.test:
Added a test case for bug #7520.
mysql-test/r/select.result:
Added a test case for bug #7520.
appears to have been accidently disabled) and enable ctype_ucs after moving
a subtest that requires binlog to its own test file.
mysql-test/mysql-test-run.sh:
Remove hardcoded skip of ctype_latin1_de and ctype_ucs for embedded server
mysql-test/t/ctype_ucs.test:
Move binlog test to a new test file
mysql-test/r/ctype_ucs.result:
Update result after test moved
to grant.test and using replace_column to neuter the Privileges column in
SHOW FULL COLUMNS.
BitKeeper/deleted/.del-alter_table.result.es~a1077916d429e443:
Delete: mysql-test/r/alter_table.result.es
mysql-test/t/alter_table.test:
Add replace_column for grant-related column
Move grant-related test to grant.test
mysql-test/r/alter_table.result:
Update results
mysql-test/t/grant.test:
Move grant-related test from alter_table.test
mysql-test/r/grant.result:
Add test results
mysql-test/mysql-test-run.sh:
Don't skip alter_table test for embedded server
within is dropped and lower_case_table_names is set. (Bug #8355)
mysql-test/t/lowercase_table2.test:
Add new regression test
mysql-test/r/lowercase_table2.result:
Add results for regression test
sql/mysql_priv.h:
Change remove_db_from_cache() to use char* instead of my_string
sql/sql_base.cc:
Lowercase database name in remove_db_from_cache so
that all of the correct entries are removed.
mysql-test/r/heap_hash.result:
Testcase for BUG#8371: wrong rec_per_key value for hash index on temporary table
mysql-test/t/heap_hash.test:
Testcase for BUG#8371: wrong rec_per_key value for hash index on temporary table
sql/ha_heap.cc:
Fix for BUG#8371: wrong rec_per_key value for hash index on temporary table:
Don't assume that table->rec_per_key==NULL if table->tmp_table != NO_TMP_TABLE,
this is not true for tables created with "CREATE TEMPORARY TABLE" (while it holds
for temporary tables created during query execution)
sql/sql_select.cc:
Initialize rec_per_key for all keys in temporary table.
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Generalized the code for split_sum_func()
BitKeeper/etc/ignore:
added support-files/ndb-config-2-node.ini
mysql-test/r/group_by.result:
More complicated test to assure that rand() is only calulated once
mysql-test/r/user_var.result:
Back to old results :( (ok but not perfect)
mysql-test/t/group_by.test:
More complicated test to assure that rand() is only calulated once
sql/item.cc:
Better bugfix for "HAVING when refering to RAND()"
This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
Generalize split_sum_func()
sql/item.h:
Better bugfix for "HAVING when refering to RAND()"
T
sql/item_cmpfunc.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_func.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_row.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_strfunc.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/sql_list.h:
Add functions to concatenate lists
sql/sql_select.cc:
Better bugfix for "HAVING when refering to RAND()"
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
(BUG 8216)
mysql-test/r/group_by.result:
New test case
mysql-test/r/user_var.result:
Test changed (to be more correct) with bug fix
mysql-test/t/group_by.test:
Added test for HAVING bug
sql/item_cmpfunc.cc:
Fixed bug in HAVING when refering to RAND()
sql/item_func.cc:
Fixed bug in HAVING when refering to RAND()
sql/item_row.cc:
Fixed bug in HAVING when refering to RAND()
sql/item_strfunc.cc:
Fixed bug in HAVING when refering to RAND()
sql/unireg.h:
Added PSEUDO_TABLES_BITS for easy testing of real table reference
mysql-test/r/subselect.result:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/r/subselect_innodb.result:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect.test:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect_innodb.test:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
Call file->extra() with HA_STATUS_CONST in mysqld_show_keys.
The fix will not be merged into 4.1/5.0 because they don't have this problem already.
mysql-test/r/show_check.result:
Testcase for BUG#7519
mysql-test/t/show_check.test:
Testcase for BUG#7519
sql/sql_show.cc:
Fix for BUG#7519: Index statistics is not displayed after ANALYZE for temporary tables:
When handling "SHOW INDEX" the call file->extra(HA_STATUS_CONST | ...) is made for regular tables
but bypassed for temporary tables.
Call file->extra() with HA_STATUS_CONST in mysqld_show_keys to make sure we're always using the
current index cardinality values.
when we close the session's temp tables at session end, we automatically write to binlog *one* DROP TEMPORARY TABLE *per tmp table*.
mysql-test/r/drop_temp_table.result:
result update (note: one DROP TEMPORARY TABLE per tmp table)
mysql-test/t/drop_temp_table.test:
checking that we have one DROP TEMPORARY TABLE per tmp table now, not one multi-table DROP.
Hiding columns Log_pos/End_log_pos per Monty's request.
sql/sql_base.cc:
When we close the session's temp tables at session end, we automatically write to binlog one DROP TEMPORARY TABLE per tmp table,
not one single multi-table DROP TEMPORARY TABLE (because it causes problems if slave has --replicate*table rules).
corrected documentation on fragmentation
set "fragmentation medium" to mean 2 fragments per node instead of 1
set default fragmentation to small instead of medium
bug#8284 adjust fragmentation to max_rows
mysql-test/r/ndb_basic.result:
added test to trigger drifferent fragmentations in ndb
mysql-test/t/ndb_basic.test:
added test to trigger drifferent fragmentations in ndb
ndb/include/ndbapi/NdbDictionary.hpp:
corrected documentation on fragmentation
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
set "fragmentation medium" to mean 2 fragments per node instead of 1
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
set default fragmentation to small instead of medium
sql/ha_ndbcluster.cc:
bug#8284 adjust fragmentation to max_rows
bug#7833: Wrong datatype of aggregate column is returned
mysql-test/r/func_group.result:
Test case for bug 7833: Wrong datatype of aggregate column is returned
mysql-test/r/union.result:
Test case for bug 6931: Date Type column problem when using UNION-Table.
mysql-test/t/func_group.test:
Test case for bug 7833: Wrong datatype of aggregate column is returned
mysql-test/t/union.test:
Test case for bug 6931: Date Type column problem when using UNION-Table.
by item->val_str() may be a substring of the passed string.
Disallow string=its_substring assignment in String::operator=().
mysql-test/r/func_misc.result:
Testcase for BUG#7716
mysql-test/t/func_misc.test:
Testcase for BUG#7716
sql/item_cmpfunc.cc:
Fix for BUG#7716: in in_string::set() take into account that the string returned
by item->val_str(S) may be not S but use the buffer owned by S.
sql/sql_string.h:
* Added assert: String& String::operator=(const String&) may not be used to do
assignments like str = string_that_uses_buffer_owned_by_str
* Added String::uses_buffer_owned_by().
by a multi-byte character with a second byte of 0x5c (\). (Bug #8903)
sql/sql_lex.cc:
Fix lex error when multi-byte character containing 0x5c (\) follows a
backslash
mysql-test/t/ctype_sjis.test:
Add regression test for Bug #8303
mysql-test/r/ctype_sjis.result:
Add test results
Fix crash with LAST_INSERT_ID() in UPDATE,
Tests included,
mysql-test/r/update.result:
Bug#8057
Test for bug
mysql-test/t/update.test:
Bug#8057
Test for bug
sql/item_func.cc:
Bug#8057
Don't create new Item in val_int()