List:Commits« Previous MessageNext Message »
From:Nikolay Grishakin Date:June 12 2006 7:09pm
Subject:bk commit into 5.1 tree (ngrishakin:1.2186)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of ndbdev. When ndbdev does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2186 06/06/12 21:09:28 ngrishakin@stripped +4 -0
  ndb_dd_advance test cases

  mysql-test/r/ndb_dd_advance.result
    1.1 06/06/12 21:08:49 ngrishakin@stripped +1095 -0
    ndb_dd_advance test cases

  mysql-test/r/ndb_dd_advance.result
    1.0 06/06/12 21:08:49 ngrishakin@stripped +0 -0
    BitKeeper file /home/ndbdev/ngrishakin/mysql-5.1/mysql-test/r/ndb_dd_advance.result

  mysql-test/r/ndb_dd_advance2.result
    1.1 06/06/12 21:08:28 ngrishakin@stripped +760 -0
    ndb_dd_advance2 test cases

  mysql-test/r/ndb_dd_advance2.result
    1.0 06/06/12 21:08:28 ngrishakin@stripped +0 -0
    BitKeeper file /home/ndbdev/ngrishakin/mysql-5.1/mysql-test/r/ndb_dd_advance2.result

  mysql-test/t/ndb_dd_advance2.test
    1.1 06/06/12 21:07:32 ngrishakin@stripped +726 -0
    ndb_dd_advance2 test cases

  mysql-test/t/ndb_dd_advance2.test
    1.0 06/06/12 21:07:32 ngrishakin@stripped +0 -0
    BitKeeper file /home/ndbdev/ngrishakin/mysql-5.1/mysql-test/t/ndb_dd_advance2.test

  mysql-test/t/ndb_dd_advance.test
    1.1 06/06/12 21:07:17 ngrishakin@stripped +630 -0
    ndb_dd_advance test cases

  mysql-test/t/ndb_dd_advance.test
    1.0 06/06/12 21:07:17 ngrishakin@stripped +0 -0
    BitKeeper file /home/ndbdev/ngrishakin/mysql-5.1/mysql-test/t/ndb_dd_advance.test

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	ngrishakin
# Host:	ndb15.mysql.com
# Root:	/home/ndbdev/ngrishakin/mysql-5.1
--- New file ---
+++ mysql-test/r/ndb_dd_advance.result	06/06/12 21:08:49
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
**** Test Setup Section ****
CREATE LOGFILE GROUP log_group1
ADD UNDOFILE './log_group1/undofile.dat'
INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE table_space1
ADD DATAFILE './table_space1/datafile.dat'
USE LOGFILE GROUP log_group1
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
TABLESPACE table_space1 STORAGE DISK
ENGINE=NDB;
CREATE TABLE test.t2
(pk2 INT NOT NULL PRIMARY KEY, b2 INT NOT NULL, c2 INT NOT NULL)
ENGINE=NDB;

**** Data load for first test ****
INSERT INTO test.t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
INSERT INTO test.t2 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);

*** Test 1 Section Begins ***
SELECT COUNT(*) FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4);
COUNT(*)
1
SELECT * FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4);
pk2	b2	c2	pk1	b	c
4	4	4	4	4	4
SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 WHERE b IN (4);
COUNT(*)
1
SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2 WHERE pk1 IN (75);
COUNT(*)
1
SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
b	c
1	1
2	2
3	3
4	4
5	5
6	6
7	7
8	8
9	9
10	10
11	11
12	12
13	13
14	14
15	15
16	16
17	17
18	18
19	19
20	20
21	21
22	22
23	23
24	24
25	25
26	26
27	27
28	28
29	29
30	30
31	31
32	32
33	33
34	34
35	35
36	36
37	37
38	38
39	39
40	40
41	41
42	42
43	43
44	44
45	45
46	46
47	47
48	48
49	49
50	50
51	51
52	52
53	53
54	54
55	55
56	56
57	57
58	58
59	59
60	60
61	61
62	62
63	63
64	64
65	65
66	66
67	67
68	68
69	69
70	70
71	71
72	72
73	73
74	74
75	75

*** Setup for test 2 ****
DELETE FROM test.t1;
INSERT INTO test.t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45);

