I noticed that the JS code that handles the recent tables in the navigation frame operates under the assumption that there will only ever be one dot in the database+table string. This is not true. To reproduce the problem:
* create database 'abc.def' * in this database create table 'ghi' * browse this table * now select it from the recent table dropdown * you are dropped to main.php because PMA is looking for database 'abc' and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's certainly legal. So maybe the check should be for the last occurrence of a dot...
Rouslan
2011/8/1 Rouslan Placella rouslan@placella.com:
I noticed that the JS code that handles the recent tables in the navigation frame operates under the assumption that there will only ever be one dot in the database+table string. This is not true. To reproduce the problem:
- create database 'abc.def'
- in this database create table 'ghi'
- browse this table
- now select it from the recent table dropdown
- you are dropped to main.php because PMA is looking for database 'abc'
and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's certainly legal. So maybe the check should be for the last occurrence of a dot...
Then we will still have problems with dots in table names. From what you are saying it looks like this should be changed to get these names from some other place.
On Mon, 2011-08-01 at 14:24 +0200, Piotr Przybylski wrote:
2011/8/1 Rouslan Placella rouslan@placella.com:
I noticed that the JS code that handles the recent tables in the navigation frame operates under the assumption that there will only ever be one dot in the database+table string. This is not true. To reproduce the problem:
- create database 'abc.def'
- in this database create table 'ghi'
- browse this table
- now select it from the recent table dropdown
- you are dropped to main.php because PMA is looking for database 'abc'
and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's certainly legal. So maybe the check should be for the last occurrence of a dot...
Then we will still have problems with dots in table names. From what you are saying it looks like this should be changed to get these names from some other place.
Last time I checked dots in table names were illegal, but yeah, having the db and table name already split would definitely be a win.
Rouslan
On Mon, 2011-08-01 at 14:24 +0200, Piotr Przybylski wrote:
2011/8/1 Rouslan Placella rouslan@placella.com:
I noticed that the JS code that handles the recent tables in the navigation frame operates under the assumption that there will only ever be one dot in the database+table string. This is not true. To reproduce the problem:
- create database 'abc.def'
- in this database create table 'ghi'
- browse this table
- now select it from the recent table dropdown
- you are dropped to main.php because PMA is looking for database 'abc'
and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's certainly legal. So maybe the check should be for the last occurrence of a dot...
Then we will still have problems with dots in table names. From what you are saying it looks like this should be changed to get these names from some other place.
Last time I checked dots in table names were illegal (or at least they don't work in pma), but yeah, having the db and table name already split would definitely be a win.
Rouslan
On Mon, Aug 1, 2011 at 3:24 PM, Piotr Przybylski piotr.prz@gmail.com wrote:
2011/8/1 Rouslan Placella rouslan@placella.com:
I noticed that the JS code that handles the recent tables in the navigation frame operates under the assumption that there will only ever be one dot in the database+table string. This is not true. To reproduce the problem:
- create database 'abc.def'
- in this database create table 'ghi'
- browse this table
- now select it from the recent table dropdown
- you are dropped to main.php because PMA is looking for database 'abc'
and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's certainly legal. So maybe the check should be for the last occurrence of a dot...
Then we will still have problems with dots in table names. From what you are saying it looks like this should be changed to get these names from some other place.
Indeed. Dots in identifiers was not an issue before MySQL 5.1.6. But after 5.1.6 you can have dots everywhere (db names, tables, columns, etc..).
This new behavior is documented at http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
-- Regards, Piotr Przybylski
Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
On 1 Agu 2011, at 20:29, Tyron Madlener tyronx@gmail.com wrote:
On Mon, Aug 1, 2011 at 3:24 PM, Piotr Przybylski piotr.prz@gmail.com wrote:
2011/8/1 Rouslan Placella rouslan@placella.com:
I noticed that the JS code that handles the recent tables in the navigation frame operates under the assumption that there will only ever be one dot in the database+table string. This is not true. To reproduce the problem:
- create database 'abc.def'
- in this database create table 'ghi'
- browse this table
- now select it from the recent table dropdown
- you are dropped to main.php because PMA is looking for database 'abc'
and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's certainly legal. So maybe the check should be for the last occurrence of a dot...
Then we will still have problems with dots in table names. From what you are saying it looks like this should be changed to get these names from some other place.
Indeed. Dots in identifiers was not an issue before MySQL 5.1.6. But after 5.1.6 you can have dots everywhere (db names, tables, columns, etc..).
This new behavior is documented at http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
Oh, right. I missed this part in MySQL docs. I will fix this soon. Thanks for the feedback. :)
-- Aris Feryanto
From: Aris Feryanto aris_feryanto@yahoo.com
On 1 Agu 2011, at 20:29, Tyron Madlener tyronx@gmail.com wrote:
On Mon, Aug 1, 2011 at 3:24 PM, Piotr Przybylski piotr.prz@gmail.com wrote:
2011/8/1 Rouslan Placella rouslan@placella.com:
I noticed that the JS code that handles the recent tables in the
navigation frame operates under the assumption that there will only ever
be one dot in the database+table string. This is not true. To reproduce
the problem:
- create database 'abc.def'
- in this database create table 'ghi'
- browse this table
- now select it from the recent table dropdown
- you are dropped to main.php because PMA is looking for database 'abc'
and table 'def' (the 'ghi' part is discarded)
I'm not saying that it's sane to put dots in the database name, but it's
certainly legal. So maybe the check should be for the last occurrence of
a dot...
Then we will still have problems with dots in table names. From what
you are saying it looks like this should be changed to get these names
from some other place.
Indeed. Dots in identifiers was not an issue before MySQL 5.1.6. But after 5.1.6 you can have dots everywhere (db names, tables, columns, etc..).
This new behavior is documented at http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
Oh, right. I missed this part in MySQL docs. I will fix this soon. Thanks for the feedback. :)
Commit 376cc353dcddbc7ed4568c6cc4ffdbad147bf15f in my git should fix this. Thanks. :)
-- Aris Feryanto