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, |