**** Test Section 2 ****
SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
b	c
1	1
2	2
3	3
4	4
5	5
6	6
7	7
8	8
9	9
10	10
11	11
12	12
13	13
14	14
15	15
16	16
17	17
18	18
19	19
20	20
21	21
22	22
23	23
24	24
25	25
26	26
27	27
28	28
29	29
30	30
31	31
32	32
33	33
34	34
35	35
36	36
37	37
38	38
39	39
40	40
41	41
42	42
43	43
44	44
45	45
SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2;
COUNT(*)
45
SELECT COUNT(*) FROM test.t1 RIGHT JOIN test.t2 ON b=b2;
COUNT(*)
75
SHOW CREATE TABLE test.t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `pk2` int(11) NOT NULL,
  `b2` int(11) NOT NULL,
  `c2` int(11) NOT NULL,
  PRIMARY KEY (`pk2`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `pk1` int(11) NOT NULL,
  `b` int(11) NOT NULL,
  `c` int(11) NOT NULL,
  PRIMARY KEY (`pk1`)
) TABLESPACE table_space1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t2 TABLESPACE table_space1 STORAGE DISK
ENGINE=NDB;
SHOW CREATE TABLE test.t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `pk2` int(11) NOT NULL,
  `b2` int(11) NOT NULL,
  `c2` int(11) NOT NULL,
  PRIMARY KEY (`pk2`)
) TABLESPACE table_space1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 ENGINE=NDBCLUSTER;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `pk1` int(11) NOT NULL,
  `b` int(11) NOT NULL,
  `c` int(11) NOT NULL,
  PRIMARY KEY (`pk1`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1

DROP TABLE test.t1;
DROP TABLE test.t2;
*** Setup for Test Section 3 ***
CREATE TABLE test.t1 (
usr_id INT unsigned NOT NULL,
uniq_id INT unsigned NOT NULL AUTO_INCREMENT,
start_num INT unsigned NOT NULL DEFAULT 1,
increment INT unsigned NOT NULL DEFAULT 1,
PRIMARY KEY (uniq_id),
INDEX usr_uniq_idx (usr_id, uniq_id),
INDEX uniq_usr_idx (uniq_id, usr_id))
TABLESPACE table_space1 STORAGE DISK
ENGINE=NDB;
CREATE TABLE test.t2 (
id INT unsigned NOT NULL DEFAULT 0,
usr2_id INT unsigned NOT NULL DEFAULT 0,
max INT unsigned NOT NULL DEFAULT 0,
c_amount INT unsigned NOT NULL DEFAULT 0,
d_max INT unsigned NOT NULL DEFAULT 0,
d_num INT unsigned NOT NULL DEFAULT 0,
orig_time INT unsigned NOT NULL DEFAULT 0,
c_time INT unsigned NOT NULL DEFAULT 0,
active ENUM ("no","yes") NOT NULL,
PRIMARY KEY (id,usr2_id),
INDEX id_idx (id),
INDEX usr2_idx (usr2_id))
ENGINE=NDB;
INSERT INTO test.t1 VALUES (3,NULL,0,50),(3,NULL,0,200),(3,NULL,0,25),(3,NULL,0,84676),(3,NULL,0,235),(3,NULL,0,10),(3,NULL,0,3098),(3,NULL,0,2947),(3,NULL,0,8987),(3,NULL,0,8347654),(3,NULL,0,20398),(3,NULL,0,8976),(3,NULL,0,500),(3,NULL,0,198);

**** Test Section 3 ****
SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
test.t2.usr2_id,test.t2.c_amount,test.t2.max
FROM test.t1
LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
WHERE test.t1.uniq_id = 4
ORDER BY test.t2.c_amount;
usr_id	uniq_id	increment	usr2_id	c_amount	max
3	4	84676	NULL	NULL	NULL
INSERT INTO test.t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
INSERT INTO test.t2 VALUES (4,3,3000,6000,0,0,746584,837484,'yes');
INSERT INTO test.t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');
SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
test.t2.usr2_id,test.t2.c_amount,test.t2.max
FROM test.t1
LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
WHERE test.t1.uniq_id = 4
ORDER BY test.t2.c_amount;
usr_id	uniq_id	increment	usr2_id	c_amount	max
3	4	84676	3	6000	3000

DROP TABLE test.t1;
DROP TABLE test.t2;
ALTER TABLESPACE table_space1
DROP DATAFILE './table_space1/datafile.dat'
ENGINE = NDB;
DROP TABLESPACE table_space1
ENGINE = NDB;
DROP LOGFILE GROUP log_group1
ENGINE =NDB;
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLESPACE ts2
ADD DATAFILE './table_space2/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE t1 (a int NOT NULL PRIMARY KEY, b int) 
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
CREATE TABLE t2 (a int NOT NULL PRIMARY KEY, b int) 
ENGINE=NDB;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  `b` int(11) DEFAULT NULL,
  PRIMARY KEY (`a`)
) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
SHOW CREATE TABLE t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `a` int(11) NOT NULL,
  `b` int(11) DEFAULT NULL,
  PRIMARY KEY (`a`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (1,1);
INSERT INTO t1 VALUES (2,2);
SELECT * FROM t1;
a	b
1	1
2	2
INSERT INTO t2(a,b) SELECT * FROM t1;
SELECT * FROM t2;
a	b
1	1
2	2
TRUNCATE t1;
TRUNCATE t2;
INSERT INTO t2 VALUES (3,3);
INSERT INTO t2 VALUES (4,4);
INSERT INTO t1(a,b) SELECT * FROM t2;
SELECT * FROM t1;
a	b
3	3
4	4
DROP TABLE t1, t2;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts1 ENGINE NDB;
ALTER TABLESPACE ts2
DROP DATAFILE './table_space2/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts2 ENGINE NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
DROP DATABASE IF EXISTS test;
CREATE LOGFILE GROUP lg
ADD UNDOFILE './undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts
ADD DATAFILE './datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE DATABASE test;
CREATE TABLE test.t (
a smallint NOT NULL,
b int NOT NULL,
c bigint NOT NULL,
d char(10),
e TEXT,
f VARCHAR(255),
PRIMARY KEY(a)
) TABLESPACE ts STORAGE DISK ENGINE=NDB;
ALTER TABLE test.t ADD INDEX (d), ADD INDEX (f);
SHOW CREATE TABLE test.t;
Table	Create Table
t	CREATE TABLE `t` (
  `a` smallint(6) NOT NULL,
  `b` int(11) NOT NULL,
  `c` bigint(20) NOT NULL,
  `d` char(10) DEFAULT NULL,
  `e` text,
  `f` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`a`),
  KEY `d` (`d`),
  KEY `f` (`f`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
SELECT * FROM test.t order by a;
a	b	c	d	e	f
1	2	3	aaa1	bbb1	ccccc1
2	3	4	aaa2	bbb2	ccccc2
3	4	5	aaa3	bbb3	ccccc3
4	5	6	aaa4	bbb4	ccccc4
5	6	7	aaa5	bbb5	ccccc5
6	7	8	aaa6	bbb6	ccccc6
7	8	9	aaa7	bbb7	ccccc7
8	9	10	aaa8	bbb8	ccccc8
9	10	11	aaa9	bbb9	ccccc9
10	11	12	aaa10	bbb10	ccccc10
11	12	13	aaa11	bbb11	ccccc11
12	13	14	aaa12	bbb12	ccccc12
13	14	15	aaa13	bbb13	ccccc13
14	15	16	aaa14	bbb14	ccccc14
15	16	17	aaa15	bbb15	ccccc15
16	17	18	aaa16	bbb16	ccccc16
17	18	19	aaa17	bbb17	ccccc17
18	19	20	aaa18	bbb18	ccccc18
19	20	21	aaa19	bbb19	ccccc19
20	21	22	aaa20	bbb20	ccccc20
21	22	23	aaa21	bbb21	ccccc21
22	23	24	aaa22	bbb22	ccccc22
23	24	25	aaa23	bbb23	ccccc23
24	25	26	aaa24	bbb24	ccccc24
25	26	27	aaa25	bbb25	ccccc25
26	27	28	aaa26	bbb26	ccccc26
27	28	29	aaa27	bbb27	ccccc27
28	29	30	aaa28	bbb28	ccccc28
29	30	31	aaa29	bbb29	ccccc29
30	31	32	aaa30	bbb30	ccccc30
31	32	33	aaa31	bbb31	ccccc31
32	33	34	aaa32	bbb32	ccccc32
33	34	35	aaa33	bbb33	ccccc33
34	35	36	aaa34	bbb34	ccccc34
35	36	37	aaa35	bbb35	ccccc35
36	37	38	aaa36	bbb36	ccccc36
37	38	39	aaa37	bbb37	ccccc37
38	39	40	aaa38	bbb38	ccccc38
39	40	41	aaa39	bbb39	ccccc39
40	41	42	aaa40	bbb40	ccccc40
41	42	43	aaa41	bbb41	ccccc41
42	43	44	aaa42	bbb42	ccccc42
43	44	45	aaa43	bbb43	ccccc43
44	45	46	aaa44	bbb44	ccccc44
45	46	47	aaa45	bbb45	ccccc45
46	47	48	aaa46	bbb46	ccccc46
47	48	49	aaa47	bbb47	ccccc47
48	49	50	aaa48	bbb48	ccccc48
49	50	51	aaa49	bbb49	ccccc49
50	51	52	aaa50	bbb50	ccccc50
51	52	53	aaa51	bbb51	ccccc51
52	53	54	aaa52	bbb52	ccccc52
53	54	55	aaa53	bbb53	ccccc53
54	55	56	aaa54	bbb54	ccccc54
55	56	57	aaa55	bbb55	ccccc55
56	57	58	aaa56	bbb56	ccccc56
57	58	59	aaa57	bbb57	ccccc57
58	59	60	aaa58	bbb58	ccccc58
59	60	61	aaa59	bbb59	ccccc59
60	61	62	aaa60	bbb60	ccccc60
61	62	63	aaa61	bbb61	ccccc61
62	63	64	aaa62	bbb62	ccccc62
63	64	65	aaa63	bbb63	ccccc63
64	65	66	aaa64	bbb64	ccccc64
65	66	67	aaa65	bbb65	ccccc65
66	67	68	aaa66	bbb66	ccccc66
67	68	69	aaa67	bbb67	ccccc67
68	69	70	aaa68	bbb68	ccccc68
69	70	71	aaa69	bbb69	ccccc69
70	71	72	aaa70	bbb70	ccccc70
71	72	73	aaa71	bbb71	ccccc71
72	73	74	aaa72	bbb72	ccccc72
73	74	75	aaa73	bbb73	ccccc73
74	75	76	aaa74	bbb74	ccccc74
75	76	77	aaa75	bbb75	ccccc75
76	77	78	aaa76	bbb76	ccccc76
77	78	79	aaa77	bbb77	ccccc77
78	79	80	aaa78	bbb78	ccccc78
79	80	81	aaa79	bbb79	ccccc79
80	81	82	aaa80	bbb80	ccccc80
81	82	83	aaa81	bbb81	ccccc81
82	83	84	aaa82	bbb82	ccccc82
83	84	85	aaa83	bbb83	ccccc83
84	85	86	aaa84	bbb84	ccccc84
85	86	87	aaa85	bbb85	ccccc85
86	87	88	aaa86	bbb86	ccccc86
87	88	89	aaa87	bbb87	ccccc87
88	89	90	aaa88	bbb88	ccccc88
89	90	91	aaa89	bbb89	ccccc89
90	91	92	aaa90	bbb90	ccccc90
91	92	93	aaa91	bbb91	ccccc91
92	93	94	aaa92	bbb92	ccccc92
93	94	95	aaa93	bbb93	ccccc93
94	95	96	aaa94	bbb94	ccccc94
95	96	97	aaa95	bbb95	ccccc95
96	97	98	aaa96	bbb96	ccccc96
97	98	99	aaa97	bbb97	ccccc97
98	99	100	aaa98	bbb98	ccccc98
99	100	101	aaa99	bbb99	ccccc99
100	101	102	aaa100	bbb100	ccccc100
DROP TABLE test.t;
USE test;
show tables;
Tables_in_test
t
SELECT * FROM test.t order by a;
a	b	c	d	e	f
1	2	3	aaa1	bbb1	ccccc1
2	3	4	aaa2	bbb2	ccccc2
3	4	5	aaa3	bbb3	ccccc3
4	5	6	aaa4	bbb4	ccccc4
5	6	7	aaa5	bbb5	ccccc5
6	7	8	aaa6	bbb6	ccccc6
7	8	9	aaa7	bbb7	ccccc7
8	9	10	aaa8	bbb8	ccccc8
9	10	11	aaa9	bbb9	ccccc9
10	11	12	aaa10	bbb10	ccccc10
11	12	13	aaa11	bbb11	ccccc11
12	13	14	aaa12	bbb12	ccccc12
13	14	15	aaa13	bbb13	ccccc13
14	15	16	aaa14	bbb14	ccccc14
15	16	17	aaa15	bbb15	ccccc15
16	17	18	aaa16	bbb16	ccccc16
17	18	19	aaa17	bbb17	ccccc17
18	19	20	aaa18	bbb18	ccccc18
19	20	21	aaa19	bbb19	ccccc19
20	21	22	aaa20	bbb20	ccccc20
21	22	23	aaa21	bbb21	ccccc21
22	23	24	aaa22	bbb22	ccccc22
23	24	25	aaa23	bbb23	ccccc23
24	25	26	aaa24	bbb24	ccccc24
25	26	27	aaa25	bbb25	ccccc25
26	27	28	aaa26	bbb26	ccccc26
27	28	29	aaa27	bbb27	ccccc27
28	29	30	aaa28	bbb28	ccccc28
29	30	31	aaa29	bbb29	ccccc29
30	31	32	aaa30	bbb30	ccccc30
31	32	33	aaa31	bbb31	ccccc31
32	33	34	aaa32	bbb32	ccccc32
33	34	35	aaa33	bbb33	ccccc33
34	35	36	aaa34	bbb34	ccccc34
35	36	37	aaa35	bbb35	ccccc35
36	37	38	aaa36	bbb36	ccccc36
37	38	39	aaa37	bbb37	ccccc37
38	39	40	aaa38	bbb38	ccccc38
39	40	41	aaa39	bbb39	ccccc39
40	41	42	aaa40	bbb40	ccccc40
41	42	43	aaa41	bbb41	ccccc41
42	43	44	aaa42	bbb42	ccccc42
43	44	45	aaa43	bbb43	ccccc43
44	45	46	aaa44	bbb44	ccccc44
45	46	47	aaa45	bbb45	ccccc45
46	47	48	aaa46	bbb46	ccccc46
47	48	49	aaa47	bbb47	ccccc47
48	49	50	aaa48	bbb48	ccccc48
49	50	51	aaa49	bbb49	ccccc49
50	51	52	aaa50	bbb50	ccccc50
51	52	53	aaa51	bbb51	ccccc51
52	53	54	aaa52	bbb52	ccccc52
53	54	55	aaa53	bbb53	ccccc53
54	55	56	aaa54	bbb54	ccccc54
55	56	57	aaa55	bbb55	ccccc55
56	57	58	aaa56	bbb56	ccccc56
57	58	59	aaa57	bbb57	ccccc57
58	59	60	aaa58	bbb58	ccccc58
59	60	61	aaa59	bbb59	ccccc59
60	61	62	aaa60	bbb60	ccccc60
61	62	63	aaa61	bbb61	ccccc61
62	63	64	aaa62	bbb62	ccccc62
63	64	65	aaa63	bbb63	ccccc63
64	65	66	aaa64	bbb64	ccccc64
65	66	67	aaa65	bbb65	ccccc65
66	67	68	aaa66	bbb66	ccccc66
67	68	69	aaa67	bbb67	ccccc67
68	69	70	aaa68	bbb68	ccccc68
69	70	71	aaa69	bbb69	ccccc69
70	71	72	aaa70	bbb70	ccccc70
71	72	73	aaa71	bbb71	ccccc71
72	73	74	aaa72	bbb72	ccccc72
73	74	75	aaa73	bbb73	ccccc73
74	75	76	aaa74	bbb74	ccccc74
75	76	77	aaa75	bbb75	ccccc75
76	77	78	aaa76	bbb76	ccccc76
77	78	79	aaa77	bbb77	ccccc77
78	79	80	aaa78	bbb78	ccccc78
79	80	81	aaa79	bbb79	ccccc79
80	81	82	aaa80	bbb80	ccccc80
81	82	83	aaa81	bbb81	ccccc81
82	83	84	aaa82	bbb82	ccccc82
83	84	85	aaa83	bbb83	ccccc83
84	85	86	aaa84	bbb84	ccccc84
85	86	87	aaa85	bbb85	ccccc85
86	87	88	aaa86	bbb86	ccccc86
87	88	89	aaa87	bbb87	ccccc87
88	89	90	aaa88	bbb88	ccccc88
89	90	91	aaa89	bbb89	ccccc89
90	91	92	aaa90	bbb90	ccccc90
91	92	93	aaa91	bbb91	ccccc91
92	93	94	aaa92	bbb92	ccccc92
93	94	95	aaa93	bbb93	ccccc93
94	95	96	aaa94	bbb94	ccccc94
95	96	97	aaa95	bbb95	ccccc95
96	97	98	aaa96	bbb96	ccccc96
97	98	99	aaa97	bbb97	ccccc97
98	99	100	aaa98	bbb98	ccccc98
99	100	101	aaa99	bbb99	ccccc99
100	101	102	aaa100	bbb100	ccccc100
DROP TABLE test.t;
DROP DATABASE test;
ALTER TABLESPACE ts
DROP DATAFILE './datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts ENGINE NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
DROP DATABASE IF EXISTS test;
Warnings:
Note	1008	Can't drop database 'test'; database doesn't exist
DROP table IF EXISTS test.t1;
Warnings:
Note	1051	Unknown table 't1'
DROP table IF EXISTS test.t2;
Warnings:
Note	1051	Unknown table 't2'
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLESPACE ts2
ADD DATAFILE './table_space2/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE DATABASE test;
CREATE TABLE test.t1 (
a1 smallint NOT NULL,
a2 int NOT NULL,
a3 bigint NOT NULL,
a4 char(10),
a5 decimal(5,1),
a6 time,
a7 date,
a8 datetime,
a9 VARCHAR(255),
a10 blob,
PRIMARY KEY(a1)
) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
ALTER TABLE test.t1 ADD INDEX (a2), ADD INDEX (a3), ADD INDEX (a8);
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` smallint(6) NOT NULL,
  `a2` int(11) NOT NULL,
  `a3` bigint(20) NOT NULL,
  `a4` char(10) DEFAULT NULL,
  `a5` decimal(5,1) DEFAULT NULL,
  `a6` time DEFAULT NULL,
  `a7` date DEFAULT NULL,
  `a8` datetime DEFAULT NULL,
  `a9` varchar(255) DEFAULT NULL,
  `a10` blob,
  PRIMARY KEY (`a1`),
  KEY `a2` (`a2`),
  KEY `a3` (`a3`),
  KEY `a8` (`a8`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
CREATE TABLE test.t2 (
b1 smallint NOT NULL,
b2 int NOT NULL,
b3 bigint NOT NULL,
b4 char(10),
b5 decimal(5,1),
b6 time,
b7 date,
b8 datetime,
b9 VARCHAR(255),
b10 blob,
PRIMARY KEY(b1)
) ENGINE=NDB;
ALTER TABLE test.t2 ADD INDEX (b2), ADD INDEX (b3), ADD INDEX (b8);
SHOW CREATE TABLE test.t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `b1` smallint(6) NOT NULL,
  `b2` int(11) NOT NULL,
  `b3` bigint(20) NOT NULL,
  `b4` char(10) DEFAULT NULL,
  `b5` decimal(5,1) DEFAULT NULL,
  `b6` time DEFAULT NULL,
  `b7` date DEFAULT NULL,
  `b8` datetime DEFAULT NULL,
  `b9` varchar(255) DEFAULT NULL,
  `b10` blob,
  PRIMARY KEY (`b1`),
  KEY `b2` (`b2`),
  KEY `b3` (`b3`),
  KEY `b8` (`b8`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
SELECT * FROM test.t1;
a1	a2	a3	a4	a5	a6	a7	a8	a9	a10
19	20	2000000019	aaa19	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb19	binary data
12	13	2000000012	aaa12	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb12	binary data
5	6	2000000005	aaa5	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb5	binary data
14	15	2000000014	aaa14	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb14	binary data
11	12	2000000011	aaa11	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb11	binary data
1	2	2000000001	aaa1	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb1	binary data
13	14	2000000013	aaa13	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb13	binary data
2	3	2000000002	aaa2	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb2	binary data
4	5	2000000004	aaa4	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb4	binary data
8	9	2000000008	aaa8	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb8	binary data
7	8	2000000007	aaa7	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb7	binary data
9	10	2000000009	aaa9	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb9	binary data
3	4	2000000003	aaa3	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb3	binary data
10	11	2000000010	aaa10	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb10	binary data
20	21	2000000020	aaa20	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb20	binary data
18	19	2000000018	aaa18	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb18	binary data
15	16	2000000015	aaa15	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb15	binary data
6	7	2000000006	aaa6	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb6	binary data
17	18	2000000017	aaa17	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb17	binary data
16	17	2000000016	aaa16	34.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb16	binary data
SELECT * FROM test.t2;
b1	b2	b3	b4	b5	b6	b7	b8	b9	b10
19	20	3000000017	aaa17	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb17	binary data
12	13	3000000010	aaa10	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb10	binary data
5	6	3000000003	aaa3	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb3	binary data
21	22	3000000019	aaa19	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb19	binary data
22	23	3000000020	aaa20	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb20	binary data
14	15	3000000012	aaa12	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb12	binary data
11	12	3000000009	aaa9	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb9	binary data
13	14	3000000011	aaa11	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb11	binary data
4	5	3000000002	aaa2	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb2	binary data
8	9	3000000006	aaa6	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb6	binary data
7	8	3000000005	aaa5	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb5	binary data
9	10	3000000007	aaa7	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb7	binary data
3	4	3000000001	aaa1	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb1	binary data
10	11	3000000008	aaa8	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb8	binary data
20	21	3000000018	aaa18	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb18	binary data
18	19	3000000016	aaa16	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb16	binary data
15	16	3000000013	aaa13	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb13	binary data
6	7	3000000004	aaa4	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb4	binary data
17	18	3000000015	aaa15	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb15	binary data
16	17	3000000014	aaa14	35.2	04:03:02	2006-01-01	1971-05-28 16:55:03	bbbbbbbbbbbbb14	binary data
SELECT COUNT(a1), a1, COUNT(a1)*a1 FROM test.t1 GROUP BY a1;
COUNT(a1)	a1	COUNT(a1)*a1
1	1	1
1	2	2
1	3	3
1	4	4
1	5	5
1	6	6
1	7	7
1	8	8
1	9	9
1	10	10
1	11	11
1	12	12
1	13	13
1	14	14
1	15	15
1	16	16
1	17	17
1	18	18
1	19	19
1	20	20
SELECT COUNT(a2), (a2+1), COUNT(a2)*(a2+0) FROM test.t1 GROUP BY a2;
COUNT(a2)	(a2+1)	COUNT(a2)*(a2+0)
1	3	2
1	4	3
1	5	4
1	6	5
1	7	6
1	8	7
1	9	8
1	10	9
1	11	10
1	12	11
1	13	12
1	14	13
1	15	14
1	16	15
1	17	16
1	18	17
1	19	18
1	20	19
1	21	20
1	22	21
DROP TABLE test.t1;
DROP TABLE test.t2;
create table test.t1 (a int not null,b char(5), c text) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
Warnings:
Error	1465	Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
insert into test.t1 (a) values (1),(2),(3),(4),(1),(2),(3),(4);
select distinct a from test.t1 group by b,a having a > 2 order by a desc;
a
4
3
select distinct a,c from test.t1 group by b,c,a having a > 2 order by a desc;
a	c
4	NULL
3	NULL
select distinct a from test.t1 group by b,a having a > 2 order by a asc;
a
3
4
select distinct a,c from test.t1 group by b,c,a having a > 2 order by a asc;
a	c
3	NULL
4	NULL
drop table test.t1;
create table test.t1 (a char(1), key(a)) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
insert into test.t1 values('1'),('1'),('1'),('2'),('2'),('3'),('3');
select * from test.t1 where a >= '1';
a
1
2
3
1
1
2
3
select distinct a from test.t1 order by a desc;
a
3
2
1
select distinct a from test.t1 where a >= '1' order by a desc;
a
3
2
1
select distinct a from test.t1 where a >= '1' order by a asc;
a
1
2
3
drop table test.t1;
CREATE TABLE test.t1 (email varchar(50), infoID BIGINT, dateentered DATETIME) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
CREATE TABLE test.t2 (infoID BIGINT, shipcode varchar(10)) ENGINE=NDB;
INSERT INTO test.t1 (email, infoID, dateentered) VALUES
('test1@stripped', 1, '2002-07-30 22:56:38'),
('test1@stripped', 1, '2002-07-27 22:58:16'),
('test2@stripped', 1, '2002-06-19 15:22:19'),
('test2@stripped', 2, '2002-06-18 14:23:47'),
('test3@stripped', 1, '2002-05-19 22:17:32');
INSERT INTO test.t2(infoID, shipcode) VALUES
(1, 'Z001'),
(2, 'R002');
SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2 WHERE t1.infoID=t2.infoID;
email	shipcode
test1@stripped	Z001
test2@stripped	R002
test2@stripped	Z001
test3@stripped	Z001
SELECT DISTINCTROW email FROM test.t1 ORDER BY dateentered DESC;
email
test1@stripped
test2@stripped
test3@stripped
SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2 WHERE test.t1.infoID=test.t2.infoID ORDER BY dateentered DESC;
email	shipcode
test1@stripped	Z001
test2@stripped	Z001
test2@stripped	R002
test3@stripped	Z001
drop table test.t1,test.t2;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts1 ENGINE NDB;
ALTER TABLESPACE ts2
DROP DATAFILE './table_space2/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts2 ENGINE NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
DROP TABLE IF EXISTS test.t;
Warnings:
Note	1051	Unknown table 't'
create table test.t (f1 varchar(50) primary key, f2 text,f3 int) engine=NDB;
insert into test.t (f1,f2,f3)VALUES("111111","aaaaaa",1);
insert into test.t (f1,f2,f3)VALUES("222222","bbbbbb",2);
select * from test.t order by f1;
f1	f2	f3
111111	aaaaaa	1
222222	bbbbbb	2
select f1,f2 from test.t order by f2;
f1	f2
111111	aaaaaa
222222	bbbbbb
select f2 from test.t order by f2;
f2
aaaaaa
bbbbbb
select f1,f2 from test.t order by f1;
f1	f2
111111	aaaaaa
222222	bbbbbb
drop table test.t;
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts
ADD DATAFILE './table_space/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 INT, a2 BLOB, a3 TEXT) ENGINE=InnoDB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) DEFAULT NULL,
  `a2` blob,
  `a3` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
Warnings:
Error	1465	Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) DEFAULT NULL,
  `a2` blob,
  `a3` text
) TABLESPACE ts STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
DROP TABLE test.t1;
CREATE TABLE test.t1 (a1 INT, a2 BLOB, a3 TEXT) ENGINE=MyISAM;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) DEFAULT NULL,
  `a2` blob,
  `a3` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
Warnings:
Error	1465	Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) DEFAULT NULL,
  `a2` blob,
  `a3` text
) TABLESPACE ts STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
DROP TABLE test.t1;
CREATE TABLE test.t1 (a1 INT PRIMARY KEY, a2 BLOB, a3 TEXT) TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` blob,
  `a3` text,
  PRIMARY KEY (`a1`)
) TABLESPACE ts STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 ENGINE=InnoDB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` blob,
  `a3` text,
  PRIMARY KEY (`a1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE test.t1;
CREATE TABLE test.t1 (a1 INT, a2 BLOB, a3 TEXT) TABLESPACE ts STORAGE DISK ENGINE=NDB;
Warnings:
Error	1465	Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) DEFAULT NULL,
  `a2` blob,
  `a3` text
) TABLESPACE ts STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 ENGINE=MyISAM;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) DEFAULT NULL,
  `a2` blob,
  `a3` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE test.t1;
CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;
ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE, ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME, ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` float DEFAULT NULL,
  `a3` double DEFAULT NULL,
  `a4` bit(1) DEFAULT NULL,
  `a5` tinyint(4) DEFAULT NULL,
  `a6` bigint(20) DEFAULT NULL,
  `a7` date DEFAULT NULL,
  `a8` time DEFAULT NULL,
  `a9` datetime DEFAULT NULL,
  `a10` tinytext,
  `a11` mediumtext,
  `a12` longtext,
  `a13` text,
  `a14` blob,
  PRIMARY KEY (`a1`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 ADD INDEX (a2), ADD INDEX (a3), ADD INDEX (a5), ADD INDEX (a6),
ADD INDEX (a7), ADD INDEX (a8);
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` float DEFAULT NULL,
  `a3` double DEFAULT NULL,
  `a4` bit(1) DEFAULT NULL,
  `a5` tinyint(4) DEFAULT NULL,
  `a6` bigint(20) DEFAULT NULL,
  `a7` date DEFAULT NULL,
  `a8` time DEFAULT NULL,
  `a9` datetime DEFAULT NULL,
  `a10` tinytext,
  `a11` mediumtext,
  `a12` longtext,
  `a13` text,
  `a14` blob,
  PRIMARY KEY (`a1`),
  KEY `a2` (`a2`),
  KEY `a3` (`a3`),
  KEY `a5` (`a5`),
  KEY `a6` (`a6`),
  KEY `a7` (`a7`),
  KEY `a8` (`a8`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
DROP TABLE test.t1;
CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;
ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE, ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME, ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` float DEFAULT NULL,
  `a3` double DEFAULT NULL,
  `a4` bit(1) DEFAULT NULL,
  `a5` tinyint(4) DEFAULT NULL,
  `a6` bigint(20) DEFAULT NULL,
  `a7` date DEFAULT NULL,
  `a8` time DEFAULT NULL,
  `a9` datetime DEFAULT NULL,
  `a10` tinytext,
  `a11` mediumtext,
  `a12` longtext,
  `a13` text,
  `a14` blob,
  PRIMARY KEY (`a1`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 DROP a14;
ALTER TABLE test.t1 DROP a13;
ALTER TABLE test.t1 DROP a12;
ALTER TABLE test.t1 DROP a11;
ALTER TABLE test.t1 DROP a10;
ALTER TABLE test.t1 DROP a9;
ALTER TABLE test.t1 DROP a8;
ALTER TABLE test.t1 DROP a7;
ALTER TABLE test.t1 DROP a6;
ALTER TABLE test.t1 DROP PRIMARY KEY;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` float DEFAULT NULL,
  `a3` double DEFAULT NULL,
  `a4` bit(1) DEFAULT NULL,
  `a5` tinyint(4) DEFAULT NULL
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
DROP TABLE test.t1;
ALTER TABLESPACE ts
DROP DATAFILE './table_space/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts ENGINE NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;

--- New file ---
+++ mysql-test/r/ndb_dd_advance2.result	06/06/12 21:08:28
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
DROP DATABASE IF EXISTS test;
*****
**** Copy data from table in one table space to table in different table space
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLESPACE ts2
ADD DATAFILE './table_space2/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE DATABASE test;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) 
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) 
TABLESPACE ts2 STORAGE DISK  ENGINE=NDB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` varchar(256) DEFAULT NULL,
  `a3` blob,
  PRIMARY KEY (`a1`)
) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
SHOW CREATE TABLE test.t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `a1` int(11) NOT NULL,
  `a2` varchar(256) DEFAULT NULL,
  `a3` blob,
  PRIMARY KEY (`a1`)
) TABLESPACE ts2 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
INSERT INTO test.t1 VALUES (1,'111111','aaaaaaaa');
INSERT INTO test.t1 VALUES (2,'222222','bbbbbbbb');
SELECT * FROM test.t1;
a1	a2	a3
1	111111	aaaaaaaa
2	222222	bbbbbbbb
INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
SELECT * FROM test.t2;
a1	a2	a3
1	111111	aaaaaaaa
2	222222	bbbbbbbb
DROP TABLE test.t1, test.t2;
set @vc1 = repeat('a', 200);
set @vc2 = repeat('b', 500);
set @vc3 = repeat('c', 1000);
set @vc4 = repeat('d', 4000);
set @x0 = '01234567012345670123456701234567';
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
set @b1 = 'b1';
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@x0);
set @d1 = 'dd1';
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @b2 = 'b2';
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @d2 = 'dd2';
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
select length(@x0),length(@b1),length(@d1) from dual;
length(@x0)	length(@b1)	length(@d1)
256	2256	3000
select length(@x0),length(@b2),length(@d2) from dual;
length(@x0)	length(@b2)	length(@d2)
256	20000	30000
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB) 
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB) 
TABLESPACE ts2 STORAGE DISK  ENGINE=NDB;
SHOW CREATE TABLE test.t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a1` int(11) NOT NULL,
  `a2` varchar(5000) DEFAULT NULL,
  `a3` blob,
  PRIMARY KEY (`a1`)
) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
SHOW CREATE TABLE test.t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `a1` int(11) NOT NULL,
  `a2` varchar(5000) DEFAULT NULL,
  `a3` blob,
  PRIMARY KEY (`a1`)
) TABLESPACE ts2 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1
INSERT INTO test.t1 VALUES (1,@vc1,@d1);
INSERT INTO test.t1 VALUES (2,@vc2,@b1);
INSERT INTO test.t1 VALUES (3,@vc3,@d2);
INSERT INTO test.t1 VALUES (4,@vc4,@b2);
SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
FROM test.t1 WHERE a1=1;
a1	length(a2)	substr(a2,180,2)	length(a3)	substr(a3,1+3*900,3)
1	200	aa	3000	dd1
SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
FROM test.t1 where a1=2;
a1	length(a2)	substr(a2,480,2)	length(a3)	substr(a3,1+2*900,3)
2	500	bb	2256	b1b
INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
FROM test.t2 WHERE a1=1;
a1	length(a2)	substr(a2,180,2)	length(a3)	substr(a3,1+3*900,3)
1	200	aa	3000	dd1
SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
FROM test.t2 where a1=2;
a1	length(a2)	substr(a2,480,2)	length(a3)	substr(a3,1+2*900,3)
2	500	bb	2256	b1b
DROP TABLE test.t1, test.t2;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts1 ENGINE NDB;
ALTER TABLESPACE ts2
DROP DATAFILE './table_space2/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts2 ENGINE NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
**** Insert, Update, Delete from NDB table with BLOB fields
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
set @vc1 = repeat('a', 200);
set @vc2 = repeat('b', 500);
set @vc3 = repeat('c', 1000);
set @vc4 = repeat('d', 4000);
set @vc5 = repeat('d', 5000);
set @bb1 = repeat('1', 2000);
set @bb2 = repeat('2', 5000);
set @bb3 = repeat('3', 10000);
set @bb4 = repeat('4', 40000);
set @bb5 = repeat('5', 50000);
select length(@vc1),length(@vc2),length(@vc3),length(@vc4),length(@vc5) from dual;
length(@vc1)	length(@vc2)	length(@vc3)	length(@vc4)	length(@vc5)
200	500	1000	4000	5000
select length(@bb1),length(@bb2),length(@bb3),length(@bb4),length(@bb5) from dual;
length(@bb1)	length(@bb2)	length(@bb3)	length(@bb4)	length(@bb5)
2000	5000	10000	40000	50000
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB) 
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
INSERT INTO test.t1 VALUES (1,@vc1,@bb1);
INSERT INTO test.t1 VALUES (2,@vc2,@bb2);
INSERT INTO test.t1 VALUES (3,@vc3,@bb3);
INSERT INTO test.t1 VALUES (4,@vc4,@bb4);
INSERT INTO test.t1 VALUES (5,@vc5,@bb5);
UPDATE test.t1 SET a2=@vc5, a3=@bb5 WHERE a1=1;
SELECT a1,length(a2),substr(a2,4998,2),length(a3),substr(a3,49997,3)
FROM test.t1 WHERE a1=1;
a1	length(a2)	substr(a2,4998,2)	length(a3)	substr(a3,49997,3)
1	5000	dd	50000	555
UPDATE test.t1 SET a2=@vc4, a3=@bb4 WHERE a1=2;
SELECT a1,length(a2),substr(a2,3998,2),length(a3),substr(a3,39997,3)
FROM test.t1 WHERE a1=2;
a1	length(a2)	substr(a2,3998,2)	length(a3)	substr(a3,39997,3)
2	4000	dd	40000	444
UPDATE test.t1 SET a2=@vc2, a3=@bb2 WHERE a1=3;
SELECT a1,length(a2),substr(a2,498,2),length(a3),substr(a3,3997,3)
FROM test.t1 WHERE a1=3;
a1	length(a2)	substr(a2,498,2)	length(a3)	substr(a3,3997,3)
3	500	bb	5000	222
UPDATE test.t1 SET a2=@vc3, a3=@bb3 WHERE a1=4;
SELECT a1,length(a2),substr(a2,998,2),length(a3),substr(a3,9997,3)
FROM test.t1 WHERE a1=4;
a1	length(a2)	substr(a2,998,2)	length(a3)	substr(a3,9997,3)
4	1000	cc	10000	333
UPDATE test.t1 SET a2=@vc1, a3=@bb1 WHERE a1=5;
SELECT a1,length(a2),substr(a2,198,2),length(a3),substr(a3,1997,3)
FROM test.t1 WHERE a1=5;
a1	length(a2)	substr(a2,198,2)	length(a3)	substr(a3,1997,3)
5	200	aa	2000	111
DELETE FROM test.t1 where a1=5;
SELECT count(*) from test.t1;
count(*)
4
DELETE FROM test.t1 where a1=4;
SELECT count(*) from test.t1;
count(*)
3
DELETE FROM test.t1 where a1=3;
SELECT count(*) from test.t1;
count(*)
2
DELETE FROM test.t1 where a1=2;
SELECT count(*) from test.t1;
count(*)
1
DELETE FROM test.t1 where a1=1;
SELECT count(*) from test.t1;
count(*)
0
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
DROP TABLESPACE ts1 ENGINE NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
**** Create Stored procedures that use disk based tables
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB//
CREATE PROCEDURE test.sp1()
BEGIN
INSERT INTO test.t1 values (1,'111111','aaaaaaaa');
END//
CALL test.sp1();
SELECT * FROM test.t1;
a1	a2	a3
1	111111	aaaaaaaa
CREATE PROCEDURE test.sp2(n INT, vc VARCHAR(256), blb BLOB)
BEGIN
UPDATE test.t1 SET a2=vc, a3=blb where a1=n;
END//
CALL test.sp2(1,'222222','bbbbbbbb');
SELECT * FROM test.t1;
a1	a2	a3
1	222222	bbbbbbbb
DELETE FROM test.t1;
DROP PROCEDURE test.sp1;
DROP PROCEDURE test.sp2;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create function that operate on disk based tables
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
CREATE FUNCTION test.fn1(n INT) RETURNS INT
BEGIN
DECLARE v INT;
SELECT a1 INTO v FROM test.t1 WHERE a1=n;
RETURN v;
END//
CREATE FUNCTION test.fn2(n INT, blb BLOB) RETURNS BLOB
BEGIN
DECLARE vv BLOB;
UPDATE test.t1 SET a3=blb where a1=n;
SELECT a3 INTO vv FROM test.t1 WHERE a1=n;
RETURN vv;
END//
SELECT test.fn1(10) FROM DUAL;
test.fn1(10)
10
SELECT test.fn2(50, 'new BLOB content') FROM DUAL;
test.fn2(50, 'new BLOB content')
new BLOB content
DELETE FROM test.t1;
DROP FUNCTION test.fn1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create triggers that operate on disk based tables
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
CREATE TRIGGER test.trg1 BEFORE INSERT ON test.t1 FOR EACH ROW 
BEGIN 
if isnull(new.a2) then
set new.a2:= 'trg1 works on a2 field';
end if;
if isnull(new.a3) then
set new.a3:= 'trg1 works on a3 field';
end if;
end//
insert into test.t1 (a1) values (1)//
insert into test.t1 (a1,a2) values (2, 'ccccccc')//
select * from test.t1//
a1	a2	a3
1	trg1 works on a2 field	trg1 works on a3 field
2	ccccccc	trg1 works on a3 field
DELETE FROM test.t1;
DROP TRIGGER test.trg1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create, update views that operate on disk based tables
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
CREATE VIEW test.v1 AS SELECT * FROM test.t1;
SELECT * FROM test.v1 order by a1;
a1	a2	a3
1	aaaaa1	bbbbb1
2	aaaaa2	bbbbb2
3	aaaaa3	bbbbb3
4	aaaaa4	bbbbb4
5	aaaaa5	bbbbb5
6	aaaaa6	bbbbb6
7	aaaaa7	bbbbb7
8	aaaaa8	bbbbb8
9	aaaaa9	bbbbb9
10	aaaaa10	bbbbb10
CHECK TABLE test.v1, test.t1;
Table	Op	Msg_type	Msg_text
test.v1	check	status	OK
test.t1	check	note	The storage engine for the table doesn't support check
UPDATE test.v1 SET a2='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' WHERE a1=5;
SELECT * FROM test.v1 order by a1;
a1	a2	a3
1	aaaaa1	bbbbb1
2	aaaaa2	bbbbb2
3	aaaaa3	bbbbb3
4	aaaaa4	bbbbb4
5	zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz	bbbbb5
6	aaaaa6	bbbbb6
7	aaaaa7	bbbbb7
8	aaaaa8	bbbbb8
9	aaaaa9	bbbbb9
10	aaaaa10	bbbbb10
DROP VIEW test.v1;
DELETE FROM test.t1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create and use disk based table that use auto inc
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
SELECT * FROM test.t1 ORDER BY a1;
a1	a2	a3
1	aaaaa10	bbbbb10
2	aaaaa9	bbbbb9
3	aaaaa8	bbbbb8
4	aaaaa7	bbbbb7
5	aaaaa6	bbbbb6
6	aaaaa5	bbbbb5
7	aaaaa4	bbbbb4
8	aaaaa3	bbbbb3
9	aaaaa2	bbbbb2
10	aaaaa1	bbbbb1
DELETE FROM test.t1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create test that use transaction (commit, rollback)
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
SET AUTOCOMMIT=0;
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
COMMIT;
SELECT * FROM test.t1 ORDER BY a1;
a1	a2	a3
1	aaaaa1	bbbbb1
INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
ROLLBACK;
SELECT * FROM test.t1 ORDER BY a1;
a1	a2	a3
1	aaaaa1	bbbbb1
DELETE FROM test.t1;
DROP TABLE test.t1;
SET AUTOCOMMIT=1;
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
START TRANSACTION;
INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
COMMIT;
SELECT * FROM test.t1 ORDER BY a1;
a1	a2	a3
1	aaaaa1	bbbbb1
START TRANSACTION;
INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
ROLLBACK;
SELECT * FROM test.t1 ORDER BY a1;
a1	a2	a3
1	aaaaa1	bbbbb1
DELETE FROM test.t1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create test that uses locks
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
drop table if exists test.t1;
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
LOCK TABLES test.t1 write;
INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
SELECT * FROM test.t1 ORDER BY a1;
a1	a2	a3
1	aaaaa1	bbbbb1
2	aaaaa2	bbbbb2
SELECT * FROM test.t1;
a1	a2	a3
1	aaaaa1	bbbbb1
2	aaaaa2	bbbbb2
INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
UNLOCK TABLES;
INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
SELECT * FROM test.t1;
a1	a2	a3
3	aaaaa3	bbbbb3
1	aaaaa1	bbbbb1
2	aaaaa2	bbbbb2
4	aaaaa3	bbbbb3
DELETE FROM test.t1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create large disk base table, do random queries, check cache hits
*****
set @vc1 = repeat('a', 200);
SELECT @vc1 FROM DUAL;
@vc1
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
set @vc2 = repeat('b', 500);
set @vc3 = repeat('b', 998);
set @x0 = '01234567012345670123456701234567';
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
set @b1 = 'b1';
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@x0);
set @d1 = 'dd1';
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @b2 = 'b2';
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @d2 = 'dd2';
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
select length(@x0),length(@b1),length(@d1) from dual;
length(@x0)	length(@b1)	length(@d1)
256	2256	3000
select length(@x0),length(@b2),length(@d2) from dual;
length(@x0)	length(@b2)	length(@d2)
256	20000	30000
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(1000), a3 BLOB)
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
INSERT INTO test.t1 values(1,@vc1,@d1);
INSERT INTO test.t1 values(2,@vc2,@d2);
explain SELECT * from test.t1 WHERE a1 = 1;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
FROM test.t1 WHERE a1=1;
a1	length(a2)	substr(a2,1+2*900,2)	length(a3)	substr(a3,1+3*900,3)
1	200		3000	dd1
SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
FROM test.t1 where a1=2;
a1	length(a2)	substr(a2,1+2*9000,2)	length(a3)	substr(a3,1+3*9000,3)
2	500		30000	dd2
UPDATE test.t1 set a2=@vc2,a3=@d2 where a1=1;
UPDATE test.t1 set a2=@vc1,a3=@d1 where a1=2;
SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
FROM test.t1 where a1=1;
a1	length(a2)	substr(a2,1+2*9000,2)	length(a3)	substr(a3,1+3*9000,3)
1	500		30000	dd2
SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
FROM test.t1 where a1=2;
a1	length(a2)	substr(a2,1+2*900,2)	length(a3)	substr(a3,1+3*900,3)
2	200		3000	dd1
SHOW VARIABLES LIKE 'have_query_cache';
Variable_name	Value
have_query_cache	YES
SHOW STATUS LIKE 'Qcache%';
Variable_name	Value
Qcache_free_blocks	0
Qcache_free_memory	0
Qcache_hits	0
Qcache_inserts	0
Qcache_lowmem_prunes	0
Qcache_not_cached	0
Qcache_queries_in_cache	0
Qcache_total_blocks	0
DELETE FROM test.t1;
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;
*****
***** Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(), USER(), TRUNCATE
*****
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts1
ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB, a4 DATE, a5 CHAR(250))
TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
SELECT COUNT(*) from test.t1;
COUNT(*)
100
SELECT SUM(a1) from test.t1;
SUM(a1)
5050
SELECT MIN(a1) from test.t1;
MIN(a1)
1
SELECT MAX(a1) from test.t1;
MAX(a1)
100
SELECT a5 from test.t1 where a1=50;
a5
root@localhost
SELECT * from test.t1;
a1	a2	a3	a4	a5
80	aaaaaaaaaaaaaaaa80	bbbbbbbbbbbbbbbbbb80	2006-06-12	root@localhost
92	aaaaaaaaaaaaaaaa92	bbbbbbbbbbbbbbbbbb92	2006-06-12	root@localhost
95	aaaaaaaaaaaaaaaa95	bbbbbbbbbbbbbbbbbb95	2006-06-12	root@localhost
7	aaaaaaaaaaaaaaaa7	bbbbbbbbbbbbbbbbbb7	2006-06-12	root@localhost
28	aaaaaaaaaaaaaaaa28	bbbbbbbbbbbbbbbbbb28	2006-06-12	root@localhost
9	aaaaaaaaaaaaaaaa9	bbbbbbbbbbbbbbbbbb9	2006-06-12	root@localhost
3	aaaaaaaaaaaaaaaa3	bbbbbbbbbbbbbbbbbb3	2006-06-12	root@localhost
87	aaaaaaaaaaaaaaaa87	bbbbbbbbbbbbbbbbbb87	2006-06-12	root@localhost
60	aaaaaaaaaaaaaaaa60	bbbbbbbbbbbbbbbbbb60	2006-06-12	root@localhost
43	aaaaaaaaaaaaaaaa43	bbbbbbbbbbbbbbbbbb43	2006-06-12	root@localhost
77	aaaaaaaaaaaaaaaa77	bbbbbbbbbbbbbbbbbb77	2006-06-12	root@localhost
73	aaaaaaaaaaaaaaaa73	bbbbbbbbbbbbbbbbbb73	2006-06-12	root@localhost
76	aaaaaaaaaaaaaaaa76	bbbbbbbbbbbbbbbbbb76	2006-06-12	root@localhost
10	aaaaaaaaaaaaaaaa10	bbbbbbbbbbbbbbbbbb10	2006-06-12	root@localhost
85	aaaaaaaaaaaaaaaa85	bbbbbbbbbbbbbbbbbb85	2006-06-12	root@localhost
70	aaaaaaaaaaaaaaaa70	bbbbbbbbbbbbbbbbbb70	2006-06-12	root@localhost
41	aaaaaaaaaaaaaaaa41	bbbbbbbbbbbbbbbbbb41	2006-06-12	root@localhost
20	aaaaaaaaaaaaaaaa20	bbbbbbbbbbbbbbbbbb20	2006-06-12	root@localhost
18	aaaaaaaaaaaaaaaa18	bbbbbbbbbbbbbbbbbb18	2006-06-12	root@localhost
82	aaaaaaaaaaaaaaaa82	bbbbbbbbbbbbbbbbbb82	2006-06-12	root@localhost
57	aaaaaaaaaaaaaaaa57	bbbbbbbbbbbbbbbbbb57	2006-06-12	root@localhost
53	aaaaaaaaaaaaaaaa53	bbbbbbbbbbbbbbbbbb53	2006-06-12	root@localhost
52	aaaaaaaaaaaaaaaa52	bbbbbbbbbbbbbbbbbb52	2006-06-12	root@localhost
79	aaaaaaaaaaaaaaaa79	bbbbbbbbbbbbbbbbbb79	2006-06-12	root@localhost
72	aaaaaaaaaaaaaaaa72	bbbbbbbbbbbbbbbbbb72	2006-06-12	root@localhost
100	aaaaaaaaaaaaaaaa100	bbbbbbbbbbbbbbbbbb100	2006-06-12	root@localhost
91	aaaaaaaaaaaaaaaa91	bbbbbbbbbbbbbbbbbb91	2006-06-12	root@localhost
15	aaaaaaaaaaaaaaaa15	bbbbbbbbbbbbbbbbbb15	2006-06-12	root@localhost
31	aaaaaaaaaaaaaaaa31	bbbbbbbbbbbbbbbbbb31	2006-06-12	root@localhost
36	aaaaaaaaaaaaaaaa36	bbbbbbbbbbbbbbbbbb36	2006-06-12	root@localhost
34	aaaaaaaaaaaaaaaa34	bbbbbbbbbbbbbbbbbb34	2006-06-12	root@localhost
62	aaaaaaaaaaaaaaaa62	bbbbbbbbbbbbbbbbbb62	2006-06-12	root@localhost
6	aaaaaaaaaaaaaaaa6	bbbbbbbbbbbbbbbbbb6	2006-06-12	root@localhost
23	aaaaaaaaaaaaaaaa23	bbbbbbbbbbbbbbbbbb23	2006-06-12	root@localhost
50	aaaaaaaaaaaaaaaa50	bbbbbbbbbbbbbbbbbb50	2006-06-12	root@localhost
63	aaaaaaaaaaaaaaaa63	bbbbbbbbbbbbbbbbbb63	2006-06-12	root@localhost
93	aaaaaaaaaaaaaaaa93	bbbbbbbbbbbbbbbbbb93	2006-06-12	root@localhost
35	aaaaaaaaaaaaaaaa35	bbbbbbbbbbbbbbbbbb35	2006-06-12	root@localhost
19	aaaaaaaaaaaaaaaa19	bbbbbbbbbbbbbbbbbb19	2006-06-12	root@localhost
84	aaaaaaaaaaaaaaaa84	bbbbbbbbbbbbbbbbbb84	2006-06-12	root@localhost
12	aaaaaaaaaaaaaaaa12	bbbbbbbbbbbbbbbbbb12	2006-06-12	root@localhost
88	aaaaaaaaaaaaaaaa88	bbbbbbbbbbbbbbbbbb88	2006-06-12	root@localhost
5	aaaaaaaaaaaaaaaa5	bbbbbbbbbbbbbbbbbb5	2006-06-12	root@localhost
51	aaaaaaaaaaaaaaaa51	bbbbbbbbbbbbbbbbbb51	2006-06-12	root@localhost
97	aaaaaaaaaaaaaaaa97	bbbbbbbbbbbbbbbbbb97	2006-06-12	root@localhost
54	aaaaaaaaaaaaaaaa54	bbbbbbbbbbbbbbbbbb54	2006-06-12	root@localhost
59	aaaaaaaaaaaaaaaa59	bbbbbbbbbbbbbbbbbb59	2006-06-12	root@localhost
27	aaaaaaaaaaaaaaaa27	bbbbbbbbbbbbbbbbbb27	2006-06-12	root@localhost
32	aaaaaaaaaaaaaaaa32	bbbbbbbbbbbbbbbbbb32	2006-06-12	root@localhost
21	aaaaaaaaaaaaaaaa21	bbbbbbbbbbbbbbbbbb21	2006-06-12	root@localhost
94	aaaaaaaaaaaaaaaa94	bbbbbbbbbbbbbbbbbb94	2006-06-12	root@localhost
61	aaaaaaaaaaaaaaaa61	bbbbbbbbbbbbbbbbbb61	2006-06-12	root@localhost
83	aaaaaaaaaaaaaaaa83	bbbbbbbbbbbbbbbbbb83	2006-06-12	root@localhost
39	aaaaaaaaaaaaaaaa39	bbbbbbbbbbbbbbbbbb39	2006-06-12	root@localhost
22	aaaaaaaaaaaaaaaa22	bbbbbbbbbbbbbbbbbb22	2006-06-12	root@localhost
14	aaaaaaaaaaaaaaaa14	bbbbbbbbbbbbbbbbbb14	2006-06-12	root@localhost
86	aaaaaaaaaaaaaaaa86	bbbbbbbbbbbbbbbbbb86	2006-06-12	root@localhost
66	aaaaaaaaaaaaaaaa66	bbbbbbbbbbbbbbbbbb66	2006-06-12	root@localhost
11	aaaaaaaaaaaaaaaa11	bbbbbbbbbbbbbbbbbb11	2006-06-12	root@localhost
74	aaaaaaaaaaaaaaaa74	bbbbbbbbbbbbbbbbbb74	2006-06-12	root@localhost
48	aaaaaaaaaaaaaaaa48	bbbbbbbbbbbbbbbbbb48	2006-06-12	root@localhost
44	aaaaaaaaaaaaaaaa44	bbbbbbbbbbbbbbbbbb44	2006-06-12	root@localhost
75	aaaaaaaaaaaaaaaa75	bbbbbbbbbbbbbbbbbb75	2006-06-12	root@localhost
42	aaaaaaaaaaaaaaaa42	bbbbbbbbbbbbbbbbbb42	2006-06-12	root@localhost
64	aaaaaaaaaaaaaaaa64	bbbbbbbbbbbbbbbbbb64	2006-06-12	root@localhost
1	aaaaaaaaaaaaaaaa1	bbbbbbbbbbbbbbbbbb1	2006-06-12	root@localhost
68	aaaaaaaaaaaaaaaa68	bbbbbbbbbbbbbbbbbb68	2006-06-12	root@localhost
25	aaaaaaaaaaaaaaaa25	bbbbbbbbbbbbbbbbbb25	2006-06-12	root@localhost
13	aaaaaaaaaaaaaaaa13	bbbbbbbbbbbbbbbbbb13	2006-06-12	root@localhost
56	aaaaaaaaaaaaaaaa56	bbbbbbbbbbbbbbbbbb56	2006-06-12	root@localhost
40	aaaaaaaaaaaaaaaa40	bbbbbbbbbbbbbbbbbb40	2006-06-12	root@localhost
81	aaaaaaaaaaaaaaaa81	bbbbbbbbbbbbbbbbbb81	2006-06-12	root@localhost
46	aaaaaaaaaaaaaaaa46	bbbbbbbbbbbbbbbbbb46	2006-06-12	root@localhost
89	aaaaaaaaaaaaaaaa89	bbbbbbbbbbbbbbbbbb89	2006-06-12	root@localhost
55	aaaaaaaaaaaaaaaa55	bbbbbbbbbbbbbbbbbb55	2006-06-12	root@localhost
47	aaaaaaaaaaaaaaaa47	bbbbbbbbbbbbbbbbbb47	2006-06-12	root@localhost
26	aaaaaaaaaaaaaaaa26	bbbbbbbbbbbbbbbbbb26	2006-06-12	root@localhost
17	aaaaaaaaaaaaaaaa17	bbbbbbbbbbbbbbbbbb17	2006-06-12	root@localhost
29	aaaaaaaaaaaaaaaa29	bbbbbbbbbbbbbbbbbb29	2006-06-12	root@localhost
37	aaaaaaaaaaaaaaaa37	bbbbbbbbbbbbbbbbbb37	2006-06-12	root@localhost
16	aaaaaaaaaaaaaaaa16	bbbbbbbbbbbbbbbbbb16	2006-06-12	root@localhost
69	aaaaaaaaaaaaaaaa69	bbbbbbbbbbbbbbbbbb69	2006-06-12	root@localhost
99	aaaaaaaaaaaaaaaa99	bbbbbbbbbbbbbbbbbb99	2006-06-12	root@localhost
24	aaaaaaaaaaaaaaaa24	bbbbbbbbbbbbbbbbbb24	2006-06-12	root@localhost
90	aaaaaaaaaaaaaaaa90	bbbbbbbbbbbbbbbbbb90	2006-06-12	root@localhost
67	aaaaaaaaaaaaaaaa67	bbbbbbbbbbbbbbbbbb67	2006-06-12	root@localhost
65	aaaaaaaaaaaaaaaa65	bbbbbbbbbbbbbbbbbb65	2006-06-12	root@localhost
45	aaaaaaaaaaaaaaaa45	bbbbbbbbbbbbbbbbbb45	2006-06-12	root@localhost
2	aaaaaaaaaaaaaaaa2	bbbbbbbbbbbbbbbbbb2	2006-06-12	root@localhost
96	aaaaaaaaaaaaaaaa96	bbbbbbbbbbbbbbbbbb96	2006-06-12	root@localhost
78	aaaaaaaaaaaaaaaa78	bbbbbbbbbbbbbbbbbb78	2006-06-12	root@localhost
98	aaaaaaaaaaaaaaaa98	bbbbbbbbbbbbbbbbbb98	2006-06-12	root@localhost
38	aaaaaaaaaaaaaaaa38	bbbbbbbbbbbbbbbbbb38	2006-06-12	root@localhost
58	aaaaaaaaaaaaaaaa58	bbbbbbbbbbbbbbbbbb58	2006-06-12	root@localhost
71	aaaaaaaaaaaaaaaa71	bbbbbbbbbbbbbbbbbb71	2006-06-12	root@localhost
30	aaaaaaaaaaaaaaaa30	bbbbbbbbbbbbbbbbbb30	2006-06-12	root@localhost
33	aaaaaaaaaaaaaaaa33	bbbbbbbbbbbbbbbbbb33	2006-06-12	root@localhost
49	aaaaaaaaaaaaaaaa49	bbbbbbbbbbbbbbbbbb49	2006-06-12	root@localhost
4	aaaaaaaaaaaaaaaa4	bbbbbbbbbbbbbbbbbb4	2006-06-12	root@localhost
8	aaaaaaaaaaaaaaaa8	bbbbbbbbbbbbbbbbbb8	2006-06-12	root@localhost
DROP TABLE test.t1;
ALTER TABLESPACE ts1
DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
DROP TABLESPACE ts1 ENGINE=NDB;
DROP LOGFILE GROUP lg
ENGINE=NDB;

