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>