summaryrefslogtreecommitdiff
path: root/db.c
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2023-03-19 15:51:17 -0700
committerTrumeet <yuuta@yuuta.moe>2023-03-19 15:51:17 -0700
commit92829eb1abde84916d92b22e107fc3ae7dc4bad2 (patch)
treefaf6ff5e400784c2259f645b66f287bf662b326c /db.c
parentfc54fc6a79e10701f25548d0db5b7df0144322e4 (diff)
downloadksyxbot-92829eb1abde84916d92b22e107fc3ae7dc4bad2.tar
ksyxbot-92829eb1abde84916d92b22e107fc3ae7dc4bad2.tar.gz
ksyxbot-92829eb1abde84916d92b22e107fc3ae7dc4bad2.tar.bz2
ksyxbot-92829eb1abde84916d92b22e107fc3ae7dc4bad2.zip
Refactor handle_inline()
Diffstat (limited to 'db.c')
-rw-r--r--db.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/db.c b/db.c
index 4c340ba..4400341 100644
--- a/db.c
+++ b/db.c
@@ -30,6 +30,12 @@ sqlite3 *db = NULL;
sqlite3_stmt *stmt_global_stat = NULL;
+sqlite3_stmt *stmt_personal_stat = NULL;
+
+sqlite3_stmt *stmt_search = NULL;
+
+sqlite3_stmt *stmt_random = NULL;
+
void db_init(void) {
int r;
r = sqlite3_open(cmd.db_path, &db);
@@ -76,6 +82,27 @@ void db_init(void) {
errmsg = (char *) sqlite3_errstr(r);
goto sql_err;
}
+
+ if ((r = sqlite3_prepare_v2(db, "SELECT i FROM stats WHERE user = ?", -1, &stmt_personal_stat, NULL))) {
+ errmsg = (char *) sqlite3_errstr(r);
+ goto sql_err;
+ }
+
+ if ((r = sqlite3_prepare_v2(db, "SELECT id, t, url FROM says WHERE t LIKE ? LIMIT 10;",
+ -1,
+ &stmt_search,
+ NULL))) {
+ errmsg = (char *) sqlite3_errstr(r);
+ goto sql_err;
+ }
+
+ if ((r = sqlite3_prepare_v2(db, "SELECT id, t, url FROM says ORDER BY RANDOM() LIMIT 10;",
+ -1,
+ &stmt_random,
+ NULL))) {
+ errmsg = (char *) sqlite3_errstr(r);
+ goto sql_err;
+ }
}
void db_close(void) {
@@ -85,6 +112,18 @@ void db_close(void) {
sqlite3_finalize(stmt_global_stat);
stmt_global_stat = NULL;
}
+ if (stmt_personal_stat) {
+ sqlite3_finalize(stmt_personal_stat);
+ stmt_personal_stat = NULL;
+ }
+ if (stmt_random) {
+ sqlite3_finalize(stmt_random);
+ stmt_random = NULL;
+ }
+ if (stmt_search) {
+ sqlite3_finalize(stmt_search);
+ stmt_search = NULL;
+ }
sqlite3_close(db);
db = NULL;
}