--- New file ---
+++ mysql-test/t/ndb_dd_advance.test	06/06/12 21:07:17
##############################################################
# Author: JBM
# Date: 2006-01-12
# Purpose: To test using ndb memory and disk tables together.
##############################################################

##############################################################
# Author: Nikolay
# Date: 2006-05-12
# Purpose: To test using ndb memory and disk tables together.
#
# Select from disk into memory table
# Select from disk into memory table
# Create test that loads data, use mysql dump to dump data, drop table,
# create table and load from mysql dump.
# Use group by asc and dec; Use having; Use order by
# ALTER Tests (Meta data testing):
#  ALTER from InnoDB to Cluster Disk Data
#  ALTER from MyISAM to Cluster Disk Data
#  ALTER from Cluster Disk Data to InnoDB
#  ALTER from Cluster Disk Data to MyISAM
#  ALTER DD Tables and add columns
#  ALTER DD Tables and add Indexes
#  ALTER DD Tables and drop columns
#
##############################################################

-- source include/have_ndb.inc
-- source include/not_embedded.inc

--disable_warnings
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
--enable_warnings

############ Test Setup Section #############
-- echo **** Test Setup Section ****

CREATE LOGFILE GROUP log_group1
ADD UNDOFILE './log_group1/undofile.dat'
INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;

