List:Commits« Previous MessageNext Message »
From:joerg Date:July 26 2007 10:52am
Subject:bk commit into 4.1 tree (joerg:1.2676) BUG#16635
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of joerg. When joerg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-07-26 12:52:13+02:00, joerg@debian.(none) +1 -0
  Raise the 64 character limit for path names in the error messages
  to 150 or 107 characters for those messages which are generated
  by the embedded server during release builds.
  
  This fixes bug#16635:
     Error messages wrong: absolute path names, "%s" format code
  
  See the bug report or the changelog for "sql/share/english/errmsg.txt"
  for instructions how to do that with other languages, 
  even at the customer site, and for the restrictions to keep.

  sql/share/english/errmsg.txt@stripped, 2007-07-26 12:49:50+02:00, joerg@debian.(none) +3 -3
    The embedded server uses absolute path names in its error messages,
    in the release build environment these exceed the 64 character limit
    which the format strings for the error messages impose (bug#16635).
    
    But when the messages are output, the server does the "printf()" 
    internally in a 256 character buffer; the constant text and the
    expanded variables (strings, error number) must fit into this.
    
    (If the buffer would overflow, a format specification will not be
    expanded but just copied with its code, and the message output
    will just contain '%s' or '%d' where a value is expected.)
    
    So the string lengths are increased to 150 characters in those messages
    which are issued by the embedded server during release tests
    and contain 1 (one) path name,
    but only to 107 in the "rename" message which contains 2 (two).
    
    This solves bug#16635 for the release builds.
    
    For other languages used by OEM customers, similar fixes may be needed,
    but we cannot test them.
    
    These fixes can be done even in a binary installation at the customer site
    by following these steps:
       cd <<install-root>>/share
       $EDITOR <<lang>>/errmsg.txt
       ../../bin/comp_err -C./charsets/ <<lang>>/errmsg.txt <<lang>>/errmsg.sys
    and then restarting the server.

diff -Nrup a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
--- a/sql/share/english/errmsg.txt	2006-10-06 07:54:46 +02:00
+++ b/sql/share/english/errmsg.txt	2007-07-26 12:49:50 +02:00
@@ -21,7 +21,7 @@ character-set=latin1
 "NO",
 "YES",
 "Can't create file '%-.64s' (errno: %d)",
-"Can't create table '%-.64s' (errno: %d)",
+"Can't create table '%-.150s' (errno: %d)",
 "Can't create database '%-.64s' (errno: %d)",
 "Can't create database '%-.64s'; database exists",
 "Can't drop database '%-.64s'; database doesn't exist",
@@ -33,7 +33,7 @@ character-set=latin1
 "Can't get working directory (errno: %d)",
 "Can't lock file (errno: %d)",
 "Can't open file: '%-.64s' (errno: %d)",
-"Can't find file: '%-.64s' (errno: %d)",
+"Can't find file: '%-.150s' (errno: %d)",
 "Can't read dir of '%-.64s' (errno: %d)",
 "Can't change dir to '%-.64s' (errno: %d)",
 "Record has changed since last read in table '%-.64s'",
@@ -41,7 +41,7 @@ character-set=latin1
 "Can't write; duplicate key in table '%-.64s'",
 "Error on close of '%-.64s' (errno: %d)",
 "Error reading file '%-.64s' (errno: %d)",
-"Error on rename of '%-.64s' to '%-.64s' (errno: %d)",
+"Error on rename of '%-.107s' to '%-.107s' (errno: %d)",
 "Error writing file '%-.64s' (errno: %d)",
 "'%-.64s' is locked against change",
 "Sort aborted",
Thread
bk commit into 4.1 tree (joerg:1.2676) BUG#16635joerg26 Jul