|
@@ -42,7 +42,12 @@ asio::awaitable<std::string> techempowerdb(std::shared_ptr<httppeer> peer)
|
|
|
unsigned int rd_num = rand_range(1, 10000);
|
|
|
myworld.where("id", rd_num);
|
|
|
myworld.limit(1);
|
|
|
- co_await myworld.async_fetch_one();
|
|
|
+ std::size_t n = co_await myworld.async_fetch_one();
|
|
|
+ if (n == 0)
|
|
|
+ {
|
|
|
+ n = co_await myworld.async_fetch_one();
|
|
|
+ }
|
|
|
+
|
|
|
peer->output = myworld.data_tojson();
|
|
|
co_return "";
|
|
|
}
|
|
@@ -69,7 +74,11 @@ asio::awaitable<std::string> techempowerqueries(std::shared_ptr<httppeer> peer)
|
|
|
myworld.wheresql.clear();
|
|
|
unsigned int rd_num = rand_range(1, 10000);
|
|
|
myworld.where("id", rd_num);
|
|
|
- co_await myworld.async_fetch_append();
|
|
|
+ std::size_t n = co_await myworld.async_fetch_append();
|
|
|
+ if (n == 0)
|
|
|
+ {
|
|
|
+ n = co_await myworld.async_fetch_append();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
peer->output = myworld.to_json();
|
|
@@ -83,7 +92,12 @@ asio::awaitable<std::string> techempowerfortunes(std::shared_ptr<httppeer> peer)
|
|
|
peer->set_header("Date", get_gmttime());
|
|
|
|
|
|
auto myfortune = orm::Fortune();
|
|
|
- co_await myfortune.async_fetch();
|
|
|
+ std::size_t n = co_await myfortune.async_fetch();
|
|
|
+ if (n == 0)
|
|
|
+ {
|
|
|
+ n = co_await myfortune.async_fetch();
|
|
|
+ }
|
|
|
+
|
|
|
myfortune.data.id = 0;
|
|
|
myfortune.data.message = "Additional fortune added at request time.";
|
|
|
myfortune.record.push_back(myfortune.data);
|
|
@@ -130,13 +144,22 @@ asio::awaitable<std::string> techempowerupdates(std::shared_ptr<httppeer> peer)
|
|
|
{
|
|
|
myworld.wheresql.clear();
|
|
|
myworld.where("id", rand_range(1, 10000));
|
|
|
- co_await myworld.async_fetch_append();
|
|
|
+ std::size_t n = co_await myworld.async_fetch_append();
|
|
|
+ if (n == 0)
|
|
|
+ {
|
|
|
+ n = co_await myworld.async_fetch_append();
|
|
|
+ }
|
|
|
if (myworld.effect() > 0)
|
|
|
{
|
|
|
unsigned int j = myworld.record.size() - 1;
|
|
|
myworld.data.randomnumber = rand_range(1, 10000);
|
|
|
myworld.record[j].randomnumber = myworld.data.randomnumber;
|
|
|
- co_await myworld.async_update("randomnumber");
|
|
|
+
|
|
|
+ n = co_await myworld.async_update("randomnumber");
|
|
|
+ if (n == 0)
|
|
|
+ {
|
|
|
+ n = co_await myworld.async_update("randomnumber");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
peer->output = myworld.to_json();
|