CREATE TABLESPACE table_space1
ADD DATAFILE './table_space1/datafile.dat'
USE LOGFILE GROUP log_group1
INITIAL_SIZE 12M
ENGINE NDB;


CREATE TABLE test.t1
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
TABLESPACE table_space1 STORAGE DISK
ENGINE=NDB;

CREATE TABLE test.t2
(pk2 INT NOT NULL PRIMARY KEY, b2 INT NOT NULL, c2 INT NOT NULL)
ENGINE=NDB;

--echo
##################### Data load for first test ####################
--echo **** Data load for first test ****

INSERT INTO test.t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);


INSERT INTO test.t2 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);

--echo
##################### Test 1 Section Begins ###############
--echo *** Test 1 Section Begins ***
SELECT COUNT(*) FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4); 
SELECT * FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4); 
SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 WHERE b IN (4); 
SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2 WHERE pk1 IN (75); 
SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b; 
--echo
####################### Test 1 Section End ################

##################### Setup for test 2 ####################
--echo *** Setup for test 2 ****
DELETE FROM test.t1;
INSERT INTO test.t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45);
--echo
############################# Test Section 2 ###############
--echo **** Test Section 2 ****
SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2;
SELECT COUNT(*) FROM test.t1 RIGHT JOIN test.t2 ON b=b2;
SHOW CREATE TABLE test.t2;
SHOW CREATE TABLE test.t1;
ALTER TABLE test.t2 TABLESPACE table_space1 STORAGE DISK
ENGINE=NDB;
SHOW CREATE TABLE test.t2;
ALTER TABLE test.t1 ENGINE=NDBCLUSTER;
SHOW CREATE TABLE test.t1;
--echo
######################### End Test Section 2 #################
DROP TABLE test.t1;
DROP TABLE test.t2;
##################### Setup for Test Section 3 ###############
--echo *** Setup for Test Section 3 ***
CREATE TABLE test.t1 (
 usr_id INT unsigned NOT NULL,
 uniq_id INT unsigned NOT NULL AUTO_INCREMENT,
        start_num INT unsigned NOT NULL DEFAULT 1,
        increment INT unsigned NOT NULL DEFAULT 1,
 PRIMARY KEY (uniq_id),
 INDEX usr_uniq_idx (usr_id, uniq_id),
 INDEX uniq_usr_idx (uniq_id, usr_id))
