Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.22
-
FreeBSD 10.3.R 2017Q2
Description
The current documentation implies by omission that
CREATE TABLE tname ( cols descr ) DATA DIRECTORY='absolute path'
is sufficiently specific. My tables on my dev machine are in /Local/tables. I want to add an ssd so that table creation and population takes less than geologic time (they're of multi-GB size, and my discs are mechanical). So naturally I created the mount point /Local/tables/SSD, and fixed up permits (0700) and ownership (mysql:mysql).
But attempting to
CREATE TABLE foo2 (bar INT) DATA DIRECTORY='/Local/tables/SSD' ENGINE=ARIA
failed with a 1210 (HY000) Incorrect arguments to DATA DIRECTORY.
It made no sense. After some search and experiment I discovered that one cannot have the alternative subtree as a child of the datadir subtree. Putting it at root level (/SSD) works, and even /Local/SSD is okay. But /Local/tables/SSD does not work and the error message is not helpful.
This is not documented very well at all, but should be, both in CREATE TABLE and in ERROR 1210. because it's a counter-intuitive limitation and is very productive of baffling errors.
I'd make the edits myself, but can't discover how to get at the docs in edit mode.