Below is the list of changes that have just been committed into a local
5.1 repository of brian. When brian 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
1.1946 05/11/10 19:43:17 brian@stripped +11 -0
Added "SHOW AUTHORS" code
sql/authors.h
1.1 05/11/10 19:42:34 brian@stripped +18 -0
sql/authors.h
1.0 05/11/10 19:42:34 brian@stripped +0 -0
BitKeeper file /Users/brian/mysql/mysql-5.1-new/sql/authors.h
sql/sql_yacc.yy
1.420 05/11/10 19:42:33 brian@stripped +7 -0
Added new parse code for show authors.
sql/sql_show.cc
1.276 05/11/10 19:42:32 brian@stripped +33 -0
Added new show command for "SHOW AUTHORS"
sql/sql_parse.cc
1.481 05/11/10 19:42:32 brian@stripped +3 -0
Parsing for show authors
sql/sql_lex.h
1.204 05/11/10 19:42:31 brian@stripped +1 -0
Added to com bit.
sql/sql_cache.h
1.31 05/11/10 19:42:31 brian@stripped +2 -0
Fixed compile bug (more of these need to be fixed)
sql/mysql_priv.h
1.342 05/11/10 19:42:30 brian@stripped +1 -0
Added reference to new show command.
sql/lex.h
1.146 05/11/10 19:42:28 brian@stripped +1 -0
Added new keyword "AUTHORS"
sql/field.h
1.171 05/11/10 19:42:27 brian@stripped +2 -2
Fixed portability issue
mysql-test/t/show_check.test
1.56 05/11/10 19:42:26 brian@stripped +4 -0
Added SHOW AUTHORS test
mysql-test/r/show_check.result
1.77 05/11/10 19:42:24 brian@stripped +4 -0
Update to results
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: brian
# Host: grrr.local
# Root: /Users/brian/mysql/mysql-5.1-new
--- 1.170/sql/field.h 2005-11-04 22:09:54 +02:00
+++ 1.171/sql/field.h 2005-11-10 19:42:27 +02:00
@@ -1081,7 +1081,7 @@
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 @@
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*);
--- 1.145/sql/lex.h 2005-11-07 17:24:41 +02:00
+++ 1.146/sql/lex.h 2005-11-10 19:42:28 +02:00
@@ -74,6 +74,7 @@
{ "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)},
--- 1.341/sql/mysql_priv.h 2005-11-07 17:24:41 +02:00
+++ 1.342/sql/mysql_priv.h 2005-11-10 19:42:30 +02:00
@@ -857,6 +857,7 @@
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);
--- 1.203/sql/sql_lex.h 2005-11-07 17:24:42 +02:00
+++ 1.204/sql/sql_lex.h 2005-11-10 19:42:31 +02:00
@@ -92,6 +92,7 @@
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
--- 1.480/sql/sql_parse.cc 2005-11-07 17:24:43 +02:00
+++ 1.481/sql/sql_parse.cc 2005-11-10 19:42:32 +02:00
@@ -3409,6 +3409,9 @@
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;
--- 1.275/sql/sql_show.cc 2005-11-07 17:24:44 +02:00
+++ 1.276/sql/sql_show.cc 2005-11-10 19:42:32 +02:00
@@ -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 @@
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
--- 1.419/sql/sql_yacc.yy 2005-11-07 17:24:44 +02:00
+++ 1.420/sql/sql_yacc.yy 2005-11-10 19:42:33 +02:00
@@ -137,6 +137,7 @@
%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 @@
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 @@
keyword:
keyword_sp {}
| ASCII_SYM {}
+ | AUTHORS_SYM {}
| BACKUP_SYM {}
| BEGIN_SYM {}
| BYTE_SYM {}
--- New file ---
+++ sql/authors.h 05/11/10 19:42:34
/***************************************************************************
** 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}
};
--- 1.76/mysql-test/r/show_check.result 2005-11-07 17:24:34 +02:00
+++ 1.77/mysql-test/r/show_check.result 2005-11-10 19:42:24 +02:00
@@ -564,3 +564,7 @@
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!
--- 1.55/mysql-test/t/show_check.test 2005-11-07 17:24:35 +02:00
+++ 1.56/mysql-test/t/show_check.test 2005-11-10 19:42:26 +02:00
@@ -424,3 +424,7 @@
#
--error 1049
SHOW TABLES FROM non_existing_database;
+
+# End of 4.1 tests
+#
+SHOW AUTHORS;
--- 1.30/sql/sql_cache.h 2005-09-06 20:51:08 +03:00
+++ 1.31/sql/sql_cache.h 2005-11-10 19:42:31 +02:00
@@ -215,6 +215,8 @@
struct Query_cache_memory_bin_step
{
+public:
+ Query_cache_memory_bin_step() {}
ulong size;
ulong increment;
uint idx;