TABLESPACE table_space1 STORAGE DISK
ENGINE=NDB;


CREATE TABLE test.t2 (
 id INT unsigned NOT NULL DEFAULT 0,
 usr2_id INT unsigned NOT NULL DEFAULT 0,
 max INT unsigned NOT NULL DEFAULT 0,
 c_amount INT unsigned NOT NULL DEFAULT 0,
 d_max INT unsigned NOT NULL DEFAULT 0,
 d_num INT unsigned NOT NULL DEFAULT 0,
 orig_time INT unsigned NOT NULL DEFAULT 0,
 c_time INT unsigned NOT NULL DEFAULT 0,
 active ENUM ("no","yes") NOT NULL,
 PRIMARY KEY (id,usr2_id),
 INDEX id_idx (id),
 INDEX usr2_idx (usr2_id))
ENGINE=NDB;

INSERT INTO test.t1 VALUES (3,NULL,0,50),(3,NULL,0,200),(3,NULL,0,25),(3,NULL,0,84676),(3,NULL,0,235),(3,NULL,0,10),(3,NULL,0,3098),(3,NULL,0,2947),(3,NULL,0,8987),(3,NULL,0,8347654),(3,NULL,0,20398),(3,NULL,0,8976),(3,NULL,0,500),(3,NULL,0,198);

--echo
###################### Test Section 3 ######################
--echo **** Test Section 3 ****
SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
test.t2.usr2_id,test.t2.c_amount,test.t2.max
FROM test.t1
LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
WHERE test.t1.uniq_id = 4
ORDER BY test.t2.c_amount;

INSERT INTO test.t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
INSERT INTO test.t2 VALUES (4,3,3000,6000,0,0,746584,837484,'yes');
INSERT INTO test.t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');

SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
test.t2.usr2_id,test.t2.c_amount,test.t2.max
FROM test.t1
LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
WHERE test.t1.uniq_id = 4
ORDER BY test.t2.c_amount;
--echo
####################### End Section 3 #########################
DROP TABLE test.t1;
DROP TABLE test.t2;
ALTER TABLESPACE table_space1
DROP DATAFILE './table_space1/datafile.dat'
ENGINE = NDB;

DROP TABLESPACE table_space1
ENGINE = NDB;

DROP LOGFILE GROUP log_group1
ENGINE =NDB;

####################### Section 4 #########################

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLESPACE ts2
 ADD DATAFILE './table_space2/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;


### Select from disk into memory table ###

 CREATE TABLE t1 (a int NOT NULL PRIMARY KEY, b int) 
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 CREATE TABLE t2 (a int NOT NULL PRIMARY KEY, b int) 
 ENGINE=NDB;
 
 SHOW CREATE TABLE t1;
 SHOW CREATE TABLE t2;
 
 INSERT INTO t1 VALUES (1,1);
 INSERT INTO t1 VALUES (2,2);
 SELECT * FROM t1;
 INSERT INTO t2(a,b) SELECT * FROM t1;  
 SELECT * FROM t2;
 
### Select from disk into memory table ###

 TRUNCATE t1;
 TRUNCATE t2;
 INSERT INTO t2 VALUES (3,3);
 INSERT INTO t2 VALUES (4,4);
 INSERT INTO t1(a,b) SELECT * FROM t2;  
 SELECT * FROM t1; 

 DROP TABLE t1, t2;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;

 DROP TABLESPACE ts1 ENGINE NDB;

 ALTER TABLESPACE ts2
 DROP DATAFILE './table_space2/datafile.dat'
 ENGINE NDB;

 DROP TABLESPACE ts2 ENGINE NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create test that loads data, use mysql dump to dump data, drop table,
#### create table and load from mysql dump.

 DROP DATABASE IF EXISTS test;

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts
 ADD DATAFILE './datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

CREATE DATABASE test;

CREATE TABLE test.t (
  a smallint NOT NULL,
  b int NOT NULL,
  c bigint NOT NULL,
  d char(10),
  e TEXT,
  f VARCHAR(255),
  PRIMARY KEY(a)
) TABLESPACE ts STORAGE DISK ENGINE=NDB;

 ALTER TABLE test.t ADD INDEX (d), ADD INDEX (f);
 SHOW CREATE TABLE test.t;

# insert records into tables

 let $1=100;
 disable_query_log;
 while ($1)
 {
  eval insert into test.t values($1, $1+1, $1+2, "aaa$1", "bbb$1", "ccccc$1");
  dec $1;
 }
 enable_query_log;

 SELECT * FROM test.t order by a;
--exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/t_dump.sql
DROP TABLE test.t;
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t_dump.sql
USE test;
show tables;

SELECT * FROM test.t order by a;

 DROP TABLE test.t;
 DROP DATABASE test;  

 ALTER TABLESPACE ts
 DROP DATAFILE './datafile.dat'
 ENGINE NDB;

 DROP TABLESPACE ts ENGINE NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### BUG 18856 test case comented out
