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