#At lp:maria based on 
revid:[email protected]

 2738 Michael Widenius  2009-10-02
      Added client functions:
      - mysql_get_server_name()
        This returns MySQL or MariaDB depending on the server type
      - mariadb_connection()
        This returns 1 if you are connected to a MariaDB server
      
      Modifed the MySQL command line client to print out if you are connected 
to MariaDB or MySQL
      Better default prompt (shows server you are connected to and base 
directory)
      modified:
        client/mysql.cc
        configure.in
        include/mysql.h
        include/mysql.h.pp
        libmysql/libmysql.c

per-file messages:
  client/mysql.cc
    Print out if you are connected to MariaDB or MySQL
    Better default prompt (shows server you are connected to and base directory)
    Added option \N to prompt to print server name.
  configure.in
    Changed maria to MariaDB in version string
  include/mysql.h
    Added mysql_get_server_name() and mariadb_connection()
  include/mysql.h.pp
    Update for new API functions
  libmysql/libmysql.c
    Added client functions:
    - mysql_get_server_name()
      This returns MySQL or MariaDB depending on the server type
    - mariadb_connection()
      This returns 1 if you are connected to a MariaDB server
=== modified file 'client/mysql.cc'
--- a/client/mysql.cc   2009-09-07 20:50:10 +0000
+++ b/client/mysql.cc   2009-10-02 10:36:28 +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("unkown");
+        break;
       case 'h':
       {
        const char *prompt;

=== modified file 'configure.in'
--- a/configure.in      2009-09-15 11:55:37 +0000
+++ b/configure.in      2009-10-02 10:36:28 +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)
 {


_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to