#At bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-maria/
2678 Guilhem Bichot 2008-10-15 [merge]
Merge of my revision
added:
mysql-test/suite/maria/r/maria_partition.result
mysql-test/suite/maria/t/maria_partition.test
modified:
mysql-test/suite/maria/r/maria.result
mysql-test/suite/maria/t/maria.test
mysys/my_uuid.c
storage/maria/ma_close.c
storage/maria/ma_create.c
storage/maria/ma_loghandler.c
=== modified file 'mysql-test/suite/maria/r/maria.result'
--- a/mysql-test/suite/maria/r/maria.result 2008-10-12 10:09:52 +0000
+++ b/mysql-test/suite/maria/r/maria.result 2008-10-15 12:44:31 +0000
@@ -2590,11 +2590,6 @@ ALTER TABLE t1 CHANGE c d varchar(10);
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
drop table t1;
-create table t1 (s1 int);
-insert into t1 values (1);
-alter table t1 partition by list (s1) (partition p1 values in (2));
-ERROR HY000: Table has no partition for value 1
-drop table t1;
create table t1 (c1 int);
create table t2 (c1 int);
lock table t1 read, t2 read;
=== added file 'mysql-test/suite/maria/r/maria_partition.result'
--- a/mysql-test/suite/maria/r/maria_partition.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/maria/r/maria_partition.result 2008-10-15 12:44:31 +0000
@@ -0,0 +1,12 @@
+set global storage_engine=maria;
+set session storage_engine=maria;
+set global maria_page_checksum=0;
+set global maria_log_file_size=4294967295;
+drop table if exists t1,t2;
+drop view if exists v1;
+SET SQL_WARNINGS=1;
+create table t1 (s1 int);
+insert into t1 values (1);
+alter table t1 partition by list (s1) (partition p1 values in (2));
+ERROR HY000: Table has no partition for value 1
+drop table t1;
=== modified file 'mysql-test/suite/maria/t/maria.test'
--- a/mysql-test/suite/maria/t/maria.test 2008-10-12 10:09:52 +0000
+++ b/mysql-test/suite/maria/t/maria.test 2008-10-15 12:44:31 +0000
@@ -1817,12 +1817,6 @@ lock table t1 write concurrent;
delete from t1;
drop table t1;
---disable_result_log
---disable_query_log
-eval set global storage_engine=$default_engine, maria_page_checksum=$default_checksum;
---enable_result_log
---enable_query_log
-
#
# Bug#39243 SELECT WHERE does not find row
# (Problem with skip_row)
@@ -1868,16 +1862,6 @@ ALTER TABLE t1 CHANGE c d varchar(10);
drop table t1;
#
-# Bug #39227 Maria: crash with ALTER TABLE PARTITION
-#
-
-create table t1 (s1 int);
-insert into t1 values (1);
---error ER_NO_PARTITION_FOR_GIVEN_VALUE
-alter table t1 partition by list (s1) (partition p1 values in (2));
-drop table t1;
-
-#
# Bug #39226 Maria: crash with FLUSH TABLES WITH READ LOCK after LOCK TABLES
create table t1 (c1 int);
@@ -1886,3 +1870,10 @@ lock table t1 read, t2 read;
flush tables with read lock;
unlock tables;
drop table t1, t2;
+
+# Set defaults back
+--disable_result_log
+--disable_query_log
+eval set global storage_engine=$default_engine, maria_page_checksum=$default_checksum;
+--enable_result_log
+--enable_query_log
=== added file 'mysql-test/suite/maria/t/maria_partition.test'
--- a/mysql-test/suite/maria/t/maria_partition.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/maria/t/maria_partition.test 2008-10-15 12:44:31 +0000
@@ -0,0 +1,35 @@
+# Maria tests which require partitioning enabled
+
+--source include/have_partition.inc
+-- source include/have_maria.inc
+
+let $default_engine=`select @@global.storage_engine`;
+let $default_checksum=`select @@global.maria_page_checksum`;
+set global storage_engine=maria;
+set session storage_engine=maria;
+set global maria_page_checksum=0;
+set global maria_log_file_size=4294967295;
+
+# Initialise
+--disable_warnings
+drop table if exists t1,t2;
+drop view if exists v1;
+--enable_warnings
+SET SQL_WARNINGS=1;
+
+#
+# Bug #39227 Maria: crash with ALTER TABLE PARTITION
+#
+
+create table t1 (s1 int);
+insert into t1 values (1);
+--error ER_NO_PARTITION_FOR_GIVEN_VALUE
+alter table t1 partition by list (s1) (partition p1 values in (2));
+drop table t1;
+
+# Set defaults back
+--disable_result_log
+--disable_query_log
+eval set global storage_engine=$default_engine, maria_page_checksum=$default_checksum;
+--enable_result_log
+--enable_query_log
=== modified file 'mysys/my_uuid.c'
--- a/mysys/my_uuid.c 2008-10-12 10:09:52 +0000
+++ b/mysys/my_uuid.c 2008-10-15 12:44:31 +0000
@@ -145,12 +145,12 @@ void my_uuid(uchar *to)
*/
if (nanoseq)
{
- long delta;
+ ulong delta;
DBUG_ASSERT((tv > uuid_time) && (nanoseq > 0));
/*
-1 so we won't make tv= uuid_time for nanoseq >= (tv - uuid_time)
*/
- delta= min(nanoseq, tv - uuid_time -1);
+ delta= min(nanoseq, (ulong)(tv - uuid_time -1));
tv-= delta;
nanoseq-= delta;
}
=== modified file 'storage/maria/ma_close.c'
--- a/storage/maria/ma_close.c 2008-08-26 12:34:57 +0000
+++ b/storage/maria/ma_close.c 2008-10-15 12:44:31 +0000
@@ -107,7 +107,7 @@ int maria_close(register MARIA_HA *info)
File must be synced as it is going out of the maria_open_list and so
becoming unknown to future Checkpoints.
*/
- if (!share->temporary && my_sync(share->kfile.file, MYF(MY_WME)))
+ if (share->now_transactional && my_sync(share->kfile.file, MYF(MY_WME)))
error= my_errno;
if (my_close(share->kfile.file, MYF(0)))
error= my_errno;
=== modified file 'storage/maria/ma_create.c'
--- a/storage/maria/ma_create.c 2008-10-14 21:23:33 +0000
+++ b/storage/maria/ma_create.c 2008-10-15 20:00:35 +0000
@@ -1349,7 +1349,8 @@ int _ma_update_state_lsns_sub(MARIA_SHAR
int res;
LEX_CUSTRING log_array[TRANSLOG_INTERNAL_PARTS + 1];
/* table name is logged only for information */
- log_array[TRANSLOG_INTERNAL_PARTS + 0].str= share->open_file_name.str;
+ log_array[TRANSLOG_INTERNAL_PARTS + 0].str=
+ (uchar *)(share->open_file_name.str);
log_array[TRANSLOG_INTERNAL_PARTS + 0].length=
share->open_file_name.length + 1;
if ((res= translog_write_record(&lsn, LOGREC_IMPORTED_TABLE,
=== modified file 'storage/maria/ma_loghandler.c'
--- a/storage/maria/ma_loghandler.c 2008-10-14 15:18:14 +0000
+++ b/storage/maria/ma_loghandler.c 2008-10-15 12:44:31 +0000
@@ -7717,7 +7717,8 @@ int translog_assign_id_to_share(MARIA_HA
is not realpath-ed, etc) which is good: the log can be moved to another
directory and continue working.
*/
- log_array[TRANSLOG_INTERNAL_PARTS + 1].str= share->open_file_name.str;
+ log_array[TRANSLOG_INTERNAL_PARTS + 1].str=
+ (uchar *)share->open_file_name.str;
log_array[TRANSLOG_INTERNAL_PARTS + 1].length=
share->open_file_name.length + 1;
/*
| Thread |
|---|
| • bzr commit into MySQL/Maria:mysql-maria branch (guilhem:2678) | Guilhem Bichot | 15 Oct |