← Back to team overview

maria-developers team mailing list archive

bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2748)

 

#At lp:maria

 2748 knielsen@xxxxxxxxxxxxxxx	2009-10-02 [merge]
      Merge Monty's fixes from main into release branch.
       - MariaDB naming.
       - Error reporting with mysqld --help --verbose.
      modified:
        client/mysql.cc
        configure.in
        include/mysql.h
        include/mysql.h.pp
        libmysql/libmysql.c
        mysql-test/r/mysqld_option_err.result
        mysql-test/t/mysqld_option_err.test
        sql/mysqld.cc

=== modified file 'client/mysql.cc'
--- a/client/mysql.cc	2009-09-07 20:50:10 +0000
+++ b/client/mysql.cc	2009-10-02 11:56:11 +0000
@@ -43,7 +43,7 @@
 #include <locale.h>
 #endif
 
-const char *VER= "14.15";
+const char *VER= "14.16";
 
 /* Don't try to make a nice table if the data is too big */
 #define MAX_COLUMN_LENGTH	     1024
@@ -1076,7 +1076,7 @@ int main(int argc,char *argv[])
   delimiter_str= delimiter;
   default_prompt = my_strdup(getenv("MYSQL_PS1") ? 
 			     getenv("MYSQL_PS1") : 
-			     "mysql> ",MYF(MY_WME));
+			     "\\N [\\d]> ",MYF(MY_WME));
   current_prompt = my_strdup(default_prompt,MYF(MY_WME));
   prompt_counter=0;
 
@@ -1156,10 +1156,11 @@ int main(int argc,char *argv[])
     signal(SIGINT, handle_sigint);              // Catch SIGINT to clean up
   signal(SIGQUIT, mysql_end);			// Catch SIGQUIT to clean up
 
