← Back to team overview

maria-discuss team mailing list archive

Re: MariaDB 10: how to convert Aria table to InnoDB?

 

I agree with Harald here!

-- Peter

On Mon, Mar 2, 2015 at 2:37 PM, Reindl Harald <h.reindl@xxxxxxxxxxxxx>
wrote:

>
> Am 02.03.2015 um 14:26 schrieb Ian Gilfillan:
>
>> This is probably because strict mode is set. If unset, it should return
>> a warning, not an error. From MariaDB 10.1.2, you can use:
>> SET STATEMENT sql_mode='' FOR ALTER TABLE `systemevents` ENGINE = InnoDB;
>> which will unset strict mode just for that query, otherwise for older
>> versions just set it off and on again for the session to alter.
>>
>
> indeed *but* why does "TRANSACTIONAL=0" don't go away after convert to
> InnoDB?
>
> 'show create table' looks like below and the seems to confuse phpMyAdmin
>
> i am pretty sure that i played around switching bewteen Aria/MyISAM/InnoDB
> with 5.5 multiple times and "sql-mode = STRICT_ALL_TABLES" is enabled on
> all machines for years - strange
>
> CREATE TABLE `systemevents` (
>   `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
>   `DeviceReportedTime` datetime DEFAULT NULL,
>   `FromHost` varchar(30) CHARACTER SET latin1 COLLATE latin1_german1_ci
> NOT NULL,
>   `Message` text,
>   `SysLogTag` varchar(60) DEFAULT NULL,
>   PRIMARY KEY (`ID`),
>   KEY `FromHost` (`FromHost`),
>   KEY `SysLogTag` (`SysLogTag`),
>   KEY `DeviceReportedTime` (`DeviceReportedTime`)
> ) ENGINE=InnoDB AUTO_INCREMENT=698045 DEFAULT CHARSET=utf8 PACK_KEYS=0
> DELAY_KEY_WRITE=1 ROW_FORMAT=COMPRESSED TRANSACTIONAL=0
>
>
>  On 02/03/2015 15:09, Reindl Harald wrote:
>>
>>> how do someone convert a Aria table to another engine?
>>> MyISAM and InnoDB results in the same error
>>> ___________________________________________________________
>>>
>>> MariaDB [dbmail]> ALTER TABLE `systemevents` ENGINE = InnoDB;
>>> ERROR 1478 (HY000): Table storage engine 'InnoDB' does not support the
>>> create option 'TRANSACTIONAL=1'
>>>
>>> MariaDB [dbmail]> ALTER TABLE `systemevents` TRANSACTIONAL=0;
>>> Query OK, 0 rows affected (0.03 sec)
>>> Records: 0  Duplicates: 0  Warnings: 0
>>>
>>> MariaDB [dbmail]> ALTER TABLE `systemevents` ENGINE = InnoDB;
>>> ERROR 1478 (HY000): Table storage engine 'InnoDB' does not support the
>>> create option 'TRANSACTIONAL=1'
>>> ___________________________________________________________
>>>
>>> CREATE TABLE `systemevents` (
>>>   `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
>>>   `DeviceReportedTime` datetime DEFAULT NULL,
>>>   `FromHost` varchar(30) CHARACTER SET latin1 COLLATE
>>> latin1_german1_ci NOT NULL,
>>>   `Message` text,
>>>   `SysLogTag` varchar(60) DEFAULT NULL,
>>>   PRIMARY KEY (`ID`),
>>>   KEY `FromHost` (`FromHost`),
>>>   KEY `SysLogTag` (`SysLogTag`),
>>>   KEY `DeviceReportedTime` (`DeviceReportedTime`)
>>> ) ENGINE=Aria AUTO_INCREMENT=698044 DEFAULT CHARSET=utf8 PACK_KEYS=0
>>> PAGE_CHECKSUM=0 DELAY_KEY_WRITE=1 ROW_FORMAT=PAGE TRANSACTIONAL=0
>>>
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~maria-discuss
> Post to     : maria-discuss@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>

References