1575 lines
50 KiB
Plaintext
1575 lines
50 KiB
Plaintext
Warnings:
|
|
Warning 3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
|
|
set sql_mode=(select replace(@@sql_mode,'NO_ZERO_DATE',''));
|
|
Warnings:
|
|
Warning 3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
|
|
CREATE DATABASE mysqltest;
|
|
USE mysqltest;
|
|
***************************************************************
|
|
* BASIC SQL STATEMENT TEST FOR NDB NATIVE DEFAULT VALUE SUPPORT
|
|
***************************************************************
|
|
CREATE TABLE t1(
|
|
i INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
j INT DEFAULT 6,
|
|
f FLOAT NOT NULL DEFAULT 6.6,
|
|
d DOUBLE DEFAULT 8.8,
|
|
d2 DOUBLE NOT NULL, #d2 gets 'data-type-specific default', i.e. 0.
|
|
ch CHAR(19) DEFAULT "aaa",
|
|
vch VARCHAR(19) DEFAULT "bbb",
|
|
b BINARY(19) DEFAULT "ccc",
|
|
vb VARBINARY(19) DEFAULT "ddd",
|
|
blob1 BLOB,
|
|
text1 TEXT,
|
|
timestamp_c TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)ENGINE=NDB PARTITION BY KEY() PARTITIONS 8;
|
|
INSERT INTO t1 VALUES(),();
|
|
INSERT INTO t1 VALUES(
|
|
10, 10, 10.0, 10.0, 10.0,
|
|
"nnnnn", "nnnnn", "nnnnn", "nnnnn", "nnnnn", "nnnnn",
|
|
"2008-11-16 08:13:32");
|
|
INSERT INTO t1(i, ch) VALUES(11, "mmm");
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c
|
|
1 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
10 10 10 10 10 nnnnn nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 6E6E6E6E6E nnnnn CURRENT_TIMESTAMP
|
|
11 6 6.6 8.8 0 mmm bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
UPDATE t1 SET ch = "xxx" WHERE i = 10;
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c
|
|
1 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
10 10 10 10 10 xxx nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 6E6E6E6E6E nnnnn CURRENT_TIMESTAMP
|
|
11 6 6.6 8.8 0 mmm bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
UPDATE t1 SET blob1 = "yyy" WHERE j = 10;
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c
|
|
1 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
10 10 10 10 10 xxx nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 797979 nnnnn CURRENT_TIMESTAMP
|
|
11 6 6.6 8.8 0 mmm bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
REPLACE INTO t1(i, j, ch) VALUES(1, 1, "zzz");
|
|
REPLACE INTO t1(i, j, ch) VALUES(20, 20, "www");
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
10 10 10 10 10 xxx nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 797979 nnnnn CURRENT_TIMESTAMP
|
|
11 6 6.6 8.8 0 mmm bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
20 20 6.6 8.8 0 www bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
DELETE FROM t1 WHERE i > 9;
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP
|
|
CREATE TABLE bit1(
|
|
pk INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
|
|
b1 BIT(3) DEFAULT B'111',
|
|
b2 BIT(9) DEFAULT B'101',
|
|
b3 BIT(23) DEFAULT B'110',
|
|
b4 BIT(37) DEFAULT B'011',
|
|
b5 BIT(63) DEFAULT B'101011'
|
|
)ENGINE=NDB PARTITION BY KEY() PARTITIONS 8;
|
|
INSERT INTO bit1 VALUES();
|
|
INSERT INTO bit1(b1,b4) VALUES(B'101',B'111');
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 101011
|
|
2 101 101 110 111 101011
|
|
UPDATE bit1 SET b5=B'11111' WHERE pk = 1;
|
|
REPLACE INTO bit1(pk, b3) VALUES(2, B'1');
|
|
REPLACE INTO bit1(pk, b3) VALUES(6, B'101');
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 11111
|
|
2 111 101 1 11 101011
|
|
6 111 101 101 11 101011
|
|
DELETE FROM bit1 WHERE pk = 2;
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 11111
|
|
6 111 101 101 11 101011
|
|
********************************************************
|
|
* Alter table to add column with default value
|
|
********************************************************
|
|
ALTER TABLE t1 ADD COLUMN ch2 CHAR(30) DEFAULT "alter table";
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, ch2 FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c ch2
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
INSERT INTO t1 VALUES();
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, ch2 FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c ch2
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
21 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
********************************************************
|
|
* Alter table with default value can fail safely
|
|
********************************************************
|
|
ALTER TABLE t1 ADD COLUMN ch2 CHAR(30) DEFAULT "alter table";
|
|
ERROR 42S21: Duplicate column name 'ch2'
|
|
ALTER TABLE t1 ADD COLUMN ch3 CHAR(3) DEFAULT "alter table";
|
|
ERROR 42000: Invalid default value for 'ch3'
|
|
INSERT INTO t1 VALUES();
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, ch2 FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c ch2
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
21 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
22 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
********************************************************
|
|
* The tables with default values BACKUP and RESTORE test
|
|
********************************************************
|
|
DROP TABLE t1, bit1;
|
|
SET @old_ndb_metadata_check_server2 = @@global.ndb_metadata_check;
|
|
SET GLOBAL ndb_metadata_check = false;
|
|
SET @old_ndb_metadata_check_server1 = @@global.ndb_metadata_check;
|
|
SET GLOBAL ndb_metadata_check = false;
|
|
********************************************************
|
|
* Begin to restore data from backup
|
|
********************************************************
|
|
-- t1 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 13
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
i Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
|
|
j Int NULL AT=FIXED ST=MEMORY DEFAULT 6
|
|
f Float NOT NULL AT=FIXED ST=MEMORY DEFAULT 6.600000
|
|
d Double NULL AT=FIXED ST=MEMORY DEFAULT 8.800000
|
|
d2 Double NOT NULL AT=FIXED ST=MEMORY
|
|
ch Char(76;utf8mb4_0900_ai_ci) NULL AT=FIXED ST=MEMORY DEFAULT "aaa"
|
|
vch Varchar(76;utf8mb4_0900_ai_ci) NULL AT=SHORT_VAR ST=MEMORY DEFAULT "bbb"
|
|
b Binary(19) NULL AT=FIXED ST=MEMORY DEFAULT 0x63636300000000000000000000000000000000
|
|
vb Varbinary(19) NULL AT=SHORT_VAR ST=MEMORY DEFAULT 0x646464
|
|
blob1 Blob(256,2000,0) NULL AT=MEDIUM_VAR ST=MEMORY BV=2 BT=NDB$BLOB_XX_9
|
|
text1 Text(256,2000,0;utf8mb4_0900_ai_ci) NULL AT=MEDIUM_VAR ST=MEMORY BV=2 BT=NDB$BLOB_XX_10
|
|
timestamp_c Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
ch2 Char(120;utf8mb4_0900_ai_ci) NULL AT=FIXED ST=MEMORY DEFAULT "alter table"
|
|
-- Indexes --
|
|
PRIMARY KEY(i) - UniqueHashIndex
|
|
PRIMARY(i) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
-- bit1 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 6
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
pk Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
|
|
b1 Bit(3) NULL AT=FIXED ST=MEMORY DEFAULT H'0x7
|
|
b2 Bit(9) NULL AT=FIXED ST=MEMORY DEFAULT H'0x5
|
|
b3 Bit(23) NULL AT=FIXED ST=MEMORY DEFAULT H'0x6
|
|
b4 Bit(37) NULL AT=FIXED ST=MEMORY DEFAULT H'0x3
|
|
b5 Bit(63) NULL AT=FIXED ST=MEMORY DEFAULT H'0x2B
|
|
-- Indexes --
|
|
PRIMARY KEY(pk) - UniqueHashIndex
|
|
PRIMARY(pk) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 11111
|
|
6 111 101 101 11 101011
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, ch2 FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c ch2
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
21 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
22 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
INSERT INTO t1(i, ch) VALUES(99, "restore");
|
|
INSERT INTO bit1(pk, b5) VALUES(99, B'11111111');
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 11111
|
|
6 111 101 101 11 101011
|
|
99 111 101 110 11 11111111
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, ch2 FROM t1 ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c ch2
|
|
1 1 6.6 8.8 0 zzz bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
2 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
21 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
22 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
99 6 6.6 8.8 0 restore bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
DROP TABLE t1, bit1;
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, ch2 FROM t1 WHERE i >= (SELECT MAX(i) FROM t1) ORDER BY i;
|
|
i j f d d2 ch vch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c ch2
|
|
MAX_VALUE 6 6.6 8.8 0 aaa bbb 63636300000000000000000000000000000000 646464 NULL NULL CURRENT_TIMESTAMP alter table
|
|
DROP TABLE t1, bit1;
|
|
DROP DATABASE mysqltest;
|
|
******************************************************************************
|
|
* Restore the backup from 6.3 or 6.4, which don't support native default value
|
|
******************************************************************************
|
|
-- t1 --
|
|
Version: Any
|
|
Fragment type: DistrKeyHash
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 12
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 2
|
|
FragmentCount: 2
|
|
PartitionBalance: FOR_RP_BY_LDM
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
-- Attributes --
|
|
i Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
|
|
j Int NULL AT=FIXED ST=MEMORY
|
|
f Float NOT NULL AT=FIXED ST=MEMORY
|
|
d Double NULL AT=FIXED ST=MEMORY
|
|
d2 Double NOT NULL AT=FIXED ST=MEMORY
|
|
ch Char(19;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
|
|
vch Varchar(19;latin1_swedish_ci) NULL AT=SHORT_VAR ST=MEMORY
|
|
b Binary(19) NULL AT=FIXED ST=MEMORY
|
|
vb Varbinary(19) NULL AT=SHORT_VAR ST=MEMORY
|
|
blob1 Blob(256,2000,0) NULL AT=MEDIUM_VAR ST=MEMORY BV=2 BT=NDB$BLOB_XX_9
|
|
text1 Text(256,2000,0;latin1_swedish_ci) NULL AT=MEDIUM_VAR ST=MEMORY BV=2 BT=NDB$BLOB_XX_10
|
|
timestamp_c Timestamp NOT NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(i) - UniqueHashIndex
|
|
PRIMARY(i) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
-- bit1 --
|
|
Version: Any
|
|
Fragment type: DistrKeyHash
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 6
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 2
|
|
FragmentCount: 2
|
|
PartitionBalance: FOR_RP_BY_LDM
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
-- Attributes --
|
|
pk Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
|
|
b1 Bit(3) NULL AT=FIXED ST=MEMORY
|
|
b2 Bit(9) NULL AT=FIXED ST=MEMORY
|
|
b3 Bit(23) NULL AT=FIXED ST=MEMORY
|
|
b4 Bit(37) NULL AT=FIXED ST=MEMORY
|
|
b5 Bit(63) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(pk) - UniqueHashIndex
|
|
PRIMARY(pk) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
USE test;
|
|
SHOW CREATE TABLE bit1;
|
|
Table Create Table
|
|
bit1 CREATE TABLE `bit1` (
|
|
`pk` int(11) NOT NULL AUTO_INCREMENT,
|
|
`b1` bit(3) DEFAULT b'111',
|
|
`b2` bit(9) DEFAULT b'101',
|
|
`b3` bit(23) DEFAULT b'110',
|
|
`b4` bit(37) DEFAULT b'11',
|
|
`b5` bit(63) DEFAULT b'101011',
|
|
PRIMARY KEY (`pk`)
|
|
) ENGINE=ndbcluster AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
|
|
SELECT i, j, f, d, d2, ch, vch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c FROM t1 ORDER BY i;
|
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 1296 Table definition contains obsolete data types such as old temporal or decimal types
|
|
Warning 1296 Failed to discover table 't1' from NDB, could not upgrade table with extra metadata version 1
|
|
Error 1146 Table 'test.t1' doesn't exist
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 101011
|
|
2 101 101 110 111 101011
|
|
INSERT INTO bit1 VALUES();
|
|
UPDATE bit1 SET b5=b'1111111' WHERE pk = 1;
|
|
REPLACE INTO bit1(pk, b3) VALUES(6, B'110011');
|
|
SELECT pk,BIN(b1),BIN(b2),BIN(b3),BIN(b4),BIN(b5) FROM bit1 ORDER BY pk;
|
|
pk BIN(b1) BIN(b2) BIN(b3) BIN(b4) BIN(b5)
|
|
1 111 101 110 11 1111111
|
|
2 101 101 110 111 101011
|
|
3 111 101 110 11 101011
|
|
6 111 101 110011 11 101011
|
|
DROP TABLE bit1;
|
|
*************************************************************
|
|
* Test adding a unique index to a column with a default value
|
|
*************************************************************
|
|
CREATE TABLE t2(
|
|
i INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
j INT DEFAULT 6,
|
|
f FLOAT NOT NULL DEFAULT 6.6,
|
|
d DOUBLE DEFAULT 8.8,
|
|
UNIQUE INDEX t2_unique_index(j)
|
|
)ENGINE=NDB PARTITION BY KEY() PARTITIONS 8;
|
|
INSERT INTO t2 VALUES();
|
|
INSERT INTO t2 VALUES();
|
|
ERROR 23000: Duplicate entry '6' for key 't2_unique_index'
|
|
INSERT INTO t2 VALUES(10, 10, 10.0, 10.0);
|
|
SELECT * FROM t2 ORDER BY i;
|
|
i j f d
|
|
1 6 6.6 8.8
|
|
10 10 10 10
|
|
*************************************************************
|
|
* Test offline alter of default values
|
|
*************************************************************
|
|
ALTER TABLE t2 MODIFY COLUMN j INT DEFAULT 666;
|
|
-- t2 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 4
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
i Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
|
|
j Int NULL AT=FIXED ST=MEMORY DEFAULT 666
|
|
f Float NOT NULL AT=FIXED ST=MEMORY DEFAULT 6.600000
|
|
d Double NULL AT=FIXED ST=MEMORY DEFAULT 8.800000
|
|
-- Indexes --
|
|
PRIMARY KEY(i) - UniqueHashIndex
|
|
PRIMARY(i) - OrderedIndex
|
|
t2_unique_index(j) - OrderedIndex
|
|
t2_unique_index$unique(j) - UniqueHashIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO t2 VALUES();
|
|
SELECT * FROM t2 ORDER BY i;
|
|
i j f d
|
|
1 6 6.6 8.8
|
|
10 10 10 10
|
|
11 666 6.6 8.8
|
|
*************************************************************
|
|
* Test that online alter of default values fails
|
|
*************************************************************
|
|
ALTER TABLE t2 algorithm=inplace, MODIFY COLUMN j INT DEFAULT 888;
|
|
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Altering default value is not supported. Try ALGORITHM=COPY.
|
|
DROP TABLE t2;
|
|
**************************************************************
|
|
* Test not null-after-defaults example that failed previously
|
|
**************************************************************
|
|
CREATE TABLE t1 (
|
|
a int primary key,
|
|
b int default 12,
|
|
c char not null
|
|
)ENGINE=NDB PARTITION BY KEY() PARTITIONS 8;
|
|
-- t1 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Int NULL AT=FIXED ST=MEMORY DEFAULT 12
|
|
c Char(4;utf8mb4_0900_ai_ci) NOT NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
DROP TABLE t1;
|
|
**************************************************************
|
|
* Test mix of null, not-null, default etc..
|
|
**************************************************************
|
|
CREATE TABLE t1 (a int primary key,
|
|
b int default 12,
|
|
c char not null,
|
|
d varchar(6) default 'Daniel',
|
|
e char(3) default 'Stu',
|
|
f enum('NBFry','Kebab') default 'NBFry',
|
|
g set('Chips','Pie','Fish') default 'Fish,Chips',
|
|
h enum('Pig','Lion') not null,
|
|
i char(2) default '66')
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
-- t1 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 9
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Int NULL AT=FIXED ST=MEMORY DEFAULT 12
|
|
c Char(4;utf8mb4_0900_ai_ci) NOT NULL AT=FIXED ST=MEMORY
|
|
d Varchar(24;utf8mb4_0900_ai_ci) NULL AT=SHORT_VAR ST=MEMORY DEFAULT "Daniel"
|
|
e Char(12;utf8mb4_0900_ai_ci) NULL AT=FIXED ST=MEMORY DEFAULT "Stu"
|
|
f Char(1;binary) NULL AT=FIXED ST=MEMORY DEFAULT "0x01"
|
|
g Char(1;binary) NULL AT=FIXED ST=MEMORY DEFAULT "0x05"
|
|
h Char(1;binary) NOT NULL AT=FIXED ST=MEMORY
|
|
i Char(8;utf8mb4_0900_ai_ci) NULL AT=FIXED ST=MEMORY DEFAULT "66"
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
DROP TABLE t1;
|
|
******************************************
|
|
* Test binary default with null char value
|
|
******************************************
|
|
CREATE TABLE t1 (a int primary key,
|
|
b binary(10) default 0x4142430045464748494a,
|
|
c varbinary(100) default 0x4142430045464748494a)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) NOT NULL,
|
|
`b` binary(10) DEFAULT 'ABC\0EFGHIJ',
|
|
`c` varbinary(100) DEFAULT 'ABC\0EFGHIJ',
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- t1 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Binary(10) NULL AT=FIXED ST=MEMORY DEFAULT 0x4142430045464748494A
|
|
c Varbinary(100) NULL AT=SHORT_VAR ST=MEMORY DEFAULT 0x4142430045464748494A
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
DROP TABLE t1;
|
|
***********************************
|
|
* Test timestamp column weirdness
|
|
http://dev.mysql.com/doc/refman/5.1/en/timestamp.html
|
|
***********************************
|
|
Timestamp updated on insert + update
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Full syntax for update on insert + update
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Default on insert only
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Set on update only
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
|
|
c int)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
|
|
`c` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 0
|
|
c Int NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a,c) VALUES (1,1);
|
|
SELECT * from variant;
|
|
a b c
|
|
1 0000-00-00 00:00:00 1
|
|
UPDATE variant SET c=2;
|
|
SELECT * from variant;
|
|
a b c
|
|
1 CURRENT_TIMESTAMP 2
|
|
DROP TABLE variant;
|
|
No auto-set default 0
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT 0)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '0000-00-00 00:00:00',
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 0
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 0000-00-00 00:00:00
|
|
DROP TABLE variant;
|
|
No auto-set default non-zero
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT 19770623000001)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '1977-06-23 00:00:01',
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 235861201
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 1977-06-23 00:00:01
|
|
DROP TABLE variant;
|
|
Non-first timestamp default insert value
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT 19770623000001,
|
|
c timestamp DEFAULT CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '1977-06-23 00:00:01',
|
|
`c` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 235861201
|
|
c Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b c
|
|
1 1977-06-23 00:00:01 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Non-first timestamp default update value
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT 19770623000001,
|
|
c timestamp ON UPDATE CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '1977-06-23 00:00:01',
|
|
`c` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 235861201
|
|
c Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b c
|
|
1 1977-06-23 00:00:01 NULL
|
|
UPDATE variant SET b=20100603000001;
|
|
SELECT * from variant;
|
|
a b c
|
|
1 2010-06-03 00:00:01 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Non-first timestamp set on insert+update
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp DEFAULT 19770623000001,
|
|
c timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '1977-06-23 00:00:01',
|
|
`c` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 235861201
|
|
c Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b c
|
|
1 1977-06-23 00:00:01 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Nullable timestamp no default
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp NULL)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 NULL
|
|
DROP TABLE variant;
|
|
Nullable timestamp default zero
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp NULL DEFAULT 0)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '0000-00-00 00:00:00',
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 0
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 0000-00-00 00:00:00
|
|
DROP TABLE variant;
|
|
Nullable timestamp default non-zero
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp NULL DEFAULT 19770623000001)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT '1977-06-23 00:00:01',
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY DEFAULT 235861201
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 1977-06-23 00:00:01
|
|
DROP TABLE variant;
|
|
Nullable timestamp auto insert val
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp NULL DEFAULT CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
Nullable timestamp auto update val
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp NULL ON UPDATE CURRENT_TIMESTAMP,
|
|
c int)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
|
`c` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 3
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
c Int NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a,c) VALUES (1,1);
|
|
SELECT * from variant;
|
|
a b c
|
|
1 NULL 1
|
|
UPDATE variant SET c=2;
|
|
SELECT * from variant;
|
|
a b c
|
|
1 CURRENT_TIMESTAMP 2
|
|
DROP TABLE variant;
|
|
Nullable timestamp auto insert+update val
|
|
CREATE TABLE variant (a int primary key,
|
|
b timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
|
|
engine = ndb
|
|
partition by key() partitions 8;
|
|
SHOW CREATE TABLE variant;
|
|
Table Create Table
|
|
variant CREATE TABLE `variant` (
|
|
`a` int(11) NOT NULL,
|
|
`b` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- variant --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 2
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
|
b Timestamp2(0) NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(a) - UniqueHashIndex
|
|
PRIMARY(a) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
INSERT INTO variant (a) VALUES (1);
|
|
SELECT * from variant;
|
|
a b
|
|
1 CURRENT_TIMESTAMP
|
|
DROP TABLE variant;
|
|
*************************************************************
|
|
* Restore data-only from old backup without native defaults *
|
|
*************************************************************
|
|
Create schema manually with differences for ndb_restore to
|
|
deal with. See the backup (or above) for the original schema.
|
|
- J changed from Int -> Bigint, and default changed from 6 to 6006
|
|
requires --promote-attributes AND default ignoring
|
|
- ch default changed from 'aaa' to 'aaaAAA', requires default ignoring
|
|
- vch missing in DB schema, requires --exclude-missing-columns
|
|
- timestamp_c default changed from CURRENT_TIMESTAMP to a const default (native)
|
|
requires default ignoring
|
|
- newOne is a new column with a default value, requires --exclude-missing-columns
|
|
- newTwo is a new nullable column with no default value, requires --exclude-missing-columns
|
|
CREATE TABLE t1 (
|
|
`i` int(11) NOT NULL AUTO_INCREMENT,
|
|
`j` bigint(20) NOT NULL DEFAULT '6006',
|
|
`f` float NOT NULL DEFAULT '6.6',
|
|
`d` double DEFAULT '8.8',
|
|
`d2` double NOT NULL,
|
|
`ch` char(19) DEFAULT 'aaaAAA',
|
|
`b` binary(19) DEFAULT 'ccc\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
|
|
`vb` varbinary(19) DEFAULT 'ddd',
|
|
`blob1` blob,
|
|
`text1` text,
|
|
`timestamp_c` timestamp NOT NULL DEFAULT '2010-06-07 13:06:22',
|
|
`newOne` varchar(255) DEFAULT 'Comment field default',
|
|
`newTwo` bigint(20) DEFAULT NULL,
|
|
PRIMARY KEY (`i`)
|
|
) ENGINE=ndbcluster AUTO_INCREMENT=18446744073709551615 DEFAULT CHARSET=latin1
|
|
PARTITION BY KEY() PARTITIONS 8;
|
|
Warnings:
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
CREATE TABLE bit1 (
|
|
`pk` int(11) NOT NULL AUTO_INCREMENT,
|
|
`b1` bit(3) DEFAULT b'111',
|
|
`b2` bit(9) DEFAULT b'101',
|
|
`b3` bit(23) DEFAULT b'110',
|
|
`b4` bit(37) DEFAULT b'11',
|
|
`b5` bit(63) DEFAULT b'101011',
|
|
PRIMARY KEY (`pk`)
|
|
) ENGINE=ndbcluster AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
|
|
PARTITION BY KEY() PARTITIONS 8;
|
|
Warnings:
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`i` int(11) NOT NULL AUTO_INCREMENT,
|
|
`j` bigint(20) NOT NULL DEFAULT '6006',
|
|
`f` float NOT NULL DEFAULT '6.6',
|
|
`d` double DEFAULT '8.8',
|
|
`d2` double NOT NULL,
|
|
`ch` char(19) DEFAULT 'aaaAAA',
|
|
`b` binary(19) DEFAULT 'ccc\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
|
|
`vb` varbinary(19) DEFAULT 'ddd',
|
|
`blob1` blob,
|
|
`text1` text,
|
|
`timestamp_c` timestamp NOT NULL DEFAULT '2010-06-07 13:06:22',
|
|
`newOne` varchar(255) DEFAULT 'Comment field default',
|
|
`newTwo` bigint(20) DEFAULT NULL,
|
|
PRIMARY KEY (`i`)
|
|
) ENGINE=ndbcluster AUTO_INCREMENT=18446744073709551615 DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY ()
|
|
PARTITIONS 8 */
|
|
-- t1 --
|
|
Version: Any
|
|
Fragment type: HashMapPartition
|
|
K Value: 6
|
|
Min load factor: 78
|
|
Max load factor: 80
|
|
Temporary table: no
|
|
Number of attributes: 13
|
|
Number of primary keys: 1
|
|
Length of frm data: XXX
|
|
Max Rows: 0
|
|
Row Checksum: 1
|
|
Row GCI: 1
|
|
SingleUserMode: 0
|
|
ForceVarPart: 1
|
|
PartitionCount: 8
|
|
FragmentCount: 8
|
|
PartitionBalance: SPECIFIC
|
|
ExtraRowGciBits: 0
|
|
ExtraRowAuthorBits: 0
|
|
TableStatus: Retrieved
|
|
Table options:
|
|
HashMap: DEFAULT-HASHMAP-3840-8
|
|
-- Attributes --
|
|
i Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
|
|
j Bigint NOT NULL AT=FIXED ST=MEMORY DEFAULT 6006
|
|
f Float NOT NULL AT=FIXED ST=MEMORY DEFAULT 6.600000
|
|
d Double NULL AT=FIXED ST=MEMORY DEFAULT 8.800000
|
|
d2 Double NOT NULL AT=FIXED ST=MEMORY
|
|
ch Char(19;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY DEFAULT "aaaAAA"
|
|
b Binary(19) NULL AT=FIXED ST=MEMORY DEFAULT 0x63636300000000000000000000000000000000
|
|
vb Varbinary(19) NULL AT=SHORT_VAR ST=MEMORY DEFAULT 0x646464
|
|
blob1 Blob(256,2000,0) NULL AT=MEDIUM_VAR ST=MEMORY BV=2 BT=NDB$BLOB_XX_8
|
|
text1 Text(256,2000,0;latin1_swedish_ci) NULL AT=MEDIUM_VAR ST=MEMORY BV=2 BT=NDB$BLOB_XX_9
|
|
timestamp_c Timestamp2(0) NOT NULL AT=FIXED ST=MEMORY DEFAULT 1275905182
|
|
newOne Varchar(255;latin1_swedish_ci) NULL AT=SHORT_VAR ST=MEMORY DEFAULT "Comment field default"
|
|
newTwo Bigint NULL AT=FIXED ST=MEMORY
|
|
-- Indexes --
|
|
PRIMARY KEY(i) - UniqueHashIndex
|
|
PRIMARY(i) - OrderedIndex
|
|
|
|
NDBT_ProgramExit: 0 - OK
|
|
|
|
SELECT i, j, f, d, d2, ch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, newOne, newTwo from t1 order by i;
|
|
i j f d d2 ch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c newOne newTwo
|
|
1 6 6.6 8.8 0 aaa 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:02 Comment field default NULL
|
|
2 6 6.6 8.8 0 aaa 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:02 Comment field default NULL
|
|
10 10 10 10 10 nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 6E6E6E6E6E nnnnn 2008-11-16 08:13:32 Comment field default NULL
|
|
11 6 6.6 8.8 0 mmm 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:20 Comment field default NULL
|
|
drop table bit1;
|
|
Now backup the current data and restore data-only to a different schema
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
`i` int(11) NOT NULL AUTO_INCREMENT,
|
|
`j` bigint NOT NULL DEFAULT '6',
|
|
`f` float NOT NULL DEFAULT '6.6',
|
|
`d` double DEFAULT '8.8',
|
|
`d2` double NOT NULL,
|
|
`ch` char(19) DEFAULT 'aaa',
|
|
`b` binary(19) DEFAULT 'ccc\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
|
|
`vb` varbinary(19) DEFAULT 'ddd',
|
|
`blob1` blob,
|
|
`text1` text,
|
|
`timestamp_c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`newOne` varchar(256) DEFAULT 'Comment field default',
|
|
PRIMARY KEY (`i`)
|
|
) ENGINE=ndbcluster AUTO_INCREMENT=18446744073709551615 DEFAULT CHARSET=latin1;
|
|
Warnings:
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
SELECT i, j, f, d, d2, ch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, newOne from t1 order by i;
|
|
i j f d d2 ch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c newOne
|
|
1 6 6.6 8.8 0 aaa 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:02 Comment field default
|
|
2 6 6.6 8.8 0 aaa 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:02 Comment field default
|
|
10 10 10 10 10 nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 6E6E6E6E6E nnnnn 2008-11-16 08:13:32 Comment field default
|
|
11 6 6.6 8.8 0 mmm 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:20 Comment field default
|
|
Now backup the current data then restore data-only to a schema with different defaults and no special ndb_restore options
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
`i` int(11) NOT NULL AUTO_INCREMENT,
|
|
`j` bigint NOT NULL DEFAULT '20',
|
|
`f` float NOT NULL DEFAULT '6.66',
|
|
`d` double DEFAULT '8.88',
|
|
`d2` double NOT NULL DEFAULT '9.99',
|
|
`ch` char(19) DEFAULT 'aaaZZZ',
|
|
`b` binary(19) DEFAULT 'ccccc\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
|
|
`vb` varbinary(19) DEFAULT 'dddDDDddd',
|
|
`blob1` blob,
|
|
`text1` text,
|
|
`timestamp_c` timestamp NOT NULL DEFAULT 20100608133131,
|
|
`newOne` varchar(256),
|
|
PRIMARY KEY (`i`)
|
|
) ENGINE=ndbcluster AUTO_INCREMENT=18446744073709551615 DEFAULT CHARSET=latin1;
|
|
Warnings:
|
|
Warning 1681 Integer display width is deprecated and will be removed in a future release.
|
|
SELECT i, j, f, d, d2, ch, HEX(b), HEX(vb), HEX(blob1), text1, timestamp_c, newOne from t1 order by i;
|
|
i j f d d2 ch HEX(b) HEX(vb) HEX(blob1) text1 timestamp_c newOne
|
|
1 6 6.6 8.8 0 aaa 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:02 Comment field default
|
|
2 6 6.6 8.8 0 aaa 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:02 Comment field default
|
|
10 10 10 10 10 nnnnn 6E6E6E6E6E0000000000000000000000000000 6E6E6E6E6E 6E6E6E6E6E nnnnn 2008-11-16 08:13:32 Comment field default
|
|
11 6 6.6 8.8 0 mmm 63636300000000000000000000000000000000 646464 NULL NULL 2008-12-18 17:41:20 Comment field default
|
|
drop table t1;
|
|
Bug#55121 error 839 'Illegal null attribute' from NDB for fields with default value
|
|
Ensure that Ndb handler doesn't expect native defaults for Blobs.
|
|
set @save_sql_mode = @@session.sql_mode;
|
|
set sql_mode=STRICT_TRANS_TABLES;
|
|
Warnings:
|
|
Warning 3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
|
|
CREATE TABLE t1 (
|
|
fid smallint(6) unsigned NOT NULL DEFAULT '0',
|
|
f01 text NOT NULL,
|
|
f02 varchar(255) NOT NULL DEFAULT '',
|
|
f03 text NOT NULL DEFAULT '',
|
|
PRIMARY KEY (fid)
|
|
) engine=ndb;
|
|
ERROR 42000: BLOB, TEXT, GEOMETRY or JSON column 'f03' can't have a default value
|
|
set sql_mode=@save_sql_mode;
|
|
Warnings:
|
|
Warning 3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
|
|
CREATE TABLE t1 (
|
|
fid smallint(6) unsigned NOT NULL DEFAULT '0',
|
|
f01 text NOT NULL,
|
|
f02 varchar(255) NOT NULL DEFAULT '',
|
|
f03 text NOT NULL DEFAULT '',
|
|
PRIMARY KEY (fid)
|
|
) engine=ndb;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`fid` smallint(6) unsigned NOT NULL DEFAULT '0',
|
|
`f01` text NOT NULL,
|
|
`f02` varchar(255) NOT NULL DEFAULT '',
|
|
`f03` text NOT NULL,
|
|
PRIMARY KEY (`fid`)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
|
|
insert into t1(fid) value(100);
|
|
Warnings:
|
|
Warning 1364 Field 'f01' doesn't have a default value
|
|
select fid, isnull(f01), isnull(f02), isnull(f03) from t1;
|
|
fid isnull(f01) isnull(f02) isnull(f03)
|
|
100 0 0 0
|
|
drop table t1;
|
|
SET GLOBAL ndb_metadata_check = @old_ndb_metadata_check_server2;
|
|
SET GLOBAL ndb_metadata_check = @old_ndb_metadata_check_server1;
|