Summary:
With YOG + MySQL 5.1.9 + InnoDB you can create (rename) a tablename with a '.' ' like 'tablename.ext'. You cannot with other clients and/or Server versions.
My experience more in detail:
With MySQL 5.1.9 (running on Win XP) and SQLyog I can rename an InnoDB table from 'tablename' to 'tablename.ext'. Actually it shows up with 'show tables' and I can insert data etc. Other server versions reject that. Also with command-line client and MySQL Administrator it it not possible with 5.1 either.
Now I have experienced two times that if I rename to 'tablename.csv' and disconnect after doing so, I AM NOT ABLE TO CONNECT anymore with ANY client! But if I replace Server installation folder with the binaries and all other files (except the /datadir, that is located on another drive!) and can connect - and after that it shows that the table name was NOT changed on disk! )
Now MySQL 5.1 introduces the CSV storage engine. Any connection here?? Or just a coincidence that it happened when renaming table to .csv and not something else ?
This is pretty dangerous, I think.
I don't know what is the issue. A combination of the use of 5.0 API and a flush-bug with InnoDB for MySQL 5.1? I think it is obvious some temporary tables had their names changed - tables on disk do not. Should SQLyog flush immediately after such operation (on InnoDB) ?
@Ritesh
I write it here in the first place. But even if SQLyog's API is not 'fully fit' for 5.1, this should not happen. I think you should research into it and maybe file a bug-report or discuss with MySQL AB. I don't think I (yet) have precise information to file anything.
But this should be simple to verify:
"With MySQL 5.1.9 and SQLyog I can rename an InnoDB table from 'tablename' to 'tablename.ext'. Actually it shows up with 'show tables' and I can insert data etc. Other server versions reject that. Also with command-line client and MySQL Administrator it it not possible with 5.1 either."