##### Use "SELECT * INTO OUTFILE" to dump data and "LOAD DATA INFILE" to load ##### data back to the data file.

# CREATE LOGFILE GROUP lg
# ADD UNDOFILE './undofile.dat'
# INITIAL_SIZE 16M
# UNDO_BUFFER_SIZE = 1M
# ENGINE=NDB;

# CREATE TABLESPACE ts
# ADD DATAFILE './datafile.dat'
# USE LOGFILE GROUP lg
# INITIAL_SIZE 12M
# ENGINE NDB;

#CREATE DATABASE test;

#CREATE TABLE test.t (
#  a smallint NOT NULL,
#  b int NOT NULL,
#  c bigint NOT NULL,
#  d char(10),
#  e TEXT,
#  f VARCHAR(255),
#  PRIMARY KEY(a)
#) TABLESPACE ts STORAGE DISK ENGINE=NDB;

# ALTER TABLE test.t ADD INDEX (d), ADD INDEX (f);
# SHOW CREATE TABLE test.t;

# insert records into tables

# let $1=100;
# disable_query_log;
# while ($1)
# {
#  eval insert into test.t values($1, $1+1, $1+2, "aaa$1", "bbb$1", "ccccc$1");
#  dec $1;
# }
# enable_query_log;

# SELECT * FROM test.t order by a;

# SELECT * INTO OUTFILE 't_backup' FROM test.t;
# TRUNCATE test.t;

#'TRUNCATE test.t' failed: 1205: Lock wait timeout exceeded; try restarting #transaction. TABLESPACE ts STORAGE DISK ENGINE=NDB;

# SELECT count(*) FROM test.t;
# LOAD DATA INFILE 't_backup' INTO TABLE test.t;

# SELECT * FROM test.t order by a;

# DROP TABLE test.t;
# DROP DATABASE test;  

# ALTER TABLESPACE ts
# DROP DATAFILE './datafile.dat'
# ENGINE NDB;
# DROP TABLESPACE ts ENGINE NDB;
# DROP LOGFILE GROUP lg
# ENGINE=NDB;

#### Use group by asc and dec; Use having; Use order by. ####

 DROP DATABASE IF EXISTS test;
 DROP table IF EXISTS test.t1; 
 DROP table IF EXISTS test.t2; 
 
 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLESPACE ts2
 ADD DATAFILE './table_space2/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

CREATE DATABASE test;

CREATE TABLE test.t1 (
  a1 smallint NOT NULL,
  a2 int NOT NULL,
  a3 bigint NOT NULL,
  a4 char(10),
  a5 decimal(5,1),
  a6 time,
  a7 date,
  a8 datetime,
  a9 VARCHAR(255),
  a10 blob,
  PRIMARY KEY(a1)
) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;

 ALTER TABLE test.t1 ADD INDEX (a2), ADD INDEX (a3), ADD INDEX (a8);
 SHOW CREATE TABLE test.t1;

CREATE TABLE test.t2 (
  b1 smallint NOT NULL,
  b2 int NOT NULL,
  b3 bigint NOT NULL,
  b4 char(10),
  b5 decimal(5,1),
  b6 time,
  b7 date,
  b8 datetime,
  b9 VARCHAR(255),
  b10 blob,
  PRIMARY KEY(b1)
) ENGINE=NDB;

 ALTER TABLE test.t2 ADD INDEX (b2), ADD INDEX (b3), ADD INDEX (b8);
 SHOW CREATE TABLE test.t2;

let $1=20;
disable_query_log;
while ($1)
{
 eval insert into test.t1 values($1, $1+1, $1+2000000000, "aaa$1", 34.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
 eval insert into test.t2 values($1+2, $1+3, $1+3000000000, "aaa$1", 35.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
 dec $1;
}
enable_query_log; 

SELECT * FROM test.t1;
SELECT * FROM test.t2;
SELECT COUNT(a1), a1, COUNT(a1)*a1 FROM test.t1 GROUP BY a1;
SELECT COUNT(a2), (a2+1), COUNT(a2)*(a2+0) FROM test.t1 GROUP BY a2;

DROP TABLE test.t1;
DROP TABLE test.t2;

create table test.t1 (a int not null,b char(5), c text) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;

insert into test.t1 (a) values (1),(2),(3),(4),(1),(2),(3),(4);
select distinct a from test.t1 group by b,a having a > 2 order by a desc;
select distinct a,c from test.t1 group by b,c,a having a > 2 order by a desc;
select distinct a from test.t1 group by b,a having a > 2 order by a asc;
select distinct a,c from test.t1 group by b,c,a having a > 2 order by a asc;
drop table test.t1;

create table test.t1 (a char(1), key(a)) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
insert into test.t1 values('1'),('1'),('1'),('2'),('2'),('3'),('3');
select * from test.t1 where a >= '1'; 
select distinct a from test.t1 order by a desc;
select distinct a from test.t1 where a >= '1' order by a desc;
select distinct a from test.t1 where a >= '1' order by a asc;
drop table test.t1;

CREATE TABLE test.t1 (email varchar(50), infoID BIGINT, dateentered DATETIME) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
CREATE TABLE test.t2 (infoID BIGINT, shipcode varchar(10)) ENGINE=NDB;

INSERT INTO test.t1 (email, infoID, dateentered) VALUES
      ('test1@stripped', 1, '2002-07-30 22:56:38'),
      ('test1@stripped', 1, '2002-07-27 22:58:16'),
      ('test2@stripped', 1, '2002-06-19 15:22:19'),
      ('test2@stripped', 2, '2002-06-18 14:23:47'),
      ('test3@stripped', 1, '2002-05-19 22:17:32');

INSERT INTO test.t2(infoID, shipcode) VALUES
      (1, 'Z001'),
      (2, 'R002');

SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2 WHERE t1.infoID=t2.infoID;
SELECT DISTINCTROW email FROM test.t1 ORDER BY dateentered DESC;
SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2 WHERE test.t1.infoID=test.t2.infoID ORDER BY dateentered DESC;
drop table test.t1,test.t2;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
 DROP TABLESPACE ts1 ENGINE NDB;
 ALTER TABLESPACE ts2
 DROP DATAFILE './table_space2/datafile.dat'
 ENGINE NDB;
 DROP TABLESPACE ts2 ENGINE NDB;
 DROP LOGFILE GROUP lg
 ENGINE=NDB;
####################################################################


#### Customer posted order by test case

DROP TABLE IF EXISTS test.t;
create table test.t (f1 varchar(50) primary key, f2 text,f3 int) engine=NDB;
insert into test.t (f1,f2,f3)VALUES("111111","aaaaaa",1);
insert into test.t (f1,f2,f3)VALUES("222222","bbbbbb",2);
select * from test.t order by f1;
select f1,f2 from test.t order by f2;
select f2 from test.t order by f2;
select f1,f2 from test.t order by f1;
drop table test.t;

################## ALTER Tests (Meta data testing) ####################

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts
 ADD DATAFILE './table_space/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

#### Try to ALTER from InnoDB to Cluster Disk Data

CREATE TABLE test.t1 (a1 INT, a2 BLOB, a3 TEXT) ENGINE=InnoDB;
SHOW CREATE TABLE test.t1;
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
DROP TABLE test.t1;

#### Try to ALTER from MyISAM to Cluster Disk Data

CREATE TABLE test.t1 (a1 INT, a2 BLOB, a3 TEXT) ENGINE=MyISAM;
SHOW CREATE TABLE test.t1;
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
DROP TABLE test.t1;

#### Try to ALTER from Cluster Disk Data to InnoDB

CREATE TABLE test.t1 (a1 INT PRIMARY KEY, a2 BLOB, a3 TEXT) TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
ALTER TABLE test.t1 ENGINE=InnoDB;
SHOW CREATE TABLE test.t1;
DROP TABLE test.t1;

#### Try to ALTER from Cluster Disk Data to MyISAM

CREATE TABLE test.t1 (a1 INT, a2 BLOB, a3 TEXT) TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
ALTER TABLE test.t1 ENGINE=MyISAM;
SHOW CREATE TABLE test.t1;
DROP TABLE test.t1;

#### Try to ALTER DD Tables and add columns

CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;

ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE, ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME, ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;

SHOW CREATE TABLE test.t1;

#### Try to ALTER DD Tables and add Indexes

ALTER TABLE test.t1 ADD INDEX (a2), ADD INDEX (a3), ADD INDEX (a5), ADD INDEX (a6),
ADD INDEX (a7), ADD INDEX (a8);

SHOW CREATE TABLE test.t1;

DROP TABLE test.t1;

#### Try to ALTER DD Tables and drop columns

CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;

ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE, ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME, ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;

SHOW CREATE TABLE test.t1;

ALTER TABLE test.t1 DROP a14;
ALTER TABLE test.t1 DROP a13;
ALTER TABLE test.t1 DROP a12;
ALTER TABLE test.t1 DROP a11;
ALTER TABLE test.t1 DROP a10;
ALTER TABLE test.t1 DROP a9;
ALTER TABLE test.t1 DROP a8;
ALTER TABLE test.t1 DROP a7;
ALTER TABLE test.t1 DROP a6;
ALTER TABLE test.t1 DROP PRIMARY KEY;

SHOW CREATE TABLE test.t1;

DROP TABLE test.t1;

 ALTER TABLESPACE ts
 DROP DATAFILE './table_space/datafile.dat'
 ENGINE NDB;
 DROP TABLESPACE ts ENGINE NDB;
 DROP LOGFILE GROUP lg
 ENGINE=NDB;

####################### End section 4 #########################
#End 5.1 test case


--- New file ---
+++ mysql-test/t/ndb_dd_advance2.test	06/06/12 21:07:32
##############################################################
# Author: Nikolay
# Date: 2006-04-01
# Purpose: Specific Blob and Varchar testing using disk tables.
##############################################################
#    Create Stored procedures that use disk based tables.
#    Create function that operate on disk based tables.
#    Create triggers that operate on disk based tables.
#    Create views that operate on disk based tables.
#    Try to create FK constraints on disk based tables.
#    Create and use disk based table that use auto inc.
#    Create test that use transaction (commit, rollback)
#    Create large disk base table, do random queries, check cache hits, do same
#    query 10 times check cache hits.
#    Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(), USER(), ... other built in #    SQL functions
#    Create test that uses locks.
#    Create test using truncate.
##############################################################

-- source include/have_ndb.inc

--disable_warnings
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
DROP DATABASE IF EXISTS test;
--enable_warnings

#### Copy data from table in one table space to table in different table space. ####
--echo *****
--echo **** Copy data from table in one table space to table in different table space
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLESPACE ts2
 ADD DATAFILE './table_space2/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE DATABASE test; 

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) 
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) 
 TABLESPACE ts2 STORAGE DISK  ENGINE=NDB;
 
 SHOW CREATE TABLE test.t1;
 SHOW CREATE TABLE test.t2;
 
 INSERT INTO test.t1 VALUES (1,'111111','aaaaaaaa');
 INSERT INTO test.t1 VALUES (2,'222222','bbbbbbbb');
 SELECT * FROM test.t1;
 INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;  
 SELECT * FROM test.t2;
 
 DROP TABLE test.t1, test.t2;

 # populate BLOB field with large data

set @vc1 = repeat('a', 200);
set @vc2 = repeat('b', 500);
set @vc3 = repeat('c', 1000);
set @vc4 = repeat('d', 4000);

# x0 size 256
set @x0 = '01234567012345670123456701234567';
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);

# b1 length 2000+256
set @b1 = 'b1';
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@x0);
# d1 length 3000
set @d1 = 'dd1';
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);

# b2 length 20000
set @b2 = 'b2';
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
# d2 length 30000
set @d2 = 'dd2';
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);

