Commit 8ff38cde authored by Pavel Vainerman's avatar Pavel Vainerman

Для обратной совместимости оставил в таблицах название поля time_usec,

хотя фактически теперь в БД сохраняются наносекунды.
parent 7f787ab6
......@@ -106,7 +106,7 @@ void DBServer_MySQL::confirmInfo( const UniSetTypes::ConfirmMessage* cem )
<< " WHERE sensor_id='" << cem->sensor_id << "'"
<< " AND date='" << dateToString(cem->sensor_time.tv_sec, "-") << " '"
<< " AND time='" << timeToString(cem->sensor_time.tv_sec, ":") << " '"
<< " AND time_nsec='" << cem->sensor_time.tv_nsec << " '";
<< " AND time_usec='" << cem->sensor_time.tv_nsec / 1000 << " '";
dbinfo << myname << "(update_confirm): " << data.str() << endl;
......@@ -214,11 +214,11 @@ void DBServer_MySQL::sensorInfo( const UniSetTypes::SensorMessage* si )
// см. DBTABLE AnalogSensors, DigitalSensors
ostringstream data;
data << "INSERT INTO " << tblName(si->type)
<< "(date, time, time_nsec, sensor_id, value, node) VALUES( '"
<< "(date, time, time_usec, sensor_id, value, node) VALUES( '"
// Поля таблицы
<< dateToString(si->sm_tv.tv_sec, "-") << "','" // date
<< timeToString(si->sm_tv.tv_sec, ":") << "','" // time
<< si->sm_tv.tv_nsec << "','" // time_nsec
<< si->sm_tv.tv_nsec << "','" // time_usec
<< si->id << "','" // sensor_id
<< val << "','" // value
<< si->node << "')"; // node
......
......@@ -87,7 +87,7 @@ CREATE TABLE `main_history` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`time` time NOT NULL,
`time_nsec` int(10) unsigned NOT NULL,
`time_usec` int(10) unsigned NOT NULL,
`sensor_id` int(10) unsigned NOT NULL,
`value` double NOT NULL,
`node` int(10) unsigned NOT NULL,
......@@ -102,7 +102,7 @@ CREATE TABLE `main_emergencylog` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`time` time NOT NULL,
`time_nsec` int(10) unsigned NOT NULL,
`time_usec` int(10) unsigned NOT NULL,
`type_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `main_emergencylog_type_id` (`type_id`),
......@@ -115,7 +115,7 @@ CREATE TABLE `main_emergencyrecords` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`time` time NOT NULL,
`time_nsec` int(10) unsigned NOT NULL,
`time_usec` int(10) unsigned NOT NULL,
`log_id` int(11) NOT NULL,
`sensor_id` int(10) unsigned NOT NULL,
`value` double NOT NULL,
......@@ -127,6 +127,9 @@ CREATE TABLE `main_emergencyrecords` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\endcode
\warning Временно, для обратной совместимости поле 'time_usec' в таблицах оставлено с таким названием,
хотя фактически туда сейчас сохраняется значение в наносекундах!
*/
class DBServer_MySQL:
public DBServer
......
......@@ -117,7 +117,7 @@ void DBServer_PostgreSQL::confirmInfo( const UniSetTypes::ConfirmMessage* cem )
<< " WHERE sensor_id='" << cem->sensor_id << "'"
<< " AND date='" << dateToString(cem->sensor_time.tv_sec, "-") << " '"
<< " AND time='" << timeToString(cem->sensor_time.tv_sec, ":") << " '"
<< " AND time_nsec='" << cem->sensor_time.tv_nsec << " '";
<< " AND time_usec='" << cem->sensor_time.tv_nsec << " '";
dbinfo << myname << "(update_confirm): " << data.str() << endl;
......@@ -259,7 +259,7 @@ void DBServer_PostgreSQL::sensorInfo( const UniSetTypes::SensorMessage* si )
<< endl;
}
// (date, time, time_nsec, sensor_id, value, node)
// (date, time, time_usec, sensor_id, value, node)
PostgreSQLInterface::Record rec =
{
dateToString(si->sm_tv.tv_sec, "-"), // date
......
......@@ -44,6 +44,9 @@
* И второе, т.к. это vector - то идёт выделение "непрерывного куска памяти", поэтому у ОС могут
* быть проблеммы найти "большой непрерывный кусок".
* Тем не менее реализация сделана на vector-е чтобы избежать лишних "перевыделений" (и сегментации) памяти во время работы.
*
* \warning Временно, для обратной совместимости поле 'time_usec' в таблицах оставлено с таким названием,
* хотя фактически туда сейчас сохраняется значение в наносекундах!
*/
class DBServer_PostgreSQL:
public DBServer
......
......@@ -103,7 +103,7 @@ void DBServer_SQLite::confirmInfo( const UniSetTypes::ConfirmMessage* cem )
<< " WHERE sensor_id='" << cem->sensor_id << "'"
<< " AND date='" << dateToString(cem->sensor_time.tv_sec, "-") << " '"
<< " AND time='" << timeToString(cem->sensor_time.tv_sec, ":") << " '"
<< " AND time_nsec='" << cem->sensor_time.tv_nsec << " '";
<< " AND time_usec='" << cem->sensor_time.tv_nsec << " '";
dbinfo << myname << "(update_confirm): " << data.str() << endl;
......@@ -197,11 +197,11 @@ void DBServer_SQLite::sensorInfo( const UniSetTypes::SensorMessage* si )
// см. DBTABLE AnalogSensors, DigitalSensors
ostringstream data;
data << "INSERT INTO " << tblName(si->type)
<< "(date, time, time_nsec, sensor_id, value, node) VALUES( '"
<< "(date, time, time_usec, sensor_id, value, node) VALUES( '"
// Поля таблицы
<< dateToString(si->sm_tv.tv_sec, "-") << "','" // date
<< timeToString(si->sm_tv.tv_sec, ":") << "','" // time
<< si->sm_tv.tv_nsec << "'," // time_nsec
<< si->sm_tv.tv_nsec << "'," // time_usec
<< si->id << "','" // sensor_id
<< val << "','" // value
<< si->node << "')"; // node
......
......@@ -127,6 +127,9 @@ CREATE TABLE `main_emergencyrecords` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
\endcode
\warning Временно, для обратной совместимости поле 'time_usec' в таблицах оставлено с таким названием,
хотя фактически туда сейчас сохраняется значение в наносекундах!
*/
class DBServer_SQLite:
public DBServer
......
......@@ -241,7 +241,7 @@ namespace UniSetTypes
ObjectId sensor_id; /* ID датчика (события) */
double sensor_value; /* значение датчика (события) */
struct timespec sensor_time; /* время срабатвание датчика(события), который квитируем */
struct timespec sensor_time; /* время срабатывания датчика(события), который квитируем */
struct timespec confirm_time; /* время, когда произошло квитирование */
bool broadcast;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment