=== modified file 'support-files/wsrep_notify.sh' (properties changed: -x to +x) --- support-files/wsrep_notify.sh 2013-01-08 07:41:24 +0000 +++ support-files/wsrep_notify.sh 2014-03-12 23:34:14 +0000 @@ -29,37 +29,41 @@ idx INT, /* this node index */ status CHAR(16), /* this node status */ uuid CHAR(40), /* cluster UUID */ - prim BOOLEAN /* if component is primary */ + prim BOOLEAN, /* if component is primary */ + time TIMESTAMP /* timestamp */ ) ENGINE=MEMORY; BEGIN; -DELETE FROM $MEMB_TABLE; -DELETE FROM $STATUS_TABLE; " END="COMMIT;" configuration_change() { - echo "$BEGIN;" + echo "$BEGIN" local idx=0 - for NODE in $(echo $MEMBERS | sed s/,/\ /g) + local ifs_orig=$IFS + IFS=, + for NODE in $MEMBERS do - echo "INSERT INTO $MEMB_TABLE VALUES ( $idx, " + local uuid=${NODE%%/*} + local name_address=${NODE#*/} + local name=${name_address%%/*} + local incoming_address=${name_address#*/} # Don't forget to properly quote string values - echo "'$NODE'" | sed s/\\//\',\'/g - echo ");" + echo "INSERT INTO $MEMB_TABLE VALUES ( $idx, '$uuid','$name','$incoming_address');" idx=$(( $idx + 1 )) done + IFS=$ifs_orig - echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" + echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY, NOW());" echo "$END" } status_update() { - echo "SET wsrep_on=0; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; COMMIT;" + echo "SET wsrep_on=0; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS',time=NOW(); COMMIT;" } COM=status_update # not a configuration change by default @@ -88,6 +92,10 @@ MEMBERS=$2 shift ;; + --*) + # Don't know this one. Skip + shift + ;; esac shift done