[PATCH] Show banner in server and client startup to drive community engagement
authorOtto Kekäläinen <otto@debian.org>
Sun, 10 Mar 2024 16:56:13 +0000 (16:56 +0000)
committerOtto Kekäläinen <otto@debian.org>
Sat, 13 Jul 2024 03:52:32 +0000 (20:52 -0700)
Suggest to users that they can support MariaDB development by simply giving a
star on GitHub. This patch experiments with how well such a banner works, and
may later change the contents to drive some other kind of engagement.

Client output:
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 34
    Server version: 10.11.7-MariaDB-3 Debian n/a

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    Support MariaDB developers by giving a star at https://github.com/MariaDB/server

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]>

Server output:
    [Note] Support MariaDB developers by giving a star at https://github.com/MariaDB/server

Server output if build in git directory:
    [Note] Starting MariaDB 10.11.7-MariaDB-3 source revision 219efb0a6ab0ee8ce2ec831c715783586c4db2ef as process 5426

Gbp-Pq: Name startup-message.patch

client/mysql.cc
sql/mysqld.cc

index ca659786cdbfc79eb7a1230796abf1ce9bd564ee..712dd356840788ecf7bf9fefe862c5a73d6e87f4 100644 (file)
@@ -1333,6 +1333,9 @@ int main(int argc,char *argv[])
             mysql_thread_id(&mysql), server_version_string(&mysql));
     put_info((char*) glob_buffer.ptr(),INFO_INFO);
     put_info(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"), INFO_INFO);
+    put_info("Support MariaDB developers by giving a star at "
+             "https://github.com/MariaDB/server",
+             INFO_INFO);
   }
 
 #ifdef HAVE_READLINE
index 23d60146bc1fec79c043c381c6c6b3e802862c83..8ba88cb4b2df300780d06cf4114341f167e7804f 100644 (file)
@@ -4932,12 +4932,21 @@ static int init_server_components()
   my_sleep_for_space= mariadb_sleep_for_space;
 
   /*
-    Print source revision hash, as one of the first lines, if not the
-    first in error log, for troubleshooting and debugging purposes
+    Print source revision hash, if set, for troubleshooting and debugging
+    purposes. If not, suggest database adming to help project by giving a
+    star on GitHub.
   */
-  if (!opt_help)
-    sql_print_information("Starting MariaDB %s source revision %s as process %lu",
-                          server_version, SOURCE_REVISION, (ulong) getpid());
+  if (!opt_help) {
+    if (SOURCE_REVISION) {
+      sql_print_information("Starting MariaDB %s source revision %s as process %lu",
+                            server_version, SOURCE_REVISION, (ulong) getpid());
+    } else {
+      sql_print_information("Starting MariaDB %s as process %lu",
+                            server_version, (ulong) getpid());
+      sql_print_information("Support MariaDB developers by giving a star at "
+                            "https://github.com/MariaDB/server");
+    }
+  }
 
 #ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
   /*