+ dbquery("DELETE FROM chanserv.authhistory WHERE authtime < %lu", expire_time);
+ dbquery("DELETE FROM chanserv.chanlevhistory WHERE changetime < %lu", expire_time);
+ dbquery("DELETE FROM chanserv.accounthistory WHERE changetime < %lu", expire_time);
+}
+
+void csdb_deletemaillock(maillock *mlp) {
+ dbquery("DELETE FROM chanserv.maillocks WHERE ID=%u", mlp->id);
+}
+
+void csdb_createmaillock(maillock *mlp) {
+ char escpattern[1024], escreason[1024];
+
+ dbescapestring(escpattern, mlp->pattern->content, mlp->pattern->length);
+
+ if (mlp->reason)
+ dbescapestring(escreason, mlp->reason->content, mlp->reason->length);
+ else
+ escreason[0]='\0';
+
+ dbquery("INSERT INTO chanserv.maillocks (id, pattern, reason, createdby, created) VALUES(%u, '%s', '%s', %u, %jd)",
+ mlp->id,escpattern,escreason,mlp->createdby,(intmax_t)mlp->created);
+}
+
+void csdb_updatemaillock(maillock *mlp) {
+ char escpattern[1024], escreason[1024];
+
+ dbescapestring(escpattern, mlp->pattern->content, mlp->pattern->length);
+
+ if (mlp->reason)
+ dbescapestring(escreason, mlp->reason->content, mlp->reason->length);
+ else
+ escreason[0]='\0';
+
+ dbquery("UPDATE chanserv.maillocks SET pattern='%s', reason='%s', createdby=%u, created=%jd WHERE ID=%u", escpattern, escreason, mlp->createdby, (intmax_t)mlp->created, mlp->id);