Initial import of pstop v0.0.10
[pstop.git] / lib / global_status.go
diff --git a/lib/global_status.go b/lib/global_status.go
new file mode 100644 (file)
index 0000000..1bbe0b7
--- /dev/null
@@ -0,0 +1,32 @@
+package lib
+
+import (
+       "database/sql"
+       "log"
+)
+
+/*
+** mysql> select VARIABLE_VALUE from global_status where VARIABLE_NAME = 'UPTIME';
+* +----------------+
+* | VARIABLE_VALUE |
+* +----------------+
+* | 251107         |
+* +----------------+
+* 1 row in set (0.00 sec)
+**/
+func SelectGlobalStatusByVariableName(dbh *sql.DB, variable_name string) (error, int) {
+       sql_select := "SELECT VARIABLE_VALUE from INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = ?"
+
+       var variable_value int
+       err := dbh.QueryRow(sql_select, variable_name).Scan(&variable_value)
+       switch {
+       case err == sql.ErrNoRows:
+               log.Println("No setting with that variable_name", variable_name)
+       case err != nil:
+               log.Fatal(err)
+       default:
+               // fmt.Println("variable_value for", variable_name, "is", variable_value)
+       }
+
+       return err, variable_value
+}