summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <holyfoot/hf@mysql.com/deer.(none)>2006-12-19 16:37:50 +0400
committerunknown <holyfoot/hf@mysql.com/deer.(none)>2006-12-19 16:37:50 +0400
commit3e27508554d6d6786ce395aa236c6f6bd3a7caf0 (patch)
tree4036588d60203ac4ef141b785496cccf22228f41
parent92791f80bf66dcc5160a887494090dba44774d82 (diff)
downloadmariadb-git-3e27508554d6d6786ce395aa236c6f6bd3a7caf0.tar.gz
bug #22451 (Partitions: duplicating results with ENGINE=FEDERATED)
As presently PARTITIONS + FEDERATED just doesn't work i added error message to inform user about that. Should be enabled again after releted WL's completion. storage/federated/ha_federated.cc: partitioning disabled in FEDERATED engine mysql-test/r/partition_federated.result: result added mysql-test/t/partition_federated.test: test added
-rw-r--r--mysql-test/r/partition_federated.result6
-rw-r--r--mysql-test/t/partition_federated.test21
-rw-r--r--storage/federated/ha_federated.cc2
3 files changed, 28 insertions, 1 deletions
diff --git a/mysql-test/r/partition_federated.result b/mysql-test/r/partition_federated.result
new file mode 100644
index 00000000000..2d98e366c95
--- /dev/null
+++ b/mysql-test/r/partition_federated.result
@@ -0,0 +1,6 @@
+drop table if exists t1;
+create table t1 (s1 int) engine=federated
+connection='mysql://root@localhost/federated/t1' partition by list (s1)
+(partition p1 values in (1), partition p2 values in (2));
+ERROR HY000: Engine cannot be used in partitioned tables
+End of 5.1 tests
diff --git a/mysql-test/t/partition_federated.test b/mysql-test/t/partition_federated.test
new file mode 100644
index 00000000000..c8483291228
--- /dev/null
+++ b/mysql-test/t/partition_federated.test
@@ -0,0 +1,21 @@
+#
+# Tests for partitioned FEDERATED
+#
+-- source include/have_partition.inc
+-- source include/not_embedded.inc
+-- source include/have_federated_db.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+#
+# Bug #22451 Partitions: duplicate results with engine=federated
+#
+
+--error ER_PARTITION_MERGE_ERROR
+create table t1 (s1 int) engine=federated
+connection='mysql://root@localhost/federated/t1' partition by list (s1)
+(partition p1 values in (1), partition p2 values in (2));
+
+--echo End of 5.1 tests
diff --git a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc
index 7330a19b791..f69b02e5204 100644
--- a/storage/federated/ha_federated.cc
+++ b/storage/federated/ha_federated.cc
@@ -406,7 +406,7 @@ int federated_db_init(void *p)
federated_hton->commit= federated_commit;
federated_hton->rollback= federated_rollback;
federated_hton->create= federated_create_handler;
- federated_hton->flags= HTON_ALTER_NOT_SUPPORTED;
+ federated_hton->flags= HTON_ALTER_NOT_SUPPORTED | HTON_NO_PARTITION;
if (pthread_mutex_init(&federated_mutex, MY_MUTEX_INIT_FAST))
goto error;