Механизм построен на том, что если связь с mysql сервером отсутствует или пропала, то сообщения помещаются в колевой буфер, который "опустошается" как только она восстановится. Если связь не восстановилась, а буфер достиг максимального заданного размера, то удаляются более ранние сообщения. Эту логику можно сменить, если указать параметр "--dbserver-buffer-last-remove" или bufferLastRemove="1", то терятся будут сообщения добавляемые в конец.
DROP TABLE IF EXISTS ObjectsMap; CREATE TABLE ObjectsMap ( name varchar(80) NOT NULL default '', rep_name varchar(80) default NULL, id int(4) NOT NULL default '0', msg int(1) default 0, PRIMARY KEY (id), KEY rep_name (rep_name), KEY msg (msg) ) TYPE=MyISAM; DROP TABLE IF EXISTS AnalogSensors; CREATE TABLE AnalogSensors ( num int(11) NOT NULL auto_increment, node int(3) default NULL, id int(4) default NULL, date date NOT NULL default '0000-00-00', time time NOT NULL default '00:00:00', time_usec int(3) unsigned default '0', value int(6) default NULL, PRIMARY KEY (num), KEY date (date,time,time_usec), KEY node (node,id) ) TYPE=MyISAM; -- -- Table structure for table `DigitalSensors` -- DROP TABLE IF EXISTS DigitalSensors; CREATE TABLE DigitalSensors ( num int(11) NOT NULL auto_increment, node int(3) default NULL, id int(4) default NULL, date date NOT NULL default '0000-00-00', time time NOT NULL default '00:00:00', time_usec int(3) unsigned default '0', state char(1) default NULL, confirm time NOT NULL default '00:00:00', PRIMARY KEY (num), KEY date (date,time,time_usec), KEY node (node,id), KEY confirm(confirm) ) TYPE=MyISAM; DROP TABLE IF EXISTS SensorsThreshold; CREATE TABLE SensorsThreshold ( sid int(11) NOT NULL default '0', alarm int(8) NOT NULL default '0', warning int(8) NOT NULL default '0' ) TYPE=MyISAM;
1.5.5