Commit 00d694a9 authored by unknown's avatar unknown

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:
  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.
parent c20595d8
...@@ -21,7 +21,7 @@ character-set=latin1 ...@@ -21,7 +21,7 @@ character-set=latin1
"NO", "NO",
"YES", "YES",
"Can't create file '%-.64s' (errno: %d)", "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' (errno: %d)",
"Can't create database '%-.64s'; database exists", "Can't create database '%-.64s'; database exists",
"Can't drop database '%-.64s'; database doesn't exist", "Can't drop database '%-.64s'; database doesn't exist",
...@@ -33,7 +33,7 @@ character-set=latin1 ...@@ -33,7 +33,7 @@ character-set=latin1
"Can't get working directory (errno: %d)", "Can't get working directory (errno: %d)",
"Can't lock file (errno: %d)", "Can't lock file (errno: %d)",
"Can't open file: '%-.64s' (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 read dir of '%-.64s' (errno: %d)",
"Can't change dir to '%-.64s' (errno: %d)", "Can't change dir to '%-.64s' (errno: %d)",
"Record has changed since last read in table '%-.64s'", "Record has changed since last read in table '%-.64s'",
...@@ -41,7 +41,7 @@ character-set=latin1 ...@@ -41,7 +41,7 @@ character-set=latin1
"Can't write; duplicate key in table '%-.64s'", "Can't write; duplicate key in table '%-.64s'",
"Error on close of '%-.64s' (errno: %d)", "Error on close of '%-.64s' (errno: %d)",
"Error reading file '%-.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)", "Error writing file '%-.64s' (errno: %d)",
"'%-.64s' is locked against change", "'%-.64s' is locked against change",
"Sort aborted", "Sort aborted",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment