mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-05-25 14:43:43 +02:00
fix a couple of queries
This commit is contained in:
parent
af3f8b00a4
commit
7c88b3f124
1 changed files with 2 additions and 8 deletions
|
@ -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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue