mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-04 08:21:03 +00:00
Merge branch 'dev' into edge
This commit is contained in:
commit
beebca98fe
@ -1082,12 +1082,21 @@ void PostgreSQL::commitThread()
|
|||||||
v6mode.c_str(),
|
v6mode.c_str(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// This ugly query exists because when we want to mirror networks to/from
|
||||||
|
// another data store (e.g. FileDB or LFDB) it is possible to get a network
|
||||||
|
// that doesn't exist in Central's database. This does an upsert and sets
|
||||||
|
// the owner_id to the "first" global admin in the user DB if the record
|
||||||
|
// did not previously exist. If the record already exists owner_id is left
|
||||||
|
// unchanged, so owner_id should be left out of the update clause.
|
||||||
PGresult *res = PQexecParams(conn,
|
PGresult *res = PQexecParams(conn,
|
||||||
"INSERT INTO ztc_network (id, controller_id, capabilities, enable_broadcast, "
|
"INSERT INTO ztc_network (id, creation_time, owner_id, controller_id, capabilities, enable_broadcast, "
|
||||||
"last_modified, mtu, multicast_limit, name, private, "
|
"last_modified, mtu, multicast_limit, name, private, "
|
||||||
"remote_trace_level, remote_trace_target, rules, rules_source, "
|
"remote_trace_level, remote_trace_target, rules, rules_source, "
|
||||||
"tags, v4_assign_mode, v6_assign_mode) VALUES ("
|
"tags, v4_assign_mode, v6_assign_mode) VALUES ("
|
||||||
"$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) "
|
"$1, TO_TIMESTAMP($5::double precision/1000), "
|
||||||
|
"(SELECT user_id AS owner_id FROM ztc_global_permissions WHERE authorize = true AND del = true AND modify = true AND read = true LIMIT 1),"
|
||||||
|
"$2, $3, $4, TO_TIMESTAMP($5::double precision/1000), "
|
||||||
|
"$6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) "
|
||||||
"ON CONFLICT (id) DO UPDATE set controller_id = EXCLUDED.controller_id, "
|
"ON CONFLICT (id) DO UPDATE set controller_id = EXCLUDED.controller_id, "
|
||||||
"capabilities = EXCLUDED.capabilities, enable_broadcast = EXCLUDED.enable_broadcast, "
|
"capabilities = EXCLUDED.capabilities, enable_broadcast = EXCLUDED.enable_broadcast, "
|
||||||
"last_modified = EXCLUDED.last_modified, mtu = EXCLUDED.mtu, "
|
"last_modified = EXCLUDED.last_modified, mtu = EXCLUDED.mtu, "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user