- 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)
mysql-test/mysql-test-run.pl:
1. Improved description of option user=USER
2. Bug fix
The storage place of the old, to be removed <test case>.reject file is the 'r' subdirectory of the test suite.
3. New option "start-dirty" which is
- per functionality a "start-and-exit" without an initiation
- a convenient method to (re)start an existing database.
So a following
./mysql-test-run.pl --extern ......
will meet a server running with the default ports and sockets according to our test environment.
This option is useful for analyzing bugs and WL#2520 Upgrade/Downgrade Test Plan .
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
fixing test results accordingly.
ctype-uca.c:
It appeared that in traditional Spanish collation
'RR' is not equal to 'R', as Unicode and Mimer state.
We'll go Oracle and IBM way instead:
No special rules to 'RR'.
strings/ctype-uca.c:
It appeared that in traditional Spanish collation
'RR' is not equal to 'R', as Unicode and Mimer state.
We'll go Oracle and IBM way instead:
No special rules to 'RR'.
mysql-test/r/ctype_uca.result:
fixing test results accordingly.
- 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