static void psync_syncer_thread(){ int64_t syncid; psync_sql_lock(); if (psync_sql_cellint("SELECT COUNT(*) FROM task", -1)==0) psync_sql_statement("DELETE FROM syncfolder WHERE folderid IS NULL"); while ((syncid=psync_sql_cellint("SELECT id FROM syncfolder WHERE flags=0", -1))!=-1) psync_sync_newsyncedfolder(syncid); psync_sql_unlock(); }
void cache_account_teams() { psync_userid_t *teamids = 0; void *params = 0; psync_sql_res *q; psync_sql_lock(); q=psync_sql_prep_statement("DELETE FROM baccountteam "); psync_sql_run_free(q); do_psync_account_teams(teamids, 0, &insert_cache_team, params); psync_sql_unlock(); }
void cache_account_emails() { psync_userid_t *userids = 0; void *params = 0; psync_sql_res *q; psync_sql_lock(); q=psync_sql_prep_statement("DELETE FROM baccountemail "); psync_sql_run_free(q); do_psync_account_users(userids, 0, &insert_cache_email, params); psync_sql_unlock(); }
void cache_ba_my_teams() { psync_socket *sock; binresult *bres; int i; const binresult *users; const binresult *user; const binresult *teams; psync_sql_res *q; psync_sql_lock(); q=psync_sql_prep_statement("DELETE FROM myteams "); psync_sql_run_free(q); binparam params[] = { P_STR("auth", psync_my_auth), P_STR("timeformat", "timestamp"), P_STR("userids", "me"), P_STR("showteams", "1"), P_STR("showeveryone", "1") }; sock = psync_apipool_get(); bres = send_command(sock, "account_users", params); if (likely(bres)) psync_apipool_release(sock); else { psync_apipool_release_bad(sock); debug(D_WARNING, "Send command returned invalid result.\n"); return; } users = psync_find_result(bres, "users", PARAM_ARRAY); if (!users->length) { psync_free(bres); debug(D_WARNING, "Account_users returned empty result!\n"); return; } else { user = users->array[0]; teams = psync_find_result(user, "teams", PARAM_ARRAY); if (teams->length) { for (i = 0; i < teams->length; ++i) cache_my_team(teams->array[i]); } } psync_free(bres); psync_sql_unlock(); }