select length(@x0),length(@b1),length(@d1) from dual;
select length(@x0),length(@b2),length(@d2) from dual;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB) 
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB) 
 TABLESPACE ts2 STORAGE DISK  ENGINE=NDB;
 
 SHOW CREATE TABLE test.t1;
 SHOW CREATE TABLE test.t2;
 
 INSERT INTO test.t1 VALUES (1,@vc1,@d1);
 INSERT INTO test.t1 VALUES (2,@vc2,@b1);
 INSERT INTO test.t1 VALUES (3,@vc3,@d2);
 INSERT INTO test.t1 VALUES (4,@vc4,@b2);

 SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
 FROM test.t1 WHERE a1=1;
 SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
 FROM test.t1 where a1=2;
 
 INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;  
 SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
 FROM test.t2 WHERE a1=1;
 SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
 FROM test.t2 where a1=2;

 
 DROP TABLE test.t1, test.t2;


 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
 DROP TABLESPACE ts1 ENGINE NDB;

 ALTER TABLESPACE ts2
 DROP DATAFILE './table_space2/datafile.dat'
 ENGINE NDB;
 DROP TABLESPACE ts2 ENGINE NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Insert, Update, Delete from NDB table with BLOB fields ####
--echo *****
--echo **** Insert, Update, Delete from NDB table with BLOB fields
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

set @vc1 = repeat('a', 200);
set @vc2 = repeat('b', 500);
set @vc3 = repeat('c', 1000);
set @vc4 = repeat('d', 4000);
set @vc5 = repeat('d', 5000);

set @bb1 = repeat('1', 2000);
set @bb2 = repeat('2', 5000);
set @bb3 = repeat('3', 10000);
set @bb4 = repeat('4', 40000);
set @bb5 = repeat('5', 50000);

select length(@vc1),length(@vc2),length(@vc3),length(@vc4),length(@vc5) from dual;
select length(@bb1),length(@bb2),length(@bb3),length(@bb4),length(@bb5) from dual;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB) 
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
# CREATE TABLE test.t2 (a1 int NOT NULL, a2 VARCHAR(5000), a3 BLOB) 
# TABLESPACE ts2 STORAGE DISK  ENGINE=NDB;
 
 INSERT INTO test.t1 VALUES (1,@vc1,@bb1);
 INSERT INTO test.t1 VALUES (2,@vc2,@bb2);
 INSERT INTO test.t1 VALUES (3,@vc3,@bb3);
 INSERT INTO test.t1 VALUES (4,@vc4,@bb4);
 INSERT INTO test.t1 VALUES (5,@vc5,@bb5);

 UPDATE test.t1 SET a2=@vc5, a3=@bb5 WHERE a1=1;
 SELECT a1,length(a2),substr(a2,4998,2),length(a3),substr(a3,49997,3)
 FROM test.t1 WHERE a1=1;

 UPDATE test.t1 SET a2=@vc4, a3=@bb4 WHERE a1=2;
 SELECT a1,length(a2),substr(a2,3998,2),length(a3),substr(a3,39997,3)
 FROM test.t1 WHERE a1=2;

 UPDATE test.t1 SET a2=@vc2, a3=@bb2 WHERE a1=3;
 SELECT a1,length(a2),substr(a2,498,2),length(a3),substr(a3,3997,3)
 FROM test.t1 WHERE a1=3;

 UPDATE test.t1 SET a2=@vc3, a3=@bb3 WHERE a1=4;
 SELECT a1,length(a2),substr(a2,998,2),length(a3),substr(a3,9997,3)
 FROM test.t1 WHERE a1=4;

 UPDATE test.t1 SET a2=@vc1, a3=@bb1 WHERE a1=5;
 SELECT a1,length(a2),substr(a2,198,2),length(a3),substr(a3,1997,3)
 FROM test.t1 WHERE a1=5;
 
 DELETE FROM test.t1 where a1=5;
 SELECT count(*) from test.t1; 
 DELETE FROM test.t1 where a1=4;
 SELECT count(*) from test.t1; 
 DELETE FROM test.t1 where a1=3;
 SELECT count(*) from test.t1; 
 DELETE FROM test.t1 where a1=2;
 SELECT count(*) from test.t1; 
 DELETE FROM test.t1 where a1=1;
 SELECT count(*) from test.t1; 

 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE NDB;
 DROP TABLESPACE ts1 ENGINE NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

##### Create Stored procedures that use disk based tables #####
--echo *****
--echo **** Create Stored procedures that use disk based tables
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

delimiter //;
 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB//
 CREATE PROCEDURE test.sp1()
 BEGIN
 INSERT INTO test.t1 values (1,'111111','aaaaaaaa');
 END//
delimiter ;//

 CALL test.sp1();
 SELECT * FROM test.t1;

delimiter //;
 CREATE PROCEDURE test.sp2(n INT, vc VARCHAR(256), blb BLOB)
 BEGIN
 UPDATE test.t1 SET a2=vc, a3=blb where a1=n;
 END//
delimiter ;//

 CALL test.sp2(1,'222222','bbbbbbbb');
 SELECT * FROM test.t1;

 DELETE FROM test.t1;
 DROP PROCEDURE test.sp1;
 DROP PROCEDURE test.sp2;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create function that operate on disk based tables ####
--echo *****
--echo ***** Create function that operate on disk based tables
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 let $1=100;
 disable_query_log;
 while ($1)
 {
  eval insert into test.t1 values($1, "aaaaa$1", "bbbbb$1");
  dec $1;
 }
 enable_query_log;

 delimiter //;
 CREATE FUNCTION test.fn1(n INT) RETURNS INT
 BEGIN
 DECLARE v INT;
 SELECT a1 INTO v FROM test.t1 WHERE a1=n;
 RETURN v;
 END//
 delimiter ;//

delimiter //;
 CREATE FUNCTION test.fn2(n INT, blb BLOB) RETURNS BLOB
 BEGIN
 DECLARE vv BLOB;
 UPDATE test.t1 SET a3=blb where a1=n;
 SELECT a3 INTO vv FROM test.t1 WHERE a1=n;
 RETURN vv;
 END//
 delimiter ;//

 SELECT test.fn1(10) FROM DUAL;
 SELECT test.fn2(50, 'new BLOB content') FROM DUAL;

 DELETE FROM test.t1;
 DROP FUNCTION test.fn1;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create triggers that operate on disk based tables ####
--echo *****
--echo ***** Create triggers that operate on disk based tables
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 
 delimiter //;
 CREATE TRIGGER test.trg1 BEFORE INSERT ON test.t1 FOR EACH ROW 
 BEGIN 
  if isnull(new.a2) then
    set new.a2:= 'trg1 works on a2 field';
  end if;
  if isnull(new.a3) then
    set new.a3:= 'trg1 works on a3 field';
  end if;
 end//
 insert into test.t1 (a1) values (1)//
 insert into test.t1 (a1,a2) values (2, 'ccccccc')//
 select * from test.t1//
 delimiter ;//
 
 DELETE FROM test.t1;
 DROP TRIGGER test.trg1;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create, update views that operate on disk based tables ####
--echo *****
--echo ***** Create, update views that operate on disk based tables
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 let $1=10;
 disable_query_log;
 while ($1)
 {
  eval insert into test.t1 values($1, "aaaaa$1", "bbbbb$1");
  dec $1;
 }
 enable_query_log; 
 CREATE VIEW test.v1 AS SELECT * FROM test.t1;
 SELECT * FROM test.v1 order by a1;
 CHECK TABLE test.v1, test.t1;

 UPDATE test.v1 SET a2='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' WHERE a1=5;
 SELECT * FROM test.v1 order by a1;

 DROP VIEW test.v1;
 DELETE FROM test.t1;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create and use disk based table that use auto inc ####
--echo *****
--echo ***** Create and use disk based table that use auto inc
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 let $1=10;
 disable_query_log;
 while ($1)
 {
  eval insert into test.t1 values(NULL, "aaaaa$1", "bbbbb$1");
  dec $1;
 }
 enable_query_log; 
 SELECT * FROM test.t1 ORDER BY a1;
 DELETE FROM test.t1;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create test that use transaction (commit, rollback) ####
--echo *****
--echo ***** Create test that use transaction (commit, rollback)
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 SET AUTOCOMMIT=0;
 CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;

 INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
 COMMIT; 
 SELECT * FROM test.t1 ORDER BY a1;
 INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
 ROLLBACK; 
 SELECT * FROM test.t1 ORDER BY a1;

 DELETE FROM test.t1;
 DROP TABLE test.t1;
 SET AUTOCOMMIT=1;

# Now do the same thing with START TRANSACTION without using AUTOCOMMIT.

 CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;

 START TRANSACTION;
 INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
 COMMIT;
 SELECT * FROM test.t1 ORDER BY a1;

 START TRANSACTION;
 INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
 ROLLBACK; 
 SELECT * FROM test.t1 ORDER BY a1;

 DELETE FROM test.t1;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create test that uses locks ####
--echo *****
--echo ***** Create test that uses locks
--echo *****

 connect (con1,localhost,root,,);
 connect (con2,localhost,root,,);

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

# connection con1;
--disable_warnings
 drop table if exists test.t1;
 CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a2 VARCHAR(256), a3 BLOB) TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
--enable_warnings

 LOCK TABLES test.t1 write;
 INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
 INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
 SELECT * FROM test.t1 ORDER BY a1;
 
 connection con2;
 SELECT * FROM test.t1;
 INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");  
 
 connection con1;
 UNLOCK TABLES;

 connection con2;
 INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3"); 
 SELECT * FROM test.t1;
 DELETE FROM test.t1;
 DROP TABLE test.t1;

 #connection defualt;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create large disk base table, do random queries, check cache hits ####
--echo *****
--echo ***** Create large disk base table, do random queries, check cache hits
--echo *****

set @vc1 = repeat('a', 200);
SELECT @vc1 FROM DUAL; 
set @vc2 = repeat('b', 500);
set @vc3 = repeat('b', 998);

# x0 size 256
set @x0 = '01234567012345670123456701234567';
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);

# b1 length 2000+256 (blob part aligned)
set @b1 = 'b1';
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
set @b1 = concat(@b1,@x0);
# d1 length 3000
set @d1 = 'dd1';
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);

# b2 length 20000
set @b2 = 'b2';
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
# d2 length 30000
set @d2 = 'dd2';
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);

select length(@x0),length(@b1),length(@d1) from dual;
select length(@x0),length(@b2),length(@d2) from dual;

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(1000), a3 BLOB)
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 
 INSERT INTO test.t1 values(1,@vc1,@d1);
 INSERT INTO test.t1 values(2,@vc2,@d2);
 explain SELECT * from test.t1 WHERE a1 = 1;

 SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
 FROM test.t1 WHERE a1=1;
 SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
 FROM test.t1 where a1=2;

 UPDATE test.t1 set a2=@vc2,a3=@d2 where a1=1;
 UPDATE test.t1 set a2=@vc1,a3=@d1 where a1=2;

 SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
 FROM test.t1 where a1=1;
 SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
 FROM test.t1 where a1=2;

 SHOW VARIABLES LIKE 'have_query_cache';
 SHOW STATUS LIKE 'Qcache%';

 DELETE FROM test.t1;
 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;

#### Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(), USER(), TRUNCATE ####
--echo *****
--echo ***** Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(), USER(), TRUNCATE
--echo *****

 CREATE LOGFILE GROUP lg
 ADD UNDOFILE './lg_group/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

 CREATE TABLESPACE ts1
 ADD DATAFILE './table_space1/datafile.dat'
 USE LOGFILE GROUP lg
 INITIAL_SIZE 12M
 ENGINE NDB;

 CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB, a4 DATE, a5 CHAR(250))
 TABLESPACE ts1 STORAGE DISK  ENGINE=NDB;
 let $1=100;
 disable_query_log;
 while ($1)
 {
  eval insert into test.t1 values($1, "aaaaaaaaaaaaaaaa$1", "bbbbbbbbbbbbbbbbbb$1", NOW(), USER());
  dec $1;
 }
 enable_query_log;

 SELECT COUNT(*) from test.t1;
 SELECT SUM(a1) from test.t1;
 SELECT MIN(a1) from test.t1;
 SELECT MAX(a1) from test.t1;
 SELECT a5 from test.t1 where a1=50;


 SELECT * from test.t1;

 DROP TABLE test.t1;

 ALTER TABLESPACE ts1
 DROP DATAFILE './table_space1/datafile.dat'
 ENGINE=NDB;
 DROP TABLESPACE ts1 ENGINE=NDB;

 DROP LOGFILE GROUP lg
 ENGINE=NDB;


#End 5.1 test case


Thread
bk commit into 5.1 tree (ngrishakin:1.2186)Nikolay Grishakin12 Jun