@@ -42,7 +42,12 @@ asio::awaitable<std::string> techempowerdb(std::shared_ptr<httppeer> peer)
42
42
unsigned int rd_num = rand_range (1 , 10000 );
43
43
myworld.where (" id" , rd_num);
44
44
myworld.limit (1 );
45
- co_await myworld.async_fetch_one ();
45
+ std::size_t n = co_await myworld.async_fetch_one ();
46
+ if (n == 0 )
47
+ {
48
+ n = co_await myworld.async_fetch_one ();
49
+ }
50
+
46
51
peer->output = myworld.data_tojson ();
47
52
co_return " " ;
48
53
}
@@ -69,7 +74,11 @@ asio::awaitable<std::string> techempowerqueries(std::shared_ptr<httppeer> peer)
69
74
myworld.wheresql .clear ();
70
75
unsigned int rd_num = rand_range (1 , 10000 );
71
76
myworld.where (" id" , rd_num);
72
- co_await myworld.async_fetch_append ();
77
+ std::size_t n = co_await myworld.async_fetch_append ();
78
+ if (n == 0 )
79
+ {
80
+ n = co_await myworld.async_fetch_append ();
81
+ }
73
82
}
74
83
75
84
peer->output = myworld.to_json ();
@@ -83,7 +92,12 @@ asio::awaitable<std::string> techempowerfortunes(std::shared_ptr<httppeer> peer)
83
92
peer->set_header (" Date" , get_gmttime ());
84
93
85
94
auto myfortune = orm::Fortune ();
86
- co_await myfortune.async_fetch ();
95
+ std::size_t n = co_await myfortune.async_fetch ();
96
+ if (n == 0 )
97
+ {
98
+ n = co_await myfortune.async_fetch ();
99
+ }
100
+
87
101
myfortune.data .id = 0 ;
88
102
myfortune.data .message = " Additional fortune added at request time." ;
89
103
myfortune.record .push_back (myfortune.data );
@@ -130,13 +144,22 @@ asio::awaitable<std::string> techempowerupdates(std::shared_ptr<httppeer> peer)
130
144
{
131
145
myworld.wheresql .clear ();
132
146
myworld.where (" id" , rand_range (1 , 10000 ));
133
- co_await myworld.async_fetch_append ();
147
+ std::size_t n = co_await myworld.async_fetch_append ();
148
+ if (n == 0 )
149
+ {
150
+ n = co_await myworld.async_fetch_append ();
151
+ }
134
152
if (myworld.effect () > 0 )
135
153
{
136
154
unsigned int j = myworld.record .size () - 1 ;
137
155
myworld.data .randomnumber = rand_range (1 , 10000 );
138
156
myworld.record [j].randomnumber = myworld.data .randomnumber ;
139
- co_await myworld.async_update (" randomnumber" );
157
+
158
+ n = co_await myworld.async_update (" randomnumber" );
159
+ if (n == 0 )
160
+ {
161
+ n = co_await myworld.async_update (" randomnumber" );
162
+ }
140
163
}
141
164
}
142
165
peer->output = myworld.to_json ();
0 commit comments