Commit 268c1a2e authored by mskold@mysql.com's avatar mskold@mysql.com

Bug fix for alter table and auto_increment

parent 08196b80
...@@ -15,7 +15,7 @@ col2 varchar(30) not null, ...@@ -15,7 +15,7 @@ col2 varchar(30) not null,
col3 varchar (20) not null, col3 varchar (20) not null,
col4 varchar(4) not null, col4 varchar(4) not null,
col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null, col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
col6 int not null, to_be_deleted int); col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
insert into t1 values (2,4,3,5,"PENDING",1,7); insert into t1 values (2,4,3,5,"PENDING",1,7);
alter table t1 alter table t1
add column col4_5 varchar(20) not null after col4, add column col4_5 varchar(20) not null after col4,
......
...@@ -6,20 +6,20 @@ attr2 INT, ...@@ -6,20 +6,20 @@ attr2 INT,
attr3 VARCHAR(10) attr3 VARCHAR(10)
) ENGINE=ndbcluster; ) ENGINE=ndbcluster;
INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413'); INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
SELECT pk1 FROM t1; SELECT pk1 FROM t1 ORDER BY pk1;
pk1 pk1
9410 9410
9411 9411
SELECT * FROM t1; SELECT * FROM t1 ORDER BY pk1;
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3
9410 9412 NULL 9412 9410 9412 NULL 9412
9411 9413 17 9413 9411 9413 17 9413
SELECT t1.* FROM t1; SELECT t1.* FROM t1 ORDER BY pk1;
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3
9410 9412 NULL 9412 9410 9412 NULL 9412
9411 9413 17 9413 9411 9413 17 9413
UPDATE t1 SET attr1=1 WHERE pk1=9410; UPDATE t1 SET attr1=1 WHERE pk1=9410;
SELECT * FROM t1; SELECT * FROM t1 ORDER BY pk1;
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3
9410 1 NULL 9412 9410 1 NULL 9412
9411 9413 17 9413 9411 9413 17 9413
...@@ -115,13 +115,17 @@ SELECT * FROM t1; ...@@ -115,13 +115,17 @@ SELECT * FROM t1;
id id2 id id2
1234 7890 1234 7890
DELETE FROM t1; DELETE FROM t1;
INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890); INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890), (3454, 7890);
SELECT * FROM t1; SELECT * FROM t1 ORDER BY id;
id id2 id id2
3454 7890
3456 7890 3456 7890
3456 7890 3456 7890
3456 7890 3456 7890
DELETE FROM t1 WHERE id = 3456; DELETE FROM t1 WHERE id = 3456;
SELECT * FROM t1 ORDER BY id;
id id2
3454 7890
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
pk1 INT NOT NULL PRIMARY KEY, pk1 INT NOT NULL PRIMARY KEY,
......
...@@ -11,6 +11,11 @@ x y ...@@ -11,6 +11,11 @@ x y
2 two 2 two
start transaction; start transaction;
insert into t1 values (3,'three'); insert into t1 values (3,'three');
select * from t1 order by x;
x y
1 one
2 two
3 three
start transaction; start transaction;
select * from t1 order by x; select * from t1 order by x;
x y x y
......
...@@ -29,7 +29,7 @@ col2 varchar(30) not null, ...@@ -29,7 +29,7 @@ col2 varchar(30) not null,
col3 varchar (20) not null, col3 varchar (20) not null,
col4 varchar(4) not null, col4 varchar(4) not null,
col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null, col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
col6 int not null, to_be_deleted int); col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
insert into t1 values (2,4,3,5,"PENDING",1,7); insert into t1 values (2,4,3,5,"PENDING",1,7);
alter table t1 alter table t1
add column col4_5 varchar(20) not null after col4, add column col4_5 varchar(20) not null after col4,
......
...@@ -21,13 +21,13 @@ CREATE TABLE t1 ( ...@@ -21,13 +21,13 @@ CREATE TABLE t1 (
INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413'); INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
SELECT pk1 FROM t1; SELECT pk1 FROM t1 ORDER BY pk1;
SELECT * FROM t1; SELECT * FROM t1 ORDER BY pk1;
SELECT t1.* FROM t1; SELECT t1.* FROM t1 ORDER BY pk1;
# Update on record by primary key # Update on record by primary key
UPDATE t1 SET attr1=1 WHERE pk1=9410; UPDATE t1 SET attr1=1 WHERE pk1=9410;
SELECT * FROM t1; SELECT * FROM t1 ORDER BY pk1;
# Update primary key # Update primary key
UPDATE t1 SET pk1=2 WHERE attr1=1; UPDATE t1 SET pk1=2 WHERE attr1=1;
...@@ -85,9 +85,10 @@ UPDATE t1 SET id=1234 WHERE id2=7890; ...@@ -85,9 +85,10 @@ UPDATE t1 SET id=1234 WHERE id2=7890;
SELECT * FROM t1; SELECT * FROM t1;
DELETE FROM t1; DELETE FROM t1;
INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890); INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890), (3454, 7890);
SELECT * FROM t1; SELECT * FROM t1 ORDER BY id;
DELETE FROM t1 WHERE id = 3456; DELETE FROM t1 WHERE id = 3456;
SELECT * FROM t1 ORDER BY id;
DROP TABLE t1; DROP TABLE t1;
......
...@@ -25,10 +25,13 @@ connection con2; ...@@ -25,10 +25,13 @@ connection con2;
select * from t1 order by x; select * from t1 order by x;
connection con1; connection con1;
start transaction; insert into t1 values (3,'three'); start transaction;
insert into t1 values (3,'three');
select * from t1 order by x;
connection con2; connection con2;
start transaction; select * from t1 order by x; start transaction;
select * from t1 order by x;
connection con1; connection con1;
commit; commit;
......
...@@ -1452,7 +1452,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb, ...@@ -1452,7 +1452,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb,
alterTable(&tSignal, ptr) alterTable(&tSignal, ptr)
: createTable(&tSignal, ptr); : createTable(&tSignal, ptr);
if (haveAutoIncrement) { if (!alter && haveAutoIncrement) {
// if (!ndb.setAutoIncrementValue(impl.m_internalName.c_str(), autoIncrementValue)) { // if (!ndb.setAutoIncrementValue(impl.m_internalName.c_str(), autoIncrementValue)) {
if (!ndb.setAutoIncrementValue(impl.m_externalName.c_str(), autoIncrementValue)) { if (!ndb.setAutoIncrementValue(impl.m_externalName.c_str(), autoIncrementValue)) {
m_error.code = 4336; m_error.code = 4336;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment