|
@@ -494,8 +494,6 @@ void CV2::initializeMembers()
|
|
"nm.last_authorized_time, nm.last_deauthorized_time, nm.remote_trace_level, nm.remote_trace_target, "
|
|
"nm.last_authorized_time, nm.last_deauthorized_time, nm.remote_trace_level, nm.remote_trace_target, "
|
|
"nm.revision, nm.capabilities, nm.tags "
|
|
"nm.revision, nm.capabilities, nm.tags "
|
|
"FROM network_memberships_ctl nm "
|
|
"FROM network_memberships_ctl nm "
|
|
- "INNER JOIN devices d "
|
|
|
|
- " ON nm.device_id = d.id "
|
|
|
|
"INNER JOIN networks n "
|
|
"INNER JOIN networks n "
|
|
" ON nm.network_id = n.id "
|
|
" ON nm.network_id = n.id "
|
|
"WHERE n.controller_id = '%s'", _myAddressStr.c_str());
|
|
"WHERE n.controller_id = '%s'", _myAddressStr.c_str());
|
|
@@ -972,7 +970,7 @@ void CV2::onlineNotificationThread() {
|
|
std::string memberId(memTmp);
|
|
std::string memberId(memTmp);
|
|
|
|
|
|
try {
|
|
try {
|
|
- pqxx::row r = w2.exec_params1("SELECT device_id, network_id FROM device_networks WHERE network_id = $1 AND device_id = $2",
|
|
|
|
|
|
+ pqxx::row r = w2.exec_params1("SELECT device_id, network_id FROM network_memberships_ctl WHERE network_id = $1 AND device_id = $2",
|
|
networkId, memberId);
|
|
networkId, memberId);
|
|
} catch (pqxx::unexpected_rows &e) {
|
|
} catch (pqxx::unexpected_rows &e) {
|
|
continue;
|
|
continue;
|
|
@@ -986,12 +984,8 @@ void CV2::onlineNotificationThread() {
|
|
{ipAddr, ts},
|
|
{ipAddr, ts},
|
|
};
|
|
};
|
|
|
|
|
|
- // upsert into devices table
|
|
|
|
- std::string device_insert = "INSERT INTO devices (id, last_seen) VALUES ('"+w2.esc(memberId)+"', '"+w2.esc(record.dump())+"'::JSONB) "
|
|
|
|
- "ON CONFLICT (id) DO UPDATE SET last_seen = last_seen || EXCLUDED.last_seen";
|
|
|
|
- pipe.insert(device_insert);
|
|
|
|
|
|
|
|
- std::string device_network_insert = "INSERT INTO device_networks (device_id, network_id, last_seen) "
|
|
|
|
|
|
+ std::string device_network_insert = "INSERT INTO network_memberships_ctl (device_id, network_id, last_seen) "
|
|
"VALUES ('"+w2.esc(memberId)+"', '"+w2.esc(networkId)+"', '"+w2.esc(record.dump())+"'::JSONB) "
|
|
"VALUES ('"+w2.esc(memberId)+"', '"+w2.esc(networkId)+"', '"+w2.esc(record.dump())+"'::JSONB) "
|
|
"ON CONFLICT (device_id, network_id) DO UPDATE SET last_seen = last_seen || EXCLUDED.last_seen";
|
|
"ON CONFLICT (device_id, network_id) DO UPDATE SET last_seen = last_seen || EXCLUDED.last_seen";
|
|
pipe.insert(device_network_insert);
|
|
pipe.insert(device_network_insert);
|