Bug #1039 tmpdir and datadir not available via @@ system variable syntax
Submitted: 13 Aug 2003 5:54 Modified: 22 May 2006 1:27
Reporter: Tim Bunce Email Updates:
Status: Closed Impact on me:
Category:MySQL Server Severity:S4 (Feature request)
Version: OS:
Assigned to: Jim Winstead CPU Architecture:Any
Triage: D5 (Feature request)

[13 Aug 2003 5:54] Tim Bunce
My specific need is for

  create TEMPORARY table ... DATA DIRECTORY=@@datadir

to work so I can create temporary table that are not stored in tmpdir
(which may be a swap space filesystem and too small to use in some cases).

Apart from making @@datadir available it may require changes to the parser.

How to repeat:
mysql> select @@datadir;
ERROR 1193: Unknown system variable 'datadir'

Suggested fix:
Make all system variables available via the @@ syntax for consistency.
[10 Nov 2003 8:07] Boyd Gerber
This has been turned into a feature request
[7 May 2006 23:45] Roland Bouman
Is anyone considering to implement this? 

I sure hope so.
[8 May 2006 0:19] Roland Bouman
Actually, what I mean is the implementation of 

select @@datadir;

Not the ability to reference that value in a CREATE TABLE statement. 

It seems mighty odd that:

mysql> show variables like 'datadir';
| Variable_name | Value                           |
| datadir       | D:\MySQL\MySQL Server 5.1\Data\ |
1 row in set (0.00 sec)

, but:

mysql> select @@datadir;
ERROR 1193 (HY000): Unknown system variable 'datadir'
[8 May 2006 23:36] Jim Winstead
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

[20 May 2006 1:50] Jim Winstead
Fixed in 5.0.22. Merge to 5.1 is still pending.
[20 May 2006 6:07] Jim Winstead
Fixed in 5.0.22 and 5.1.11.
[22 May 2006 1:27] Paul Dubois
Noted in 5.0.22, 5.1.11 changelogs.

The <literal>basedir</literal> and <literal>tmpdir</literal>
system variables could not be access via
syntax. (Bug #1039)