When I try to create a table in NDB Cluster 7.3.5 with disk storage, I get following error:
Got error 851 'Maximum 8052 bytes of FIXED columns supported, use varchar or COLUMN_FORMAT DYNAMIC instead' from NDBCLUSTER
The DDL for table is as given below:
DROP TABLE IF EXISTS `temp_audit_table`;
CREATE TABLE `temp_audit_table` (
`id` INT(7) NOT NULL,
`transaction_id` INT(7) NULL DEFAULT NULL,
`action_time` DATETIME NULL DEFAULT NULL,
`logged_in_user` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`action` VARCHAR(20) NULL DEFAULT NULL COLLATE 'latin1_bin',
`entity_type` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`entity_index` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`item_changed` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`description` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`old_value` VARCHAR(4000) NULL DEFAULT NULL COLLATE 'latin1_bin',
`new_value` VARCHAR(4000) NULL DEFAULT NULL COLLATE 'latin1_bin',
`group_id` INT(11) NULL DEFAULT NULL,
`user_id` INT(11) NULL DEFAULT NULL,
`modified_user` VARCHAR(30) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
STORAGE DISK TABLESPACE hhmefep_tbs ENGINE = ndbcluster;
I have one doubt regarding above DDL,
when I specify only "ENGINE = ndbcluster;" rather than all long description of tablespace etc. the table gets created and also displayed in 2 mysql cluster nodes (which means replicated).
So what happens in this case ..?
1) Is the whole table stored in memory ?
2) Is it mandatory to specify storage DISK in DDL ?
Guys please help..