mirror of
https://github.com/MariaDB/server.git
synced 2025-10-30 04:26:45 +03:00
Bug #27710 Creating unique index fails during single user mode
- enable indexes to be used always, if in single user, reject will happen before, and if it is kerlel doing stuff, it should always be allowed mysql-test/r/ndb_single_user.result: Bug #27710 Creating unique index fails during single user mode mysql-test/t/ndb_single_user.test: Bug #27710 Creating unique index fails during single user mode
This commit is contained in:
@@ -55,11 +55,12 @@ update t1 set b=b+100;
|
||||
update t1 set b=b+100 where a > 7;
|
||||
delete from t1;
|
||||
insert into t1 select * from t2;
|
||||
create unique index new_index on t1 (b,c);
|
||||
drop table t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
create index new_index on t1 (c);
|
||||
create index new_index_fail on t1 (c);
|
||||
ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
|
||||
insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0);
|
||||
insert into t1 values (21,21,0),(22,22,0),(23,23,0),(24,24,0),(25,25,0),(26,26,0),(27,27,0),(28,28,0),(29,29,0),(210,210,0);
|
||||
ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
|
||||
select * from t1 where a = 1;
|
||||
ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
|
||||
|
||||
@@ -76,15 +76,18 @@ update t1 set b=b+100 where a > 7;
|
||||
# delete with full table scan
|
||||
delete from t1;
|
||||
insert into t1 select * from t2;
|
||||
# Bug #27710 Creating unique index fails during single user mode
|
||||
# - prior to bugfix this would fail
|
||||
create unique index new_index on t1 (b,c);
|
||||
|
||||
# test some sql on other mysqld
|
||||
--connection server2
|
||||
--error 1051
|
||||
drop table t1;
|
||||
--error 1296
|
||||
create index new_index on t1 (c);
|
||||
create index new_index_fail on t1 (c);
|
||||
--error 1296
|
||||
insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0);
|
||||
insert into t1 values (21,21,0),(22,22,0),(23,23,0),(24,24,0),(25,25,0),(26,26,0),(27,27,0),(28,28,0),(29,29,0),(210,210,0);
|
||||
--error 1296
|
||||
select * from t1 where a = 1;
|
||||
--error 1296
|
||||
|
||||
@@ -8158,6 +8158,7 @@ Dbdict::createIndex_toCreateTable(Signal* signal, OpCreateIndexPtr opPtr)
|
||||
w.add(DictTabInfo::NoOfKeyAttr, indexPtr.p->noOfPrimkey);
|
||||
w.add(DictTabInfo::NoOfNullable, indexPtr.p->noOfNullAttr);
|
||||
w.add(DictTabInfo::KeyLength, indexPtr.p->tupKeyLength);
|
||||
w.add(DictTabInfo::SingleUserMode, (Uint32)1);
|
||||
// write index key attributes
|
||||
for (k = 0; k < opPtr.p->m_attrList.sz; k++) {
|
||||
// insert the attributes in the order decided above in attrid_map
|
||||
|
||||
Reference in New Issue
Block a user