Re: suspected bug...

2003-03-13 Thread dpgirago



I could be lame, but I couldn't reproduce the error.
The query worked ok for me -- using 4.0.4-beta-max-nt


i posted this to the newsgroups and got told it was probably a sql
parser bug so here goes...

if u try to execute a query such as:

insert into foo (id,textfield) values (54,'\\fred\\')

the query fails

if i add a space after the last \\ it works
this is a real pain personally cos we use a lot of that stuff :(
any workarounds or fixes or whatnots?

many thanks

lauren

David



-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



Re: suspected bug...

2003-03-13 Thread Csongor Fagyal
[EMAIL PROTECTED] wrote:

I could be lame, but I couldn't reproduce the error.
The query worked ok for me -- using 4.0.4-beta-max-nt
Isn't Lauren using a language that uses \ as an escaping character? And 
then tries to do something with \f? If it works form the mysql comman 
line, then this can be the case.

- Cs.



 

i posted this to the newsgroups and got told it was probably a sql
parser bug so here goes...
if u try to execute a query such as:

insert into foo (id,textfield) values (54,'\\fred\\')

the query fails

if i add a space after the last \\ it works
this is a real pain personally cos we use a lot of that stuff :(
any workarounds or fixes or whatnots?
many thanks

lauren
   



-
Before posting, please check:
  http://www.mysql.com/manual.php   (the manual)
  http://lists.mysql.com/   (the list archive)
To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php


Re: suspected bug...

2003-03-13 Thread Keith C. Ivey
On 13 Mar 2003, at 14:59, lauren wrote:

 if u try to execute a query such as:
 
 insert into foo (id,textfield) values (54,'\\fred\\')
 
 the query fails
 
 if i add a space after the last \\ it works
 this is a real pain personally cos we use a lot of that stuff :(

You'll have to show us exactly how you're getting the query to MySQL. 
Are you using PHP? Perl? C?  Regardless, I suspect that by the time 
the SQL gets to MySQL you don't have as many backslashes as you think 
you do.  Constructing strings that have contain backslashes, 
especially multiple backslashes, and passing them around can be 
tricky.  If you're doing this in PHP:

  $sql = INSERT INTO foo (id, text_field) VALUES (54, '\\fred\\');

then the string doesn't actually contain double backslashes, only 
single ones, so it'll be invalid if you pass it to MySQL.  You'll 
need quadruple backslashes in your PHP to end up with double 
backslashes in your SQL.  (And things get even worse if you're using 
LIKE, which involves yet another level of escaping.)

If your backslash-containing strings are file paths, you might 
consider avoiding the complication and using forward slashes instead. 
They work fine on Windows in most contexts.

-- 
Keith C. Ivey [EMAIL PROTECTED]
Tobacco Documents Online
http://tobaccodocuments.org
Phone 202-667-6653

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



RE: suspected bug...

2003-03-13 Thread lauren
the actual horror story query is:

update link set path=insert(path,1,13,'\\test\\test21\\') where
person_id = 8 and path like '\\test\\test2\\%'

am going slightly dilly
:/

---
even if my world is weird its my world


 -Original Message-
 From: Keith C. Ivey [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, March 13, 2003 15:27
 To: [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Subject: Re: suspected bug...
 
 
 On 13 Mar 2003, at 14:59, lauren wrote:
 
  if u try to execute a query such as:
  
  insert into foo (id,textfield) values (54,'\\fred\\')
  
  the query fails
  
  if i add a space after the last \\ it works
  this is a real pain personally cos we use a lot of that stuff :(
 
 You'll have to show us exactly how you're getting the query to MySQL. 
 Are you using PHP? Perl? C?  Regardless, I suspect that by the time 
 the SQL gets to MySQL you don't have as many backslashes as you think 
 you do.  Constructing strings that have contain backslashes, 
 especially multiple backslashes, and passing them around can be 
 tricky.  If you're doing this in PHP:
 
   $sql = INSERT INTO foo (id, text_field) VALUES (54, '\\fred\\');
 
 then the string doesn't actually contain double backslashes, only 
 single ones, so it'll be invalid if you pass it to MySQL.  You'll 
 need quadruple backslashes in your PHP to end up with double 
 backslashes in your SQL.  (And things get even worse if you're using 
 LIKE, which involves yet another level of escaping.)
 
 If your backslash-containing strings are file paths, you might 
 consider avoiding the complication and using forward slashes instead. 
 They work fine on Windows in most contexts.
 
 -- 
 Keith C. Ivey [EMAIL PROTECTED]
 Tobacco Documents Online
 http://tobaccodocuments.org
 Phone 202-667-6653
 


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



RE: suspected bug...

2003-03-13 Thread Keith C. Ivey
On 13 Mar 2003, at 15:30, lauren wrote:

 the actual horror story query is:
 
 update link set path=insert(path,1,13,'\\test\\test21\\') where
 person_id = 8 and path like '\\test\\test2\\%'

You still haven't told us how you're sending this query to MySQL, and 
my advice remains the same.  If at all possible, avoid the problem by 
using forward slashes rather than backslashes in your paths.  If 
that's not possible, carefully work through how many levels of 
escaping you need to get MySQL to see the final SQL statement as you 
want it.  Note that for the LIKE part of your query you're going to 
need four backslashes to match a single backslash, which means you 
likely will be typing eight backslashes at that point in your PHP (or 
whatever) code.  See the documentation:

|   Note: Because MySQL uses the C escape syntax in strings (for
|   example, `\n'), you must double any `\' that you use in your
|   LIKE strings. For example, to search for `\n', specify it as
|   `\\n'. To search for `\', specify it as `' (the backslashes
|   are stripped once by the parser and another time when the
|   pattern match is done, leaving a single backslash to be
|   matched).

http://www.mysql.com/doc/en/String_comparison_functions.html

-- 
Keith C. Ivey [EMAIL PROTECTED]
Tobacco Documents Online
http://tobaccodocuments.org
Phone 202-667-6653

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



RE: suspected bug...

2003-03-13 Thread lauren
its cool i got the 4 backslashes thing worked out
thanks very much for the pointer
:)

---
even if my world is weird its my world


 -Original Message-
 From: Keith C. Ivey [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, March 13, 2003 16:11
 To: [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Subject: RE: suspected bug...
 
 
 On 13 Mar 2003, at 15:30, lauren wrote:
 
  the actual horror story query is:
  
  update link set path=insert(path,1,13,'\\test\\test21\\') where
  person_id = 8 and path like '\\test\\test2\\%'
 
 You still haven't told us how you're sending this query to MySQL, and 
 my advice remains the same.  If at all possible, avoid the problem by 
 using forward slashes rather than backslashes in your paths.  If 
 that's not possible, carefully work through how many levels of 
 escaping you need to get MySQL to see the final SQL statement as you 
 want it.  Note that for the LIKE part of your query you're going to 
 need four backslashes to match a single backslash, which means you 
 likely will be typing eight backslashes at that point in your PHP (or 
 whatever) code.  See the documentation:
 
 |   Note: Because MySQL uses the C escape syntax in strings (for
 |   example, `\n'), you must double any `\' that you use in your
 |   LIKE strings. For example, to search for `\n', specify it as
 |   `\\n'. To search for `\', specify it as `' (the backslashes
 |   are stripped once by the parser and another time when the
 |   pattern match is done, leaving a single backslash to be
 |   matched).
 
http://www.mysql.com/doc/en/String_comparison_functions.html

-- 
Keith C. Ivey [EMAIL PROTECTED]
Tobacco Documents Online
http://tobaccodocuments.org
Phone 202-667-6653


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



RE: Suspected Bug

2002-02-16 Thread Roger Baklund

* Miguel Angel Solorzano

snip

 * Roger Baklund
 mysql rename table U1 to U2;
 ERROR 7: Error on rename of '.\test\u1.MYI' to '.\test\u2.MYI' (Errcode:
13)
 mysql alter table U1 rename as U2;
 Query OK, 0 rows affected (0.01 sec)

snip

 How you can see we don't have a constant behavior of the Windows OS
 in the handle of lower/upper case names.

 The user should know if his application will works on NT/Win2K should
 expects error messages with write operation using different syntax
 with the lower/upper case.

Thanks for the detailed reply. :)

I did my tests on a pretty old version, 3.23.30-gamma, on a win2k machine. I
was not aware of the lower_case_table_names variable. (This explains why I
got lower case filename in my error message, while Fred Lovine got upper
case filename... I was a bit puzzled about that.)

Can we from this conclude that it is safer to use all lowercase table names
when one want to make an application that should run on _any_ platform? That
way there should never be an error because of letter casing in table names,
regardless of the lower_case_table_names setting, windows version and even
mysql version (at least 3.23.6 and later)?

There is a phrase about this in the documentation:

If you have a problem remembering the used cases for a table names, adopt a
consistent convention, such as always creating databases and tables using
lowercase names.

URL: http://www.mysql.com/doc/N/a/Name_case_sensitivity.html 

Maybe this should be upgraded to an advise to use lowercase names to
assure cross platform and version compatibility?

--
Roger
query


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




RE: Suspected Bug

2002-02-16 Thread Miguel Angel Solorzano

At 17:59 16/02/2002 +0100, Roger Baklund wrote:
Hi,

Thanks for the detailed reply. :)

I did my tests on a pretty old version, 3.23.30-gamma, on a win2k machine. I
was not aware of the lower_case_table_names variable. (This explains why I
got lower case filename in my error message, while Fred Lovine got upper
case filename... I was a bit puzzled about that.)

Can we from this conclude that it is safer to use all lowercase table names
when one want to make an application that should run on _any_ platform?

In my personal opinion yes, not only this but to use short description 
names and avoiding blank spaces. However I know that the developer
sometimes doesn't have option.

That
way there should never be an error because of letter casing in table names,
regardless of the lower_case_table_names setting, windows version and even
mysql version (at least 3.23.6 and later)?

There is a phrase about this in the documentation:

If you have a problem remembering the used cases for a table names, adopt a
consistent convention, such as always creating databases and tables using
lowercase names.

URL: http://www.mysql.com/doc/N/a/Name_case_sensitivity.html 

Maybe this should be upgraded to an advise to use lowercase names to
assure cross platform and version compatibility?

Yes.

Regards,
Miguel

--
Roger
query


-
Before posting, please check:
http://www.mysql.com/manual.php   (the manual)
http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

-- 
For technical support contracts, goto https://order.mysql.com/
__  ___ ___   __
   /  |/  /_ __/ __/ __ \/ /Miguel A. Solórzano [EMAIL PROTECTED]
  / /|_/ / // /\ \/ /_/ / /__   MySQL AB, FullTime Developer
/_/  /_/\_, /___/\___\_\___/   Mogi das Cruzes - São Paulo, Brazil
___/   www.mysql.com


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Suspected Bug

2002-02-15 Thread SubbaReddy M

Yeah, for me also find error.


--
mysql create table X1(name varchar(10));
Query OK, 0 rows affected (0.00 sec)

mysql insert into X1 values(5);
Query OK, 1 row affected (0.01 sec)

mysql RENAME TABLE X1 TO X2;
ERROR 1064: You have an error in your SQL syntax near 'RENAME TABLE X1 TO
X2' at line 1
mysql





Regards,

~ SubbaReddy .M
   Sr. Programmer, Frontlinesoft, Hyderabad
   http://www.frontlinesoft.com
   ICQ: 56093095


- Original Message -
From: Fred Lovine [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, February 15, 2002 12:23 PM
Subject: Suspected Bug


 MySQL is awesome, but I think I found a bug.

 The following script:

 CREATE  TABLE X1 (x smallint);
 insert into X1 values(5);
 RENAME TABLE X1 TO X2;

 is producing the following error:

 7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)

 The problem seems to be caused by using uppercase table names. The problem
 does not happen when the table names are all lowercase.

 MySQL version: 3.23.47-nt
 Running on Windows 2000 Pro

 Feel free to contact me if there are any questions.

 Server Variables
 
 Variable CLW Laptop
 back_log 50
 basedir C:\CLW\MySQL\
 binlog_cache_size 32768
 character_set latin1
 character_sets latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8
dos
 german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia
 hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
 concurrent_insert ON
 connect_timeout 5
 datadir C:\CLW\MySQL\data\
 delay_key_write ON
 delayed_insert_limit 100
 delayed_insert_timeout 300
 delayed_queue_size 1000
 flush OFF
 flush_time 1800
 have_bdb NO
 have_gemini NO
 have_innodb NO
 have_isam YES
 have_raid NO
 have_openssl NO
 init_file
 interactive_timeout 28800
 join_buffer_size 131072
 key_buffer_size 8384512
 language C:\CLW\MySQL\share\english\
 large_files_support ON
 log OFF
 log_update OFF
 log_bin OFF
 log_slave_updates OFF
 log_long_queries OFF
 long_query_time 10
 low_priority_updates OFF
 lower_case_table_names 1
 max_allowed_packet 130048
 max_binlog_cache_size 4294967295
 max_binlog_size 1073741824
 max_connections 100
 max_connect_errors 10
 max_delayed_threads 20
 max_heap_table_size 16777216
 max_join_size 4294967295
 max_sort_length 1024
 max_user_connections 0
 max_tmp_tables 32
 max_write_lock_count 4294967295
 myisam_max_extra_sort_file_size 256
 myisam_max_sort_file_size 2047
 myisam_recover_options 0
 myisam_sort_buffer_size 8388608
 net_buffer_length 16384
 net_read_timeout 30
 net_retry_count 10
 net_write_timeout 60
 open_files_limit 0
 pid_file C:\CLW\MySQL\data\laptop.pid
 port 3306
 protocol_version 10
 record_buffer 131072
 record_rnd_buffer 131072
 query_buffer_size 0
 safe_show_database OFF
 server_id 0
 slave_net_timeout 3600
 skip_locking ON
 skip_networking OFF
 skip_show_database OFF
 slow_launch_time 2
 socket MySQL
 sort_buffer 2097144
 sql_mode 0
 table_cache 64
 table_type MYISAM
 thread_cache_size 0
 thread_stack 65536
 transaction_isolation READ-COMMITTED
 timezone Eastern Standard Time
 tmp_table_size 33554432
 tmpdir C:\WINNT\TEMP\
 version 3.23.47-nt
 wait_timeout 28800


 Fred Lovine
 [EMAIL PROTECTED]


 -
 Before posting, please check:
http://www.mysql.com/manual.php   (the manual)
http://lists.mysql.com/   (the list archive)

 To request this thread, e-mail [EMAIL PROTECTED]
 To unsubscribe, e-mail
[EMAIL PROTECTED]
 Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Suspected Bug

2002-02-15 Thread SubbaReddy M

I am afraid it's not a bug, rather a syntax error.
please follow the syntax to rename the table:

mysql alter table X1 rename as X2;

Regards,
~ SubbaReddy .M


- Original Message -
From: SubbaReddy M [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Friday, February 15, 2002 3:46 PM
Subject: Re: Suspected Bug


 Yeah, for me also find error.

 --
--
 --
 mysql create table X1(name varchar(10));
 Query OK, 0 rows affected (0.00 sec)

 mysql insert into X1 values(5);
 Query OK, 1 row affected (0.01 sec)

 mysql RENAME TABLE X1 TO X2;
 ERROR 1064: You have an error in your SQL syntax near 'RENAME TABLE X1 TO
 X2' at line 1
 mysql

 --
--
 


 Regards,

 ~ SubbaReddy .M
Sr. Programmer, Frontlinesoft, Hyderabad
http://www.frontlinesoft.com
ICQ: 56093095


 - Original Message -
 From: Fred Lovine [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, February 15, 2002 12:23 PM
 Subject: Suspected Bug


  MySQL is awesome, but I think I found a bug.
 
  The following script:
 
  CREATE  TABLE X1 (x smallint);
  insert into X1 values(5);
  RENAME TABLE X1 TO X2;
 
  is producing the following error:
 
  7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
  The problem seems to be caused by using uppercase table names. The
problem
  does not happen when the table names are all lowercase.
 
  MySQL version: 3.23.47-nt
  Running on Windows 2000 Pro
 
  Feel free to contact me if there are any questions.
 
  Server Variables
  
  Variable CLW Laptop
  back_log 50
  basedir C:\CLW\MySQL\
  binlog_cache_size 32768
  character_set latin1
  character_sets latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8
 dos
  german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251
estonia
  hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
  concurrent_insert ON
  connect_timeout 5
  datadir C:\CLW\MySQL\data\
  delay_key_write ON
  delayed_insert_limit 100
  delayed_insert_timeout 300
  delayed_queue_size 1000
  flush OFF
  flush_time 1800
  have_bdb NO
  have_gemini NO
  have_innodb NO
  have_isam YES
  have_raid NO
  have_openssl NO
  init_file
  interactive_timeout 28800
  join_buffer_size 131072
  key_buffer_size 8384512
  language C:\CLW\MySQL\share\english\
  large_files_support ON
  log OFF
  log_update OFF
  log_bin OFF
  log_slave_updates OFF
  log_long_queries OFF
  long_query_time 10
  low_priority_updates OFF
  lower_case_table_names 1
  max_allowed_packet 130048
  max_binlog_cache_size 4294967295
  max_binlog_size 1073741824
  max_connections 100
  max_connect_errors 10
  max_delayed_threads 20
  max_heap_table_size 16777216
  max_join_size 4294967295
  max_sort_length 1024
  max_user_connections 0
  max_tmp_tables 32
  max_write_lock_count 4294967295
  myisam_max_extra_sort_file_size 256
  myisam_max_sort_file_size 2047
  myisam_recover_options 0
  myisam_sort_buffer_size 8388608
  net_buffer_length 16384
  net_read_timeout 30
  net_retry_count 10
  net_write_timeout 60
  open_files_limit 0
  pid_file C:\CLW\MySQL\data\laptop.pid
  port 3306
  protocol_version 10
  record_buffer 131072
  record_rnd_buffer 131072
  query_buffer_size 0
  safe_show_database OFF
  server_id 0
  slave_net_timeout 3600
  skip_locking ON
  skip_networking OFF
  skip_show_database OFF
  slow_launch_time 2
  socket MySQL
  sort_buffer 2097144
  sql_mode 0
  table_cache 64
  table_type MYISAM
  thread_cache_size 0
  thread_stack 65536
  transaction_isolation READ-COMMITTED
  timezone Eastern Standard Time
  tmp_table_size 33554432
  tmpdir C:\WINNT\TEMP\
  version 3.23.47-nt
  wait_timeout 28800
 
 
  Fred Lovine
  [EMAIL PROTECTED]
 
 
  -
  Before posting, please check:
 http://www.mysql.com/manual.php   (the manual)
 http://lists.mysql.com/   (the list archive)
 
  To request this thread, e-mail [EMAIL PROTECTED]
  To unsubscribe, e-mail
 [EMAIL PROTECTED]
  Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
 
 


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




RE: Suspected Bug

2002-02-15 Thread Roger Baklund

* Egor Egorov
 FL = Fred Lovine
 FL CREATE  TABLE X1 (x smallint);
 FL insert into X1 values(5);
 FL RENAME TABLE X1 TO X2;
 
 FL is producing the following error:
 
 FL 7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
 FL The problem seems to be caused by using uppercase table 
 FL names. The problem does not happen when the table names 
 FL are all lowercase.
 
 $ perror 13
 Error code  13:  Permission denied
 When you rename table, you also rename files that are appropriate to this
 table. You don't have file permission to rename files in mysql data dir.

Do you mean this is the desired behaviour?

Also, this does not explain why it only happens when the name is uppercase.

-- 
Roger
query

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Suspected Bug

2002-02-15 Thread DL Neil

Once tables are CREATEd, the name is listed in SHOW tables using lower case 
characters, regardless of the case
used in the CREATE command.
Using upper case table names in RENAME results in the error.

Workaround: Using lower case equivalent table names works, regardless of the case used 
in the CREATE command.

Windows does not differentiate between X1 and x1 as table/filenames. *nix does. 
Perhaps CREATE has been
Window-ised but RENAME has not (yet).

Regards,
=dn
WinNT 4.0 SP6a, MySQL vn 3.23.40-nt

- Original Message -
From: SubbaReddy M [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: 15 February 2002 10:16
Subject: Re: Suspected Bug


 Yeah, for me also find error.

 
 --
 mysql create table X1(name varchar(10));
 Query OK, 0 rows affected (0.00 sec)

 mysql insert into X1 values(5);
 Query OK, 1 row affected (0.01 sec)

 mysql RENAME TABLE X1 TO X2;
 ERROR 1064: You have an error in your SQL syntax near 'RENAME TABLE X1 TO
 X2' at line 1
 mysql

 
 


 Regards,

 ~ SubbaReddy .M
Sr. Programmer, Frontlinesoft, Hyderabad
http://www.frontlinesoft.com
ICQ: 56093095


 - Original Message -
 From: Fred Lovine [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, February 15, 2002 12:23 PM
 Subject: Suspected Bug


  MySQL is awesome, but I think I found a bug.
 
  The following script:
 
  CREATE  TABLE X1 (x smallint);
  insert into X1 values(5);
  RENAME TABLE X1 TO X2;
 
  is producing the following error:
 
  7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
  The problem seems to be caused by using uppercase table names. The problem
  does not happen when the table names are all lowercase.
 
  MySQL version: 3.23.47-nt
  Running on Windows 2000 Pro
 
  Feel free to contact me if there are any questions.
 
  Server Variables
  
  Variable CLW Laptop
  back_log 50
  basedir C:\CLW\MySQL\
  binlog_cache_size 32768
  character_set latin1
  character_sets latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8
 dos
  german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia
  hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
  concurrent_insert ON
  connect_timeout 5
  datadir C:\CLW\MySQL\data\
  delay_key_write ON
  delayed_insert_limit 100
  delayed_insert_timeout 300
  delayed_queue_size 1000
  flush OFF
  flush_time 1800
  have_bdb NO
  have_gemini NO
  have_innodb NO
  have_isam YES
  have_raid NO
  have_openssl NO
  init_file
  interactive_timeout 28800
  join_buffer_size 131072
  key_buffer_size 8384512
  language C:\CLW\MySQL\share\english\
  large_files_support ON
  log OFF
  log_update OFF
  log_bin OFF
  log_slave_updates OFF
  log_long_queries OFF
  long_query_time 10
  low_priority_updates OFF
  lower_case_table_names 1
  max_allowed_packet 130048
  max_binlog_cache_size 4294967295
  max_binlog_size 1073741824
  max_connections 100
  max_connect_errors 10
  max_delayed_threads 20
  max_heap_table_size 16777216
  max_join_size 4294967295
  max_sort_length 1024
  max_user_connections 0
  max_tmp_tables 32
  max_write_lock_count 4294967295
  myisam_max_extra_sort_file_size 256
  myisam_max_sort_file_size 2047
  myisam_recover_options 0
  myisam_sort_buffer_size 8388608
  net_buffer_length 16384
  net_read_timeout 30
  net_retry_count 10
  net_write_timeout 60
  open_files_limit 0
  pid_file C:\CLW\MySQL\data\laptop.pid
  port 3306
  protocol_version 10
  record_buffer 131072
  record_rnd_buffer 131072
  query_buffer_size 0
  safe_show_database OFF
  server_id 0
  slave_net_timeout 3600
  skip_locking ON
  skip_networking OFF
  skip_show_database OFF
  slow_launch_time 2
  socket MySQL
  sort_buffer 2097144
  sql_mode 0
  table_cache 64
  table_type MYISAM
  thread_cache_size 0
  thread_stack 65536
  transaction_isolation READ-COMMITTED
  timezone Eastern Standard Time
  tmp_table_size 33554432
  tmpdir C:\WINNT\TEMP\
  version 3.23.47-nt
  wait_timeout 28800
 
 
  Fred Lovine
  [EMAIL PROTECTED]
 
 
  -
  Before posting, please check:
 http://www.mysql.com/manual.php   (the manual)
 http://lists.mysql.com/   (the list archive)
 
  To request this thread, e-mail [EMAIL PROTECTED]
  To unsubscribe, e-mail
 [EMAIL PROTECTED]
  Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
 
 

 -
 Before posting, please check:
http://www.mysql.com/manual.php   (the manual)
http://lists.mysql.com/   (the list archive)

 To request this thread, e-mail [EMAIL PROTECTED]
 To unsubscribe, e-mail 
[EMAIL PROTECTED]
 Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Re: Suspected Bug

2002-02-15 Thread DL Neil

SubbaReddy M

 I am afraid it's not a bug, rather a syntax error.
 please follow the syntax to rename the table:
 
 mysql alter table X1 rename as X2;


Why do you say this?

Manual entry:
6.5.5  RENAME TABLE Syntax
RENAME TABLE tbl_name TO new_table_name[, tbl_name2 TO new_table_name2,...]
...
RENAME TABLE was added in MySQL 3.23.23. 

Regards,
=dn



-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Suspected Bug

2002-02-15 Thread DL Neil

Egor,

Yours/this arrived in my InBox whilst I was addressing the original msg - please see 
my other reply/ies.
Error still occurs when running as Administrator on WinNT and root under MySQL
- definitely no access/permission issues.
Lower case works (please see earlier reply).

If I/my NT PC can be of assistance, please don't hesitate to request further 
clarification/experimentation.

Regards,
=dn
WinNT 4.0 SP6a, PHP vn 4.0.6, Apache vn 1.3.20WinNT, MySQL vn 3.23.40-nt


- Original Message - 
From: Egor Egorov [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: 15 February 2002 11:00
Subject: Suspected Bug


 Fred,
 
 Friday, February 15, 2002, 8:53:17 AM, you wrote:
 
 FL MySQL is awesome, but I think I found a bug.
 
 FL The following script:
 
 FL CREATE  TABLE X1 (x smallint);
 FL insert into X1 values(5);
 FL RENAME TABLE X1 TO X2;
 
 FL is producing the following error:
 
 FL 7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
 FL The problem seems to be caused by using uppercase table names. The problem
 FL does not happen when the table names are all lowercase.
 
 $ perror 13
 Error code  13:  Permission denied
 When you rename table, you also rename files that are appropriate to this
 table. You don't have file permission to rename files in mysql data dir.
 
 FL MySQL version: 3.23.47-nt
 FL Running on Windows 2000 Pro
 
 FL Feel free to contact me if there are any questions.
 
 
 
 
 
 -- 
 For technical support contracts, goto https://order.mysql.com/
 This email is sponsored by Ensita.net http://www.ensita.net/
__  ___ ___   __
   /  |/  /_ __/ __/ __ \/ /Egor Egorov
  / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
 /_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
___/   www.mysql.com
 
 
 
 -
 Before posting, please check:
http://www.mysql.com/manual.php   (the manual)
http://lists.mysql.com/   (the list archive)
 
 To request this thread, e-mail [EMAIL PROTECTED]
 To unsubscribe, e-mail 
[EMAIL PROTECTED]
 Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
 
 



-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




RE: Suspected Bug

2002-02-15 Thread Roger Baklund

Hi,

this has to be a bug. It seems on windows RENAME TABLE old TO new only
works for uppercase table names _after_ an ALTER TABLE old RENAME AS
new _or_ if you first rename the table using lower case letters:

mysql create table U1 (id int);
Query OK, 0 rows affected (0.04 sec)

mysql insert into U1 values (1);
Query OK, 1 row affected (0.01 sec)

mysql rename table U1 to U2;
ERROR 7: Error on rename of '.\test\u1.MYI' to '.\test\u2.MYI' (Errcode: 13)
mysql alter table U1 rename as U2;
Query OK, 0 rows affected (0.01 sec)

mysql rename table U2 to U1;
Query OK, 0 rows affected (0.00 sec)

mysql rename table U1 to U2;
Query OK, 0 rows affected (0.01 sec)

I think there is some confusion within the mysql server because windows has
case insensitive file names. The table is created with lowercase letters on
the OS level:

mysql create table W1 (id int);
Query OK, 0 rows affected (0.05 sec)

mysql insert into W1 values (1);
Query OK, 1 row affected (0.00 sec)

mysql show tables like W%;
Empty set (0.01 sec)

mysql show tables like w%;
+-+
| Tables_in_test (w%) |
+-+
| w1  |
+-+
1 rows in set (0.00 sec)

C:\mysql\data\testdir w1*
 Volume in drive C has no label.
 Volume Serial Number is 28E6-EF3E

 Directory of C:\mysql\data\test

15.02.2002  13:028 550 w1.frm
15.02.2002  13:035 w1.MYD
15.02.2002  13:021 024 w1.MYI
   3 File(s)  9 579 bytes
   0 Dir(s) 573 779 968 bytes free

mysql rename table W1 to W2;
ERROR 7: Error on rename of '.\test\w1.MYI' to '.\test\w2.MYI' (Errcode: 13)
mysql rename table w1 to W2;
Query OK, 0 rows affected (0.01 sec)

mysql rename table W2 to W1;
Query OK, 0 rows affected (0.00 sec)

mysql rename table W1 to W2;
Query OK, 0 rows affected (0.01 sec)

Note that the error message has the table name in lower case, so it seems
mysql 'knows' about the OS case insensitivity, but for some reason it fails
on the rename if the user used upper case letters on the RENAME _and_ on the
CREATE, _and_ this is done within the same session. Creating the table,
exiting the mysql console, re-entering the console and then do the rename
works just fine.

--
Roger
query


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




RE: Suspected Bug

2002-02-15 Thread Egor Egorov

Roger,

Friday, February 15, 2002, 1:32:13 PM, you wrote:

RB * Egor Egorov
 FL = Fred Lovine
 FL CREATE  TABLE X1 (x smallint);
 FL insert into X1 values(5);
 FL RENAME TABLE X1 TO X2;
 
 FL is producing the following error:
 
 FL 7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
 FL The problem seems to be caused by using uppercase table 
 FL names. The problem does not happen when the table names 
 FL are all lowercase.
 
 $ perror 13
 Error code  13:  Permission denied
 When you rename table, you also rename files that are appropriate to this
 table. You don't have file permission to rename files in mysql data dir.

RB Do you mean this is the desired behaviour?
RB Also, this does not explain why it only happens when the name is uppercase.

I have tested RENAME TABLE on RedHat with uppercase table name and it works
fine. On Windows 2000 it works when i rename table from lowercase
table name to uppercase table name but not otherwise.





-- 
For technical support contracts, goto https://order.mysql.com/
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___ ___   __
  /  |/  /_ __/ __/ __ \/ /Egor Egorov
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
   ___/   www.mysql.com



-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




RE: Suspected Bug

2002-02-15 Thread Fred Lovine

The RENAME syntax is correct, please see the following documentation:

http://www.mysql.com/doc/R/E/RENAME_TABLE.html



-Original Message-
From: SubbaReddy M [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 15, 2002 5:23 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: Suspected Bug


I am afraid it's not a bug, rather a syntax error.
please follow the syntax to rename the table:

mysql alter table X1 rename as X2;

Regards,
~ SubbaReddy .M


- Original Message -
From: SubbaReddy M [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Friday, February 15, 2002 3:46 PM
Subject: Re: Suspected Bug


 Yeah, for me also find error.

 --
--
 --
 mysql create table X1(name varchar(10));
 Query OK, 0 rows affected (0.00 sec)

 mysql insert into X1 values(5);
 Query OK, 1 row affected (0.01 sec)

 mysql RENAME TABLE X1 TO X2;
 ERROR 1064: You have an error in your SQL syntax near 'RENAME TABLE X1 TO
 X2' at line 1
 mysql

 --
--
 


 Regards,

 ~ SubbaReddy .M
Sr. Programmer, Frontlinesoft, Hyderabad
http://www.frontlinesoft.com
ICQ: 56093095


 - Original Message -
 From: Fred Lovine [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, February 15, 2002 12:23 PM
 Subject: Suspected Bug


  MySQL is awesome, but I think I found a bug.
 
  The following script:
 
  CREATE  TABLE X1 (x smallint);
  insert into X1 values(5);
  RENAME TABLE X1 TO X2;
 
  is producing the following error:
 
  7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
  The problem seems to be caused by using uppercase table names. The
problem
  does not happen when the table names are all lowercase.
 
  MySQL version: 3.23.47-nt
  Running on Windows 2000 Pro
 
  Feel free to contact me if there are any questions.
 
  Server Variables
  
  Variable CLW Laptop
  back_log 50
  basedir C:\CLW\MySQL\
  binlog_cache_size 32768
  character_set latin1
  character_sets latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8
 dos
  german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251
estonia
  hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
  concurrent_insert ON
  connect_timeout 5
  datadir C:\CLW\MySQL\data\
  delay_key_write ON
  delayed_insert_limit 100
  delayed_insert_timeout 300
  delayed_queue_size 1000
  flush OFF
  flush_time 1800
  have_bdb NO
  have_gemini NO
  have_innodb NO
  have_isam YES
  have_raid NO
  have_openssl NO
  init_file
  interactive_timeout 28800
  join_buffer_size 131072
  key_buffer_size 8384512
  language C:\CLW\MySQL\share\english\
  large_files_support ON
  log OFF
  log_update OFF
  log_bin OFF
  log_slave_updates OFF
  log_long_queries OFF
  long_query_time 10
  low_priority_updates OFF
  lower_case_table_names 1
  max_allowed_packet 130048
  max_binlog_cache_size 4294967295
  max_binlog_size 1073741824
  max_connections 100
  max_connect_errors 10
  max_delayed_threads 20
  max_heap_table_size 16777216
  max_join_size 4294967295
  max_sort_length 1024
  max_user_connections 0
  max_tmp_tables 32
  max_write_lock_count 4294967295
  myisam_max_extra_sort_file_size 256
  myisam_max_sort_file_size 2047
  myisam_recover_options 0
  myisam_sort_buffer_size 8388608
  net_buffer_length 16384
  net_read_timeout 30
  net_retry_count 10
  net_write_timeout 60
  open_files_limit 0
  pid_file C:\CLW\MySQL\data\laptop.pid
  port 3306
  protocol_version 10
  record_buffer 131072
  record_rnd_buffer 131072
  query_buffer_size 0
  safe_show_database OFF
  server_id 0
  slave_net_timeout 3600
  skip_locking ON
  skip_networking OFF
  skip_show_database OFF
  slow_launch_time 2
  socket MySQL
  sort_buffer 2097144
  sql_mode 0
  table_cache 64
  table_type MYISAM
  thread_cache_size 0
  thread_stack 65536
  transaction_isolation READ-COMMITTED
  timezone Eastern Standard Time
  tmp_table_size 33554432
  tmpdir C:\WINNT\TEMP\
  version 3.23.47-nt
  wait_timeout 28800
 
 
  Fred Lovine
  [EMAIL PROTECTED]
 
 
  -
  Before posting, please check:
 http://www.mysql.com/manual.php   (the manual)
 http://lists.mysql.com/   (the list archive)
 
  To request this thread, e-mail [EMAIL PROTECTED]
  To unsubscribe, e-mail
 [EMAIL PROTECTED]
  Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
 
 




-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




RE: Suspected Bug

2002-02-15 Thread Fred Lovine

I think there are a couple of bugs here:

First, per the documentation, 6.1.3 Case Sensitivity in Names
(http://www.mysql.com/doc/N/a/Name_case_sensitivity.html), the Windows
mysqld is starting with -O lower_case_table_names=1 by default, so all
filenames should be converted to lowercase automatically. The create and
insert statements are performing as they should. But the RENAME is not,
RENAME will create a table in upper case. I believe the first bug is that
the RENAME is not respecting the lower_case_table_names option.

Second, the error,

7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)

is with the index file. After playing around a bit, the following SQL does
work:

CREATE TABLE X1 (x smallint);
insert into X1 values(5);
FLUSH TABLES;
RENAME TABLE X1 TO X2;

My guess is that RENAME is not closing the index file, but FLUSH takes care
of that.

And the workaround as stated before is to just use lowercase table names.

BTW, the following works fine:

CREATE TABLE X1 (x smallint);
insert into X1 values(5);
RENAME TABLE x1 TO x2;   -- note names are lowercase

--Fred


-Original Message-
From: DL Neil [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 15, 2002 7:20 AM
To: SubbaReddy M; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: Suspected Bug


Once tables are CREATEd, the name is listed in SHOW tables using lower case
characters, regardless of the case
used in the CREATE command.
Using upper case table names in RENAME results in the error.

Workaround: Using lower case equivalent table names works, regardless of the
case used in the CREATE command.

Windows does not differentiate between X1 and x1 as table/filenames. *nix
does. Perhaps CREATE has been
Window-ised but RENAME has not (yet).

Regards,
=dn
WinNT 4.0 SP6a, MySQL vn 3.23.40-nt

- Original Message -
From: SubbaReddy M [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: 15 February 2002 10:16
Subject: Re: Suspected Bug


 Yeah, for me also find error.

 --
--
 --
 mysql create table X1(name varchar(10));
 Query OK, 0 rows affected (0.00 sec)

 mysql insert into X1 values(5);
 Query OK, 1 row affected (0.01 sec)

 mysql RENAME TABLE X1 TO X2;
 ERROR 1064: You have an error in your SQL syntax near 'RENAME TABLE X1 TO
 X2' at line 1
 mysql

 --
--
 


 Regards,

 ~ SubbaReddy .M
Sr. Programmer, Frontlinesoft, Hyderabad
http://www.frontlinesoft.com
ICQ: 56093095


 - Original Message -
 From: Fred Lovine [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, February 15, 2002 12:23 PM
 Subject: Suspected Bug


  MySQL is awesome, but I think I found a bug.
 
  The following script:
 
  CREATE  TABLE X1 (x smallint);
  insert into X1 values(5);
  RENAME TABLE X1 TO X2;
 
  is producing the following error:
 
  7 - Error on rename '.\db\X1.MY1' to '.\db\X2.MYI' (Errcode: 13)
 
  The problem seems to be caused by using uppercase table names. The
problem
  does not happen when the table names are all lowercase.
 
  MySQL version: 3.23.47-nt
  Running on Windows 2000 Pro
 
  Feel free to contact me if there are any questions.
 
  Server Variables
  
  Variable CLW Laptop
  back_log 50
  basedir C:\CLW\MySQL\
  binlog_cache_size 32768
  character_set latin1
  character_sets latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8
 dos
  german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251
estonia
  hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
  concurrent_insert ON
  connect_timeout 5
  datadir C:\CLW\MySQL\data\
  delay_key_write ON
  delayed_insert_limit 100
  delayed_insert_timeout 300
  delayed_queue_size 1000
  flush OFF
  flush_time 1800
  have_bdb NO
  have_gemini NO
  have_innodb NO
  have_isam YES
  have_raid NO
  have_openssl NO
  init_file
  interactive_timeout 28800
  join_buffer_size 131072
  key_buffer_size 8384512
  language C:\CLW\MySQL\share\english\
  large_files_support ON
  log OFF
  log_update OFF
  log_bin OFF
  log_slave_updates OFF
  log_long_queries OFF
  long_query_time 10
  low_priority_updates OFF
  lower_case_table_names 1
  max_allowed_packet 130048
  max_binlog_cache_size 4294967295
  max_binlog_size 1073741824
  max_connections 100
  max_connect_errors 10
  max_delayed_threads 20
  max_heap_table_size 16777216
  max_join_size 4294967295
  max_sort_length 1024
  max_user_connections 0
  max_tmp_tables 32
  max_write_lock_count 4294967295
  myisam_max_extra_sort_file_size 256
  myisam_max_sort_file_size 2047
  myisam_recover_options 0
  myisam_sort_buffer_size 8388608
  net_buffer_length 16384
  net_read_timeout 30
  net_retry_count 10
  net_write_timeout 60
  open_files_limit 0
  pid_file C:\CLW\MySQL\data\laptop.pid
  port 3306
  protocol_version 10
  record_buffer 131072
  record_rnd_buffer 131072