VARDECL sqlite3_stmt * remind_stmt; VARDECL char const remind_stmt_template[] = "SELECT " "title," "body," "difficulty," "repo_link," "trigger_date," "started DATE," "span" " FROM assignment INNER JOIN project on assignment.project = project.rowid " "WHERE who = ?;"; VARDECL sqlite3_stmt * set_repo_stmt; VARDECL char const set_repo_stmt_template[] = "UPDATE assignment " "SET " "repo_link = ? " "WHERE who = ?;"; VARDECL char const dump_stmt[] = "SELECT * FROM project;"; VARDECL sqlite3_stmt * get_nth_id_stmt; VARDECL char const get_nth_id_stmt_template[] = "SELECT rowid " "FROM project " "LIMIT 1 " "OFFSET ?;"; VARDECL sqlite3_stmt * new_assignment_stmt; VARDECL char const new_assignment_stmt_template[] = "INSERT INTO assignment " "(who, project)" " VALUES " "(?, ?);"; VARDECL sqlite3_stmt * purge_assignments_stmt; VARDECL char const purge_assignments_stmt_template[] = "DELETE FROM assignment " "WHERE who = ?;"; VARDECL sqlite3_stmt* is_no_assignment_stmt; VARDECL const char is_no_assignment_stmt_template[] = "SELECT * FROM assignment " "WHERE who = ?;" ;