| Bug #48779 | bogus 'unknown database' error when encoding long table names on windows | ||
|---|---|---|---|
| Submitted: | 15 Nov 2009 11:28 | Modified: | 16 Nov 2009 12:41 |
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: DDL | Severity: | S3 (Non-critical) |
| Version: | 5.1.40 | OS: | Windows (XP64) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | regression | ||
[15 Nov 2009 11:28]
Shane Bester
[15 Nov 2009 11:35]
Valeriy Kravchuk
No problem like this on Mac OS X: mysql> select version(); +--------------+ | version() | +--------------+ | 5.1.42-debug | +--------------+ 1 row in set (0.01 sec) mysql> create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam; Query OK, 0 rows affected (0.39 sec) mysql> create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam; Query OK, 0 rows affected (0.08 sec) mysql> create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam; Query OK, 0 rows affected (0.07 sec)
[15 Nov 2009 12:22]
Peter Laursen
This DROP DATABASE IF EXISTS hello; CREATE DATABASE hello; USE hello; CREATE TABLE `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` INT)ENGINE=MYISAM; CREATE TABLE `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` INT)ENGINE=MYISAM; .. works fine for me on Windows7 64 bit with 64 bit server for Windows. SHOW FULL TABLES; /* Tables_in_hello Table_type ------------------------------------ ---------- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BASE TABLE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BASE TABLE */
[15 Nov 2009 17:00]
MySQL Verification Team
I couldn't repeat too: c:\dbs>c:\dbs\5.1\bin\mysql -uroot --port=3510 --prompt="mysql 5.1 >" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.42-Win X64-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.1 >drop database if exists hello; Query OK, 1 row affected (0.15 sec) mysql 5.1 >create database hello; Query OK, 1 row affected (0.01 sec) mysql 5.1 >use hello; Database changed mysql 5.1 >create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam; Query OK, 0 rows affected (0.14 sec) mysql 5.1 >create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam; Query OK, 0 rows affected (0.17 sec) mysql 5.1 >
[15 Nov 2009 17:23]
MySQL Verification Team
maybe the total length of path matters? my datadir is: E:\downloads\mysql\5.1\5.1.40\mysql-advanced-gpl-5.1.40-winx64\data
[16 Nov 2009 10:49]
Peter Laursen
My path is the installer default path: C:\ProgramData\MySQL\MySQL Server 5.1
[16 Nov 2009 12:41]
MySQL Verification Team
Thank you for the bug report. Verified installing the server on path similar of the one reported:
Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
c:\dbs>cd C:\Downloads\mysql\5.1\5.1.40\mysql-advanced-gpl-5.1.40-winx64
C:\Downloads\mysql\5.1\5.1.40\mysql-advanced-gpl-5.1.40-winx64>bin\mysql -uroot test
ERROR 1049 (42000): Unknown database 'test'
C:\Downloads\mysql\5.1\5.1.40\mysql-advanced-gpl-5.1.40-winx64>bin\mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.42-Win X64 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database hello;
Query OK, 1 row affected (0.05 sec)
mysql> use hello;
Database changed
mysql> create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam;
Query OK, 0 rows affected (0.15 sec)
mysql> create table `!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`(`a` int)engine=myisam;
ERROR 1049 (42000): Unknown database 'hello'
mysql>
mysql> show variables like "datadir"\G
*************************** 1. row ***************************
Variable_name: datadir
Value: C:\Downloads\mysql\5.1\5.1.40\mysql-advanced-gpl-5.1.40-winx64\data\
1 row in set (0.00 sec)
mysql>
