maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #01079
[Branch ~maria-captains/maria/5.1] Rev 2738: Added client functions:
------------------------------------------------------------
revno: 2738
committer: Michael Widenius <monty@xxxxxxxxxxxx>
branch nick: mysql-maria
timestamp: Fri 2009-10-02 13:36:28 +0300
message:
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
--
lp:maria
https://code.launchpad.net/~maria-captains/maria/5.1
Your team Maria developers is subscribed to branch lp:maria.
To unsubscribe from this branch go to https://code.launchpad.net/~maria-captains/maria/5.1/+edit-subscription.
=== modified file 'client/mysql.cc'
--- client/mysql.cc 2009-09-07 20:50:10 +0000
+++ 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 @@
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 @@
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 @@
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 @@
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 @@
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'
--- configure.in 2009-09-15 11:55:37 +0000
+++ configure.in 2009-10-02 10:36:28 +0000
@@ -13,7 +13,7 @@
#
# 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'
--- include/mysql.h 2007-11-26 18:10:26 +0000
+++ include/mysql.h 2009-10-02 10:36:28 +0000
@@ -527,6 +527,7 @@
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 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'
--- include/mysql.h.pp 2009-03-12 22:27:35 +0000
+++ include/mysql.h.pp 2009-10-02 10:36:28 +0000
@@ -487,6 +487,7 @@
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 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'
--- libmysql/libmysql.c 2009-04-25 10:05:32 +0000
+++ libmysql/libmysql.c 2009-10-02 10:36:28 +0000
@@ -1430,6 +1430,18 @@
}
+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)
{