X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=p_s%2Fsetup_instruments%2Fsetup_instruments.go;h=34c30fe6d24106a9d6bd263ba01758969e5a1d04;hb=23d4cb81352e26f3b76b41858988f8aca5797f41;hp=c92b6df9f2877806ddd4e0e92036f094281c9857;hpb=19c8ae094d0914226a3fcd75576d39528828dace;p=pstop.git diff --git a/p_s/setup_instruments/setup_instruments.go b/p_s/setup_instruments/setup_instruments.go index c92b6df..34c30fe 100644 --- a/p_s/setup_instruments/setup_instruments.go +++ b/p_s/setup_instruments/setup_instruments.go @@ -8,7 +8,8 @@ import ( ) // Error 1142: UPDATE command denied to user -const UPDATE_FAILED = "Error 1142" +// Error 1290: The MySQL server is running with the --read-only option so it cannot execute this statement +var EXPECTED_UPDATE_ERRORS = []string { "Error 1142", "Error 1290" } type setup_instruments_row struct { NAME string @@ -33,8 +34,6 @@ func (si *SetupInstruments) EnableMutexMonitoring(dbh *sql.DB) { rows, err := dbh.Query(sql) if err != nil { log.Fatal(err) - - } defer rows.Close() @@ -65,15 +64,24 @@ func (si *SetupInstruments) EnableMutexMonitoring(dbh *sql.DB) { if _, err := dbh.Exec(sql); err == nil { si.update_succeeded = true } else { - if err.Error()[0:10] != UPDATE_FAILED { + found_expected := false + for i := range EXPECTED_UPDATE_ERRORS { + if err.Error()[0:10] == EXPECTED_UPDATE_ERRORS[i] { + found_expected = true + break + } + } + if ! found_expected { log.Fatal(err) } + lib.Logger.Println( "Insufficient privileges to UPDATE setup_instruments: " + err.Error() ) break - } count++ } - lib.Logger.Println(count, "rows changed in p_s.setup_instruments") + if si.update_succeeded { + lib.Logger.Println(count, "rows changed in p_s.setup_instruments") + } } // restore any changed rows back to their original state