Compare commits
2 Commits
2301c57768
...
ef639679d1
| Author | SHA1 | Date | |
|---|---|---|---|
| ef639679d1 | |||
| 8c4dc0ee93 |
@@ -262,11 +262,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
// lets a reader tell a re-send from an actual config change.
|
||||
"world.ruleset" => {
|
||||
if let Err(e) = event_store
|
||||
.upsert_ruleset(
|
||||
ev.value.get("rev").and_then(|r| r.as_str()),
|
||||
&text,
|
||||
t,
|
||||
)
|
||||
.upsert_ruleset(ev.value.get("rev").and_then(|r| r.as_str()), &text, t)
|
||||
.await
|
||||
{
|
||||
tracing::warn!(error = %e, "failed to upsert ruleset");
|
||||
|
||||
@@ -299,7 +299,12 @@ impl Store {
|
||||
/// `world.ruleset` frame per connect describing how it is configured, and only the latest one
|
||||
/// matters. `rev` is the shard's FNV-1a of the body, kept so a reader can tell "same ruleset,
|
||||
/// re-sent on reconnect" from "the operator changed something" without diffing the JSON.
|
||||
pub async fn upsert_ruleset(&self, rev: Option<&str>, json: &str, t: i64) -> anyhow::Result<()> {
|
||||
pub async fn upsert_ruleset(
|
||||
&self,
|
||||
rev: Option<&str>,
|
||||
json: &str,
|
||||
t: i64,
|
||||
) -> anyhow::Result<()> {
|
||||
sqlx::query(
|
||||
"INSERT INTO ruleset (id, rev, json, updated_t) VALUES (1, ?, ?, ?)
|
||||
ON CONFLICT(id) DO UPDATE SET rev = excluded.rev, json = excluded.json, updated_t = excluded.updated_t",
|
||||
|
||||
Reference in New Issue
Block a user