On Tue, 2003-10-28 at 12:07, Guilhem Bichot wrote: > On Tue, 2003-10-28 at 00:15, Guilhem Bichot wrote: > > On Mon, 2003-10-27 at 22:01, Dathan Vance Pattishall wrote: > > > So the conclusion is: unfortunately, the symlink support in MySQL was > > not designed for "synonyming", as far as DDL (Data Definition Language - > > CREATE TABLE / DROP TABLE / ALTER TABLE) commands are concerned. It was > > designed with the thought that symlinks are to be used to point to a > > *different* directory (another partition where there is more room, or > > another device to balance disk load). For DDL commands MySQL always > > expects a table to exist only once, i.e. to have only one name. Putting, > > in the database directory, a symlink and the real table means giving 2 > > names to one table... > > > > I will add a note about this into our manual soon. I understand this is > > is an inconvenience for you; you will be safe if you always do the DDL > > commands (ALTER TABLE, in your case) on the real table. It's ok to do > > DML commands (INSERT/DELETE/UPDATE/LOADDATA, which fortunately occur > > much more often than ALTER TABLE normally) on both tables indifferently. > > Sorry, I should have been more accurate in the last sentence. > It's ok to do DML commands *always* on the real table OR *always* on the > synonym table. > If thread1 uses the real table's name, and thread 2 uses the synonym, > the query cache can be fooled: > - set global query_cache_size=1000000; > - connection1: select * from tbl_; > - connection2: insert into tbl values(1); > - connection1: select * from tbl_; you don't see the inserted row! > - connection1: flush tables (empties caches); select * from tbl_; you > see the inserted row! > > Even if you disable the query cache, I am not sure if it's safe to use > both names; there could be some other fooled caches in MySQL. > > Simply put, things go wild when the real name and the synonym are both > used. Which impacts the interest of using synonyms (hum). And FLUSH > TABLES is a remedy. > > I'll add this to the manual.
Added. You should be able to see it in our online manual www.mysql.com/doc (end of section "Using symbolic links") in the next hours. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]