Comments - The maria/5.3-gis tree on Launchpad.

11 years, 7 months ago Gene Vayngrib

here is the output of mysql client:

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 52 Server version: 5.5.27-28.1 Percona Server (GPL), Release 28.1

Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> connect gwb Connection id: 53 Current database: gwb

mysql> CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g)) ENGINE=aria; ERROR 1464 (HY000): The used table type doesn't support SPATIAL indexes

 
11 years, 7 months ago Elena Stepanova

I don't think that Percona Server has Aria storage engine. Please run SHOW ENGINES to make sure. If it doesn't, then, just as Holyfoot said, it substitutes it with a default storage engine (which is of course InnoDB/XtraDB), and throws the error.

 
11 years, 7 months ago Gene Vayngrib
  • it seemed to me that Aria was present, judging by this:

mysql> CREATE TABLE geom (g GEOMETRY NOT NULL) ENGINE=aria; Query OK, 0 rows affected, 2 warnings (0.30 sec)

mysql> insert into geom (g) values (GeomFromText('POLYGON ((30 20, 10 40, 45 40, 30 20))')); Query OK, 1 row affected (0.06 sec)

mysql> select * from geom; +-----------------------------------------------------------------------------------+

g

+-----------------------------------------------------------------------------------+

   >@ 4@ $@ D@ �F@ D@ >@ 4@

+-----------------------------------------------------------------------------------+ 1 row in set (0.00 sec)

  • then I did "show engines" and it is not there (see below), so I changed aria to aria one in create table and MySQL did not complain. Looks like MySQL ignores non-existent engine and uses MyISAM.

mysql> show engines; +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+

EngineSupportCommentTransactionsXASavepoints

+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+

PERFORMANCE_SCHEMAYESPerformance SchemaNONONO
MRG_MYISAMYESCollection of identical MyISAM tablesNONONO
MyISAMYESMyISAM storage engineNONONO
BLACKHOLEYES/dev/null storage engine (anything you write to it disappears)NONONO
MEMORYYESHash based, stored in memory, useful for temporary tablesNONONO
CSVYESCSV storage engineNONONO
ARCHIVEYESArchive storage engineNONONO
InnoDBDEFAULTPercona-XtraDB, Supports transactions, row-level locking, and foreign keysYESYESYES
FEDERATEDNOFederated MySQL storage engineNULLNULLNULL

9 rows in set (0.00 sec)

 
11 years, 7 months ago Gene Vayngrib

clarification: I changed aria to aria1 in create table and MySQL performed it without a problem.

 
11 years, 7 months ago Elena Stepanova

You can see that your statement

CREATE TABLE geom (g GEOMETRY NOT NULL) ENGINE=aria; 
Query OK, 0 rows affected, 2 warnings (0.30 sec)

produced 2 warnings. If you run

SHOW WARNINGS;

right afterwards, you'll see that the unknown engine was substituted by a default one. To avoid this behavior, you can set sql_mode to NO_ENGINE_SUBSTITUTION.

 
11 years, 7 months ago Gene Vayngrib

thx, but the real question now is, how do I include Aria egine into Percona Server?

 
11 years, 7 months ago Vladislav Vaintroub

thx, but the real question now is, how do I include Aria egine into Percona Server?

The real question is why do you want to have Aria engine in Percona Server, if you can have MariaDB that already includes useful parts of PerconaServer as well as Aria engine? :)

On a more serious note, it might be possible to include Aria or other storage engines into Percona Server (since it has MySQL "pluggability" as well). Likely some hacking in build scripts would be necessary. We never tried it here. I think appropriate place to ask a PerconaServer related question like this question is http://forum.percona.com/

 
11 years, 7 months ago Gene Vayngrib

You make a good point, I will as on Percona forum. When the official MySQL builds stopped coming a couple of years ago, we actually switched to MariaDB. Then MariaDB development seemed to have slowed down and the features we wanted were availble only in PerconaServer, so we switched to it. Each transition had its own problems and I am not yet ready to introduce another disturbance into our production environment, especially since MariaDB is not yet at the MySQL 5.6 level (we need precise object shapes support and are evaluating a move to MySQL 5.6) and fully ACID-compliant Aria 2.0 is not ready yet (we need spatial tables with spatial indexes to be part of the transaction that involves InnoDB tables). If you could offer any thoughts on addressing issues at hand, I would be very greatful.

 
11 years, 7 months ago Sergei Golubchik

Hm. MariaDB supports precise object shapes since the version 5.3, which went GA on 29-02-2012. While MySQL 5.6 is still a milestone release.

 
11 years, 6 months ago Gene Vayngrib

good to know, thx. I presume you mean geo functions starting with ST_ prefix.

 
11 years, 6 months ago Alexey Botchkov

That's right. These 'ST_functions' are available in MariaDB.

 
11 years, 6 months ago Gene Vayngrib

thanks for all the replies!

If I may, in evaluating the switch to MariDB, we will need the functionality we use in Percona Server now, specifically, the MEMORY engine dynamic row format patch that allows to support TEXT fields. - I hope it is present in MariaDB 5.5 (my googling indicates this but not conclusively). - And while at it, was MariaDB ever improved to use this DFR patch for the internal tmp tables? I Googled and could not locate anything written on this subject, except a year old Percona blog post mentioning that they intended to do it some day: http://www.mysqlperformanceblog.com/2011/09/06/dynamic-row-format-for-memory-tables/

Many Thanks, Gene

 
11 years, 6 months ago Sergei Golubchik

Unfortunately, dynamic row format patch for MariaDB was never finished. We've started porting it, but then it was put on hold.

 
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.