mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Added "SHOW AUTHORS" code
This commit is contained in:
parent
2cb601c840
commit
9807162144
11 changed files with 76 additions and 2 deletions
|
@ -564,3 +564,7 @@ DROP TABLE tyt2;
|
|||
DROP TABLE urkunde;
|
||||
SHOW TABLES FROM non_existing_database;
|
||||
ERROR 42000: Unknown database 'non_existing_database'
|
||||
SHOW AUTHORS;
|
||||
Name Location Comment
|
||||
Brian "Krow" Aker Seattle, WA. USA Architecture, archive, federated, buncha of little stuff :)
|
||||
David Axmark Uppsala, Sweden Small stuff long time ago, Monty ripped it out!
|
||||
|
|
|
@ -424,3 +424,7 @@ DROP TABLE urkunde;
|
|||
#
|
||||
--error 1049
|
||||
SHOW TABLES FROM non_existing_database;
|
||||
|
||||
# End of 4.1 tests
|
||||
#
|
||||
SHOW AUTHORS;
|
||||
|
|
18
sql/authors.h
Normal file
18
sql/authors.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
/***************************************************************************
|
||||
** Output from "SHOW AUTHORS"
|
||||
** If you can update it, you get to be in it :)
|
||||
** Dont be offended if your name is not in here, just add it!
|
||||
***************************************************************************/
|
||||
|
||||
struct show_table_authors_st {
|
||||
const char *name;
|
||||
const char *location;
|
||||
const char *comment;
|
||||
};
|
||||
|
||||
struct show_table_authors_st show_table_authors[]= {
|
||||
{ "Brian \"Krow\" Aker", "Seattle, WA. USA",
|
||||
"Architecture, archive, federated, buncha of little stuff :)" },
|
||||
{ "David Axmark", "Uppsala, Sweden", "Small stuff long time ago, Monty ripped it out!"},
|
||||
{NULL, NULL, NULL}
|
||||
};
|
|
@ -1081,7 +1081,7 @@ public:
|
|||
int cmp_max(const char *, const char *, uint max_length);
|
||||
int cmp(const char *a,const char*b)
|
||||
{
|
||||
return cmp_max(a, b, ~0);
|
||||
return cmp_max(a, b, ~0L);
|
||||
}
|
||||
void sort_string(char *buff,uint length);
|
||||
void get_key_image(char *buff,uint length, imagetype type);
|
||||
|
@ -1141,7 +1141,7 @@ public:
|
|||
my_decimal *val_decimal(my_decimal *);
|
||||
int cmp_max(const char *, const char *, uint max_length);
|
||||
int cmp(const char *a,const char*b)
|
||||
{ return cmp_max(a, b, ~0); }
|
||||
{ return cmp_max(a, b, ~0L); }
|
||||
int cmp(const char *a, uint32 a_length, const char *b, uint32 b_length);
|
||||
int cmp_binary(const char *a,const char *b, uint32 max_length=~0L);
|
||||
int key_cmp(const byte *,const byte*);
|
||||
|
|
|
@ -74,6 +74,7 @@ static SYMBOL symbols[] = {
|
|||
{ "ASC", SYM(ASC)},
|
||||
{ "ASCII", SYM(ASCII_SYM)},
|
||||
{ "ASENSITIVE", SYM(ASENSITIVE_SYM)},
|
||||
{ "AUTHORS", SYM(AUTHORS_SYM)},
|
||||
{ "AUTO_INCREMENT", SYM(AUTO_INC)},
|
||||
{ "AVG", SYM(AVG_SYM)},
|
||||
{ "AVG_ROW_LENGTH", SYM(AVG_ROW_LENGTH)},
|
||||
|
|
|
@ -857,6 +857,7 @@ int mysqld_show_variables(THD *thd,const char *wild);
|
|||
int mysql_find_files(THD *thd,List<char> *files, const char *db,
|
||||
const char *path, const char *wild, bool dir);
|
||||
bool mysqld_show_storage_engines(THD *thd);
|
||||
bool mysqld_show_authors(THD *thd);
|
||||
bool mysqld_show_privileges(THD *thd);
|
||||
bool mysqld_show_column_types(THD *thd);
|
||||
bool mysqld_help (THD *thd, const char *text);
|
||||
|
|
|
@ -215,6 +215,8 @@ struct Query_cache_memory_bin
|
|||
|
||||
struct Query_cache_memory_bin_step
|
||||
{
|
||||
public:
|
||||
Query_cache_memory_bin_step() {}
|
||||
ulong size;
|
||||
ulong increment;
|
||||
uint idx;
|
||||
|
|
|
@ -92,6 +92,7 @@ enum enum_sql_command {
|
|||
SQLCOM_XA_START, SQLCOM_XA_END, SQLCOM_XA_PREPARE,
|
||||
SQLCOM_XA_COMMIT, SQLCOM_XA_ROLLBACK, SQLCOM_XA_RECOVER,
|
||||
SQLCOM_INSTALL_PLUGIN, SQLCOM_UNINSTALL_PLUGIN,
|
||||
SQLCOM_SHOW_AUTHORS,
|
||||
/* This should be the last !!! */
|
||||
|
||||
SQLCOM_END
|
||||
|
|
|
@ -3409,6 +3409,9 @@ end_with_restore_list:
|
|||
case SQLCOM_SHOW_STORAGE_ENGINES:
|
||||
res= mysqld_show_storage_engines(thd);
|
||||
break;
|
||||
case SQLCOM_SHOW_AUTHORS:
|
||||
res= mysqld_show_authors(thd);
|
||||
break;
|
||||
case SQLCOM_SHOW_PRIVILEGES:
|
||||
res= mysqld_show_privileges(thd);
|
||||
break;
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "sp.h"
|
||||
#include "sp_head.h"
|
||||
#include "sql_trigger.h"
|
||||
#include "authors.h"
|
||||
#include <my_dir.h>
|
||||
|
||||
|
||||
|
@ -83,6 +84,38 @@ bool mysqld_show_storage_engines(THD *thd)
|
|||
DBUG_RETURN(FALSE);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
** List all Authors.
|
||||
** If you can update it, you get to be in it :)
|
||||
***************************************************************************/
|
||||
|
||||
bool mysqld_show_authors(THD *thd)
|
||||
{
|
||||
List<Item> field_list;
|
||||
Protocol *protocol= thd->protocol;
|
||||
DBUG_ENTER("mysqld_show_authors");
|
||||
|
||||
field_list.push_back(new Item_empty_string("Name",40));
|
||||
field_list.push_back(new Item_empty_string("Location",40));
|
||||
field_list.push_back(new Item_empty_string("Comment",80));
|
||||
|
||||
if (protocol->send_fields(&field_list,
|
||||
Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
show_table_authors_st *authors;
|
||||
for (authors= show_table_authors; authors->name; authors++)
|
||||
{
|
||||
protocol->prepare_for_resend();
|
||||
protocol->store(authors->name, system_charset_info);
|
||||
protocol->store(authors->location, system_charset_info);
|
||||
protocol->store(authors->comment, system_charset_info);
|
||||
if (protocol->write())
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
send_eof(thd);
|
||||
DBUG_RETURN(FALSE);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
List all privileges supported
|
||||
|
|
|
@ -137,6 +137,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
|
|||
%token ASCII_SYM
|
||||
%token ASENSITIVE_SYM
|
||||
%token ATAN
|
||||
%token AUTHORS_SYM
|
||||
%token AUTO_INC
|
||||
%token AVG_ROW_LENGTH
|
||||
%token AVG_SYM
|
||||
|
@ -7174,6 +7175,11 @@ show_param:
|
|||
LEX *lex=Lex;
|
||||
lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
|
||||
}
|
||||
| AUTHORS_SYM
|
||||
{
|
||||
LEX *lex=Lex;
|
||||
lex->sql_command= SQLCOM_SHOW_AUTHORS;
|
||||
}
|
||||
| PRIVILEGES
|
||||
{
|
||||
LEX *lex=Lex;
|
||||
|
@ -8171,6 +8177,7 @@ user:
|
|||
keyword:
|
||||
keyword_sp {}
|
||||
| ASCII_SYM {}
|
||||
| AUTHORS_SYM {}
|
||||
| BACKUP_SYM {}
|
||||
| BEGIN_SYM {}
|
||||
| BYTE_SYM {}
|
||||
|
|
Loading…
Reference in a new issue