bmsd/mysql.c

changeset 76
804d45bdaa86
parent 43
dcb9ff8846fa
child 192
7f69b43e6084
equal deleted inserted replaced
75:1a3c6480e057 76:804d45bdaa86
322 322
323 323
324 324
325 void node_mysql_insert(sys_node_list *node) 325 void node_mysql_insert(sys_node_list *node)
326 { 326 {
327 char *query = malloc(512), first[21], last[21]; 327 char *query = malloc(1024), first[21], last[21];
328 struct tm *mytime; 328 struct tm *mytime;
329 329
330 mytime = localtime(&node->firstseen); 330 mytime = localtime(&node->firstseen);
331 snprintf(first, 20, "%04d-%02d-%02d %02d:%02d:%02d", 331 snprintf(first, 20, "%04d-%02d-%02d %02d:%02d:%02d",
332 mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec); 332 mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
333 mytime = localtime(&node->lastseen); 333 mytime = localtime(&node->lastseen);
334 snprintf(last, 20, "%04d-%02d-%02d %02d:%02d:%02d", 334 snprintf(last, 20, "%04d-%02d-%02d %02d:%02d:%02d",
335 mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec); 335 mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
336 336
337 snprintf(query, 511, 337 snprintf(query, 1023,
338 "INSERT INTO mon_nodes SET uuid='%s', node='%s', online='%s', group_id='%s', " \ 338 "INSERT INTO mon_nodes SET uuid='%s', node='%s', online='%s', group_id='%s', " \
339 "hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', firstseen='%s', lastseen='%s', " \ 339 "hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', firstseen='%s', lastseen='%s', " \
340 "temperature='%.3f', humidity='%.3f', barometer='%.3f', gps_latitude='%.8f', gps_longitude='%.8f', gps_altitude='%.8f', " \ 340 "temperature='%.3f', humidity='%.3f', barometer='%.3f', gps_latitude='%.8f', gps_longitude='%.8f', gps_altitude='%.8f', " \
341 "net_address='%s', net_ifname='%s', net_rssi='%d'", 341 "net_address='%s', net_ifname='%s', net_rssi='%d'",
342 node->uuid, node->node, node->online ?"Y":"N", node->group_id, 342 node->uuid, node->node, node->online ?"Y":"N", node->group_id,
355 355
356 356
357 357
358 void node_mysql_update(sys_node_list *node) 358 void node_mysql_update(sys_node_list *node)
359 { 359 {
360 char *query = malloc(512), last[21]; 360 char *query = malloc(1024), last[21];
361 struct tm *mytime; 361 struct tm *mytime;
362 362
363 mytime = localtime(&node->lastseen); 363 mytime = localtime(&node->lastseen);
364 snprintf(last, 20, "%04d-%02d-%02d %02d:%02d:%02d", 364 snprintf(last, 20, "%04d-%02d-%02d %02d:%02d:%02d",
365 mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec); 365 mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
366 366
367 snprintf(query, 511, 367 snprintf(query, 1023,
368 "UPDATE mon_nodes SET online='%s', hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', lastseen='%s', " \ 368 "UPDATE mon_nodes SET online='%s', hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', lastseen='%s', " \
369 "temperature='%.3f', humidity='%.3f', barometer='%.3f', gps_latitude='%.8f', gps_longitude='%.8f', gps_altitude='%.8f', " \ 369 "temperature='%.3f', humidity='%.3f', barometer='%.3f', gps_latitude='%.8f', gps_longitude='%.8f', gps_altitude='%.8f', " \
370 "net_address='%s', net_ifname='%s', net_rssi='%d' WHERE uuid='%s'", 370 "net_address='%s', net_ifname='%s', net_rssi='%d' WHERE uuid='%s'",
371 node->online ?"Y":"N", node->hardwaremake, node->hardwaremodel, node->os, node->os_version, node->firmware, last, 371 node->online ?"Y":"N", node->hardwaremake, node->hardwaremodel, node->os, node->os_version, node->firmware, last,
372 node->temperature, node->humidity, node->barometer, node->gps_latitude, node->gps_longitude, node->gps_altitude, 372 node->temperature, node->humidity, node->barometer, node->gps_latitude, node->gps_longitude, node->gps_altitude,

mercurial