mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Fixed a lot of wrong memory references as reported by valgrind
Portability fixes Added new client function: mysql_get_server_version() New server help code (From Victor Vagin) Fixed wrong usage of binary() Disabled RTREE usage for now.
This commit is contained in:
@@ -1398,8 +1398,8 @@ int mysql_real_query_for_lazy(const char *buf, int length)
|
||||
if (!mysql_real_query(&mysql,buf,length))
|
||||
return 0;
|
||||
uint error=put_info(mysql_error(&mysql),INFO_ERROR, mysql_errno(&mysql));
|
||||
if (mysql_errno(&mysql) != CR_SERVER_GONE_ERROR || retry > 1
|
||||
|| status.batch)
|
||||
if (mysql_errno(&mysql) != CR_SERVER_GONE_ERROR || retry > 1 ||
|
||||
status.batch)
|
||||
return error;
|
||||
if (reconnect())
|
||||
return error;
|
||||
@@ -1417,8 +1417,9 @@ int mysql_store_result_for_lazy(MYSQL_RES **result)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int com_server_help(String *buffer __attribute__((unused)),
|
||||
char *line __attribute__((unused)), char *help_arg)
|
||||
char *line __attribute__((unused)), char *help_arg)
|
||||
{
|
||||
MYSQL_ROW cur;
|
||||
const char *server_cmd= buffer->ptr();
|
||||
@@ -1460,22 +1461,23 @@ static int com_server_help(String *buffer __attribute__((unused)),
|
||||
init_pager();
|
||||
if (cur[1][0] == 'Y')
|
||||
{
|
||||
tee_fprintf(PAGER, "\nHelp topic \'%s\'\n", cur[0]);
|
||||
tee_fprintf(PAGER, "Help topic \'%s\'\n", cur[0]);
|
||||
tee_fprintf(PAGER, "%s\n", cur[2]);
|
||||
tee_fprintf(PAGER, "For help on specific function please type 'help <function>' where function is one of next :\n%s\n", cur[3]);
|
||||
tee_fprintf(PAGER, "For help on specific function please type 'help <function>'\nwhere function is one of next:\n%s\n", cur[3]);
|
||||
}
|
||||
else
|
||||
{
|
||||
tee_fprintf(PAGER, "\nName : \'%s\'\n\n", cur[0]);
|
||||
tee_fprintf(PAGER, "Description : \n%s\n\n", cur[2]);
|
||||
tee_fprintf(PAGER, "Examples : \n%s\n", cur[3]);
|
||||
tee_fprintf(PAGER, "Name: \'%s\'\n\n", cur[0]);
|
||||
tee_fprintf(PAGER, "Description:\n%s\n\n", cur[2]);
|
||||
if (cur[3])
|
||||
tee_fprintf(PAGER, "Examples:\n%s\n", cur[3]);
|
||||
}
|
||||
end_pager();
|
||||
}
|
||||
else if (num_rows > 1)
|
||||
{
|
||||
put_info("\nMany help items for your request exist", INFO_INFO);
|
||||
put_info("For more specific request please type 'help <item>' where item is one of next :", INFO_INFO);
|
||||
put_info("Many help items for your request exist", INFO_INFO);
|
||||
put_info("For more specific request please type 'help <item>' where item is one of next:", INFO_INFO);
|
||||
|
||||
init_pager();
|
||||
char last_char= '_';
|
||||
@@ -1506,8 +1508,8 @@ err:
|
||||
}
|
||||
|
||||
static int
|
||||
com_help (String *buffer __attribute__((unused)),
|
||||
char *line __attribute__((unused)))
|
||||
com_help(String *buffer __attribute__((unused)),
|
||||
char *line __attribute__((unused)))
|
||||
{
|
||||
reg1 int i;
|
||||
char * help_arg= strchr(line,' ');
|
||||
@@ -1530,13 +1532,9 @@ com_help (String *buffer __attribute__((unused)),
|
||||
tee_fprintf(stdout, "%s\t(\\%c)\t%s\n", commands[i].name,
|
||||
commands[i].cmd_char, commands[i].doc);
|
||||
}
|
||||
if (connected)
|
||||
tee_fprintf(stdout,
|
||||
"\nConnection id: %ld (Can be used with mysqladmin kill)\n\n",
|
||||
mysql_thread_id(&mysql));
|
||||
else
|
||||
tee_fprintf(stdout, "Not connected! Reconnect with 'connect'!\n\n");
|
||||
}
|
||||
if (connected && mysql_get_server_version(&mysql) >= 40100)
|
||||
put_info("\nFor server side help, type 'help all'\n", INFO_INFO);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2417,7 +2415,6 @@ com_use(String *buffer __attribute__((unused)), char *line)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Gets argument from a command on the command line. If get_next_arg is
|
||||
not defined, skips the command and returns the first argument. The
|
||||
|
Reference in New Issue
Block a user