-  put_info("Welcome to the MySQL monitor.  Commands end with ; or \\g.",
+  put_info("Welcome to the MariaDB monitor.  Commands end with ; or \\g.",
 	   INFO_INFO);
   sprintf((char*) glob_buffer.ptr(),
-	  "Your MySQL connection id is %lu\nServer version: %s\n",
+	  "Your %s connection id is %lu\nServer version: %s\n",
+          mysql_get_server_name(&mysql),
 	  mysql_thread_id(&mysql), server_version_string(&mysql));
   put_info((char*) glob_buffer.ptr(),INFO_INFO);
 
@@ -4369,6 +4370,7 @@ com_status(String *buffer __attribute__(
   tee_fprintf(stdout, "Using outfile:\t\t'%s'\n", opt_outfile ? outfile : "");
 #endif
   tee_fprintf(stdout, "Using delimiter:\t%s\n", delimiter);
+  tee_fprintf(stdout, "Server:\t\t\t%s\n", mysql_get_server_name(&mysql));
   tee_fprintf(stdout, "Server version:\t\t%s\n", server_version_string(&mysql));
   tee_fprintf(stdout, "Protocol version:\t%d\n", mysql_get_proto_info(&mysql));
   tee_fprintf(stdout, "Connection:\t\t%s\n", mysql_get_host_info(&mysql));
@@ -4700,7 +4702,7 @@ static void mysql_end_timer(ulong start_
   strmov(strend(buff),")");
 }
 
-static const char* construct_prompt()
+static const char *construct_prompt()
 {
   processed_prompt.free();			// Erase the old prompt
   time_t  lclock = time(NULL);			// Get the date struct
@@ -4729,6 +4731,12 @@ static const char* construct_prompt()
       case 'd':
 	processed_prompt.append(current_db ? current_db : "(none)");
 	break;
+      case 'N':
+        if (connected)
+          processed_prompt.append(mysql_get_server_name(&mysql));
+        else
+          processed_prompt.append("unknown");
+        break;
       case 'h':
       {
 	const char *prompt;

=== modified file 'configure.in'
--- a/configure.in	2009-09-29 22:50:10 +0000
+++ b/configure.in	2009-10-02 12:55:16 +0000
@@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM
 #
 # When merging new MySQL releases, update the version number to match the
 # MySQL version number, but reset the maria subrelease (-beta1).
-AM_INIT_AUTOMAKE(mysql, 5.1.38-maria-beta1)
+AM_INIT_AUTOMAKE(mysql, 5.1.38-MariaDB-beta1)
 AM_CONFIG_HEADER([include/config.h:config.h.in])
 
 PROTOCOL_VERSION=10

=== modified file 'include/mysql.h'
--- a/include/mysql.h	2007-11-26 18:10:26 +0000
+++ b/include/mysql.h	2009-10-02 10:36:28 +0000
@@ -527,6 +527,7 @@ int		STDCALL mysql_set_server_option(MYS
 int		STDCALL mysql_ping(MYSQL *mysql);
 const char *	STDCALL mysql_stat(MYSQL *mysql);
 const char *	STDCALL mysql_get_server_info(MYSQL *mysql);
+const char *	STDCALL mysql_get_server_name(MYSQL *mysql);
 const char *	STDCALL mysql_get_client_info(void);
 unsigned long	STDCALL mysql_get_client_version(void);
 const char *	STDCALL mysql_get_host_info(MYSQL *mysql);
@@ -560,6 +561,7 @@ void		STDCALL mysql_debug(const char *de
 void 		STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
 unsigned int	STDCALL mysql_thread_safe(void);
 my_bool		STDCALL mysql_embedded(void);
+my_bool		STDCALL mariadb_connection(MYSQL *mysql);
 MYSQL_MANAGER*  STDCALL mysql_manager_init(MYSQL_MANAGER* con);  
 MYSQL_MANAGER*  STDCALL mysql_manager_connect(MYSQL_MANAGER* con,
 					      const char* host,

=== modified file 'include/mysql.h.pp'
--- a/include/mysql.h.pp	2009-03-12 22:27:35 +0000
+++ b/include/mysql.h.pp	2009-10-02 10:36:28 +0000
@@ -487,6 +487,7 @@ int mysql_set_server_option(MYSQL *mysql
 int mysql_ping(MYSQL *mysql);
 const char * mysql_stat(MYSQL *mysql);
 const char * mysql_get_server_info(MYSQL *mysql);
+const char * mysql_get_server_name(MYSQL *mysql);
 const char * mysql_get_client_info(void);
 unsigned long mysql_get_client_version(void);
 const char * mysql_get_host_info(MYSQL *mysql);
@@ -520,6 +521,7 @@ void mysql_debug(const char *debug);
 void myodbc_remove_escape(MYSQL *mysql,char *name);
 unsigned int mysql_thread_safe(void);
 my_bool mysql_embedded(void);
+my_bool mariadb_connection(MYSQL *mysql);
 MYSQL_MANAGER* mysql_manager_init(MYSQL_MANAGER* con);
 MYSQL_MANAGER* mysql_manager_connect(MYSQL_MANAGER* con,
            const char* host,

=== modified file 'libmysql/libmysql.c'
--- a/libmysql/libmysql.c	2009-04-25 10:05:32 +0000
+++ b/libmysql/libmysql.c	2009-10-02 10:36:28 +0000
@@ -1430,6 +1430,18 @@ mysql_get_server_info(MYSQL *mysql)
 }
 
 
+my_bool STDCALL mariadb_connection(MYSQL *mysql)
+{
+  return strinstr(mysql->server_version, "MariaDB") != 0;
+}
+
+const char * STDCALL
+mysql_get_server_name(MYSQL *mysql)
+{
+  return mariadb_connection(mysql) ? "MariaDB" : "MySQL";
+}
+
+
 const char * STDCALL
 mysql_get_host_info(MYSQL *mysql)
 {

=== modified file 'mysql-test/r/mysqld_option_err.result'
--- a/mysql-test/r/mysqld_option_err.result	2009-09-03 13:05:02 +0000
+++ b/mysql-test/r/mysqld_option_err.result	2009-10-02 11:09:01 +0000
@@ -3,4 +3,6 @@ Test bad binlog format.
 Test bad default storage engine.
 Test non-numeric value passed to number option.
 Test that bad value for plugin enum option is rejected correctly.
+Test that --help --verbose works
+Test that --not-known-option --help --verbose gives error
 Done.

=== modified file 'mysql-test/t/mysqld_option_err.test'
--- a/mysql-test/t/mysqld_option_err.test	2009-09-25 14:38:02 +0000
+++ b/mysql-test/t/mysqld_option_err.test	2009-10-02 11:09:01 +0000
@@ -46,5 +46,14 @@ mkdir $MYSQLTEST_VARDIR/tmp/mysqld_optio
 --error 7
 --exec $MYSQLD --skip-networking --datadir=$MYSQLTEST_VARDIR/tmp/mysqld_option_err --skip-grant-tables $EXAMPLE_PLUGIN_OPT --plugin-load=EXAMPLE=ha_example.so --plugin-example-enum-var=noexist >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1
 
+#
+# Test that an wrong option with --help --verbose gives an error
+#
+
+--echo Test that --help --verbose works
+--exec $MYSQLD --help --verbose >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1
+--echo Test that --not-known-option --help --verbose gives error
+--error 2
+--exec $MYSQLD --not-known-option --help --verbose >>$MYSQLTEST_VARDIR/tmp/mysqld_option_err/mysqltest.log 2>&1
 
 --echo Done.

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2009-09-17 22:46:10 +0000
+++ b/sql/mysqld.cc	2009-10-02 11:09:01 +0000
@@ -4020,9 +4020,6 @@ server.");
     plugins_are_initialized= TRUE;  /* Don't separate from init function */
   }
 
-  if (opt_help)
-    unireg_abort(0);
-
   /* we do want to exit if there are any other unknown options */
   if (defaults_argc > 1)
   {
@@ -4047,13 +4044,15 @@ server.");
 
     if (defaults_argc)
     {
-      fprintf(stderr, "%s: Too many arguments (first extra is '%s').\n"
-              "Use --verbose --help to get a list of available options\n",
+      fprintf(stderr, "%s: Too many arguments (first extra is '%s').\n",
               my_progname, *tmp_argv);
       unireg_abort(1);
     }
   }
 
+  if (opt_help)
+    unireg_abort(0);
+
   /* if the errmsg.sys is not loaded, terminate to maintain behaviour */
   if (!errmesg[0][0])
     unireg_abort(1);