mirror of
https://github.com/MariaDB/server.git
synced 2025-01-25 00:04:33 +01:00
bec3feaa0b
Changed my_error() to print error messages, which come from arbitrary registered ranges of error messages. Messages can be unregistered (and should be at end of the program). Added registration of handler error messages. Added a new mi_print_error() macro and a new mi_report_error() function, which supply error messages with a table name. Added calls to mi_print_error() or mi_report_error() at all places in MyISAM, where table corruption is detected. extra/comp_err.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added prints for ER_ERROR_FIRST and ER_ERROR_LAST. Removed print for ER_ERROR_MESSAGES. include/errmsg.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Added declaration for a new function. Added first and last error number defines. include/my_base.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Added first and last error number defines. include/my_sys.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Removed obsolete defines. Removed a global variable, which held pointers to the error message arrays. Added declarations for new functions. include/mysys_err.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Removed an obsolete define. Changed two defines to use the new defines. Added first and last error number defines. libmysql/errmsg.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Replaced global array initialization by proper registration and unregistration of client error messages. libmysql/libmysql.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added a call for unregistration of client error messages. myisam/mi_delete.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. Added a debugging call to test undefined error numbers in case a special debug string is set. myisam/mi_extra.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_info.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added the error logging function. myisam/mi_key.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_keycache.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_locking.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_open.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. myisam/mi_page.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_range.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_rkey.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_search.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_update.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. myisam/mi_write.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. myisam/myisamdef.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Added the declaration of the new error logging function and a new macro. mysql-test/r/merge.result: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed test results. These come from the changed error reporting in openfrm(). mysql-test/r/repair.result: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed test results. These come from the changed error reporting in openfrm(). mysql-test/t/merge.test: WL#1895 - Print message to error log in case of detected MyISAM corruption Changederror numbers. These come from the changed error reporting in openfrm(). mysys/errors.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Dropped the assignment of the global errors to the dropped global pointer array. mysys/my_error.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed my_error() from using a static array of pointers to error message arrays to using a linked list of structures with pointers to array message arrays. Added functions for registering and unregistering error message arrays to the chain. sql/derror.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed reading of mysqld error messages to using the new registering and unregistering functions. sql/handler.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Added initialization and deinitialization of handler error messages. Included more handler error messages in the mapping to mysqld error messages. sql/mysqld.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed deinitialization of error messages to proper unregistration. sql/table.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed error reporting in openfrm() so that error messages from handler::ha_open() are reported by handler::print_error(). This changed messages from "Can't open 't1.MYI' (errno: 130)" to "Incorrect file format 't1'" for example. sql/unireg.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed two defines to use the new defines.
231 lines
9.5 KiB
C
231 lines
9.5 KiB
C
/* Copyright (C) 2000-2004 MySQL AB
|
||
|
||
This program is free software; you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation.
|
||
|
||
There are special exceptions to the terms and conditions of the GPL as it
|
||
is applied to this software. View the full text of the exception in file
|
||
EXCEPTIONS-CLIENT in the directory of this software distribution.
|
||
|
||
This program is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with this program; if not, write to the Free Software
|
||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||
|
||
/* Error messages for MySQL clients */
|
||
/* (Error messages for the daemon are in share/language/errmsg.sys) */
|
||
|
||
#include <my_global.h>
|
||
#include <my_sys.h>
|
||
#include "errmsg.h"
|
||
|
||
#ifdef GERMAN
|
||
const char *client_errors[]=
|
||
{
|
||
"Unbekannter MySQL Fehler",
|
||
"Kann UNIX-Socket nicht anlegen (%d)",
|
||
"Keine Verbindung zu lokalem MySQL Server, socket: '%-.100s' (%d)",
|
||
"Keine Verbindung zu MySQL Server auf %-.100s (%d)",
|
||
"Kann TCP/IP-Socket nicht anlegen (%d)",
|
||
"Unbekannter MySQL Server Host (%-.100s) (%d)",
|
||
"MySQL Server nicht vorhanden",
|
||
"Protokolle ungleich; Server Version = %d, Client Version = %d",
|
||
"MySQL client ran out of memory",
|
||
"Wrong host info",
|
||
"Localhost via UNIX socket",
|
||
"%-.100s via TCP/IP",
|
||
"Error in server handshake",
|
||
"Lost connection to MySQL server during query",
|
||
"Commands out of sync; you can't run this command now",
|
||
"Verbindung ueber Named Pipe: %-.32s",
|
||
"Kann nicht auf Named Pipe warten. Host: %-.64s pipe: %-.32s (%lu)",
|
||
"Kann Named Pipe nicht oeffnen. Host: %-.64s pipe: %-.32s (%lu)",
|
||
"Kann den Status der Named Pipe nicht setzen. Host: %-.64s pipe: %-.32s (%lu)",
|
||
"Can't initialize character set %-.32s (path: %-.100s)",
|
||
"Got packet bigger than 'max_allowed_packet' bytes",
|
||
"Embedded server",
|
||
"Error on SHOW SLAVE STATUS:",
|
||
"Error on SHOW SLAVE HOSTS:",
|
||
"Error connecting to slave:",
|
||
"Error connecting to master:",
|
||
"SSL connection error",
|
||
"Malformed packet",
|
||
"This client library is licensed only for use with MySQL servers having '%s' license",
|
||
"Invalid use of null pointer",
|
||
"Statement not prepared",
|
||
"No data supplied for parameters in prepared statement",
|
||
"Data truncated",
|
||
"No parameters exist in the statement",
|
||
"Invalid parameter number",
|
||
"Can't send long data for non-string/non-binary data types (parameter: %d)",
|
||
"Using unsupported buffer type: %d (parameter: %d)",
|
||
"Shared memory: %-.100s",
|
||
"Can't open shared memory; client could not create request event (%lu)",
|
||
"Can't open shared memory; no answer event received from server (%lu)",
|
||
"Can't open shared memory; server could not allocate file mapping (%lu)",
|
||
"Can't open shared memory; server could not get pointer to file mapping (%lu)",
|
||
"Can't open shared memory; client could not allocate file mapping (%lu)",
|
||
"Can't open shared memory; client could not get pointer to file mapping (%lu)",
|
||
"Can't open shared memory; client could not create %s event (%lu)",
|
||
"Can't open shared memory; no answer from server (%lu)",
|
||
"Can't open shared memory; cannot send request event to server (%lu)",
|
||
"Wrong or unknown protocol",
|
||
"Invalid connection handle",
|
||
"Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)",
|
||
"Row retrieval was canceled by mysql_stmt_close() call",
|
||
"Attempt to read column without prior row fetch"
|
||
};
|
||
|
||
/* Start of code added by Roberto M. Serqueira - martinsc@uol.com.br - 05.24.2001 */
|
||
|
||
#elif defined PORTUGUESE
|
||
const char *client_errors[]=
|
||
{
|
||
"Erro desconhecido do MySQL",
|
||
"N<EFBFBD>o pode criar 'UNIX socket' (%d)",
|
||
"N<EFBFBD>o pode se conectar ao servidor MySQL local atrav<61>s do 'socket' '%-.100s' (%d)",
|
||
"N<EFBFBD>o pode se conectar ao servidor MySQL em '%-.100s' (%d)",
|
||
"N<EFBFBD>o pode criar 'socket TCP/IP' (%d)",
|
||
"'Host' servidor MySQL '%-.100s' (%d) desconhecido",
|
||
"Servidor MySQL desapareceu",
|
||
"Incompatibilidade de protocolos; vers<72>o do servidor = %d, vers<72>o do cliente = %d",
|
||
"Cliente do MySQL com falta de mem<65>ria",
|
||
"Informa<EFBFBD><EFBFBD>o inv<6E>lida de 'host'",
|
||
"Localhost via 'UNIX socket'",
|
||
"%-.100s via 'TCP/IP'",
|
||
"Erro na negocia<69><61>o de acesso ao servidor",
|
||
"Conex<EFBFBD>o perdida com servidor MySQL durante 'query'",
|
||
"Comandos fora de sincronismo; voc<6F> n<>o pode executar este comando agora",
|
||
"Named pipe: %-.32s",
|
||
"N<EFBFBD>o pode esperar pelo 'named pipe' para o 'host' %-.64s - 'pipe' %-.32s (%lu)",
|
||
"N<EFBFBD>o pode abrir 'named pipe' para o 'host' %-.64s - 'pipe' %-.32s (%lu)",
|
||
"N<EFBFBD>o pode estabelecer o estado do 'named pipe' para o 'host' %-.64s - 'pipe' %-.32s (%lu)",
|
||
"N<EFBFBD>o pode inicializar conjunto de caracteres %-.32s (caminho %-.100s)",
|
||
"Obteve pacote maior do que 'max_allowed_packet' bytes",
|
||
"Embedded server"
|
||
"Error on SHOW SLAVE STATUS:",
|
||
"Error on SHOW SLAVE HOSTS:",
|
||
"Error connecting to slave:",
|
||
"Error connecting to master:",
|
||
"SSL connection error",
|
||
"Malformed packet",
|
||
"This client library is licensed only for use with MySQL servers having '%s' license",
|
||
"Invalid use of null pointer",
|
||
"Statement not prepared",
|
||
"No data supplied for parameters in prepared statement",
|
||
"Data truncated",
|
||
"No parameters exist in the statement",
|
||
"Invalid parameter number",
|
||
"Can't send long data for non-string/non-binary data types (parameter: %d)",
|
||
"Using unsupported buffer type: %d (parameter: %d)",
|
||
"Shared memory: %-.100s",
|
||
"Can't open shared memory; client could not create request event (%lu)",
|
||
"Can't open shared memory; no answer event received from server (%lu)",
|
||
"Can't open shared memory; server could not allocate file mapping (%lu)",
|
||
"Can't open shared memory; server could not get pointer to file mapping (%lu)",
|
||
"Can't open shared memory; client could not allocate file mapping (%lu)",
|
||
"Can't open shared memory; client could not get pointer to file mapping (%lu)",
|
||
"Can't open shared memory; client could not create %s event (%lu)",
|
||
"Can't open shared memory; no answer from server (%lu)",
|
||
"Can't open shared memory; cannot send request event to server (%lu)",
|
||
"Wrong or unknown protocol",
|
||
"Invalid connection handle",
|
||
"Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)",
|
||
"Row retrieval was canceled by mysql_stmt_close() call",
|
||
"Attempt to read column without prior row fetch"
|
||
};
|
||
|
||
#else /* ENGLISH */
|
||
const char *client_errors[]=
|
||
{
|
||
"Unknown MySQL error",
|
||
"Can't create UNIX socket (%d)",
|
||
"Can't connect to local MySQL server through socket '%-.100s' (%d)",
|
||
"Can't connect to MySQL server on '%-.100s' (%d)",
|
||
"Can't create TCP/IP socket (%d)",
|
||
"Unknown MySQL server host '%-.100s' (%d)",
|
||
"MySQL server has gone away",
|
||
"Protocol mismatch; server version = %d, client version = %d",
|
||
"MySQL client ran out of memory",
|
||
"Wrong host info",
|
||
"Localhost via UNIX socket",
|
||
"%-.100s via TCP/IP",
|
||
"Error in server handshake",
|
||
"Lost connection to MySQL server during query",
|
||
"Commands out of sync; you can't run this command now",
|
||
"Named pipe: %-.32s",
|
||
"Can't wait for named pipe to host: %-.64s pipe: %-.32s (%lu)",
|
||
"Can't open named pipe to host: %-.64s pipe: %-.32s (%lu)",
|
||
"Can't set state of named pipe to host: %-.64s pipe: %-.32s (%lu)",
|
||
"Can't initialize character set %-.32s (path: %-.100s)",
|
||
"Got packet bigger than 'max_allowed_packet' bytes",
|
||
"Embedded server",
|
||
"Error on SHOW SLAVE STATUS:",
|
||
"Error on SHOW SLAVE HOSTS:",
|
||
"Error connecting to slave:",
|
||
"Error connecting to master:",
|
||
"SSL connection error",
|
||
"Malformed packet",
|
||
"This client library is licensed only for use with MySQL servers having '%s' license",
|
||
"Invalid use of null pointer",
|
||
"Statement not prepared",
|
||
"No data supplied for parameters in prepared statement",
|
||
"Data truncated",
|
||
"No parameters exist in the statement",
|
||
"Invalid parameter number",
|
||
"Can't send long data for non-string/non-binary data types (parameter: %d)",
|
||
"Using unsupported buffer type: %d (parameter: %d)",
|
||
"Shared memory: %-.100s",
|
||
"Can't open shared memory; client could not create request event (%lu)",
|
||
"Can't open shared memory; no answer event received from server (%lu)",
|
||
"Can't open shared memory; server could not allocate file mapping (%lu)",
|
||
"Can't open shared memory; server could not get pointer to file mapping (%lu)",
|
||
"Can't open shared memory; client could not allocate file mapping (%lu)",
|
||
"Can't open shared memory; client could not get pointer to file mapping (%lu)",
|
||
"Can't open shared memory; client could not create %s event (%lu)",
|
||
"Can't open shared memory; no answer from server (%lu)",
|
||
"Can't open shared memory; cannot send request event to server (%lu)",
|
||
"Wrong or unknown protocol",
|
||
"Invalid connection handle",
|
||
"Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)",
|
||
"Row retrieval was canceled by mysql_stmt_close() call",
|
||
"Attempt to read column without prior row fetch"
|
||
};
|
||
#endif
|
||
|
||
|
||
/*
|
||
Register client error messages for use with my_error().
|
||
|
||
SYNOPSIS
|
||
init_client_errs()
|
||
|
||
RETURN
|
||
void
|
||
*/
|
||
|
||
void init_client_errs(void)
|
||
{
|
||
(void) my_error_register(client_errors, CR_ERROR_FIRST, CR_ERROR_LAST);
|
||
}
|
||
|
||
|
||
/*
|
||
Unregister client error messages.
|
||
|
||
SYNOPSIS
|
||
finish_client_errs()
|
||
|
||
RETURN
|
||
void
|
||
*/
|
||
|
||
void finish_client_errs(void)
|
||
{
|
||
(void) my_error_unregister(CR_ERROR_FIRST, CR_ERROR_LAST);
|
||
}
|