db: Add method to load a SMS by id.
This commit is contained in:
parent
e25445b864
commit
812dad0ff7
|
@ -63,6 +63,7 @@ int db_sync_lastauthtuple_for_subscr(struct gsm_auth_tuple *atuple,
|
|||
|
||||
/* SMS store-and-forward */
|
||||
int db_sms_store(struct gsm_sms *sms);
|
||||
struct gsm_sms *db_sms_get(struct gsm_network *net, unsigned long long id);
|
||||
struct gsm_sms *db_sms_get_unsent(struct gsm_network *net, unsigned long long min_id);
|
||||
struct gsm_sms *db_sms_get_unsent_by_subscr(struct gsm_network *net, unsigned long long min_subscr_id);
|
||||
struct gsm_sms *db_sms_get_unsent_for_subscr(struct gsm_subscriber *subscr);
|
||||
|
|
|
@ -1063,6 +1063,28 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul
|
|||
return sms;
|
||||
}
|
||||
|
||||
struct gsm_sms *db_sms_get(struct gsm_network *net, unsigned long long id)
|
||||
{
|
||||
dbi_result result;
|
||||
struct gsm_sms *sms;
|
||||
|
||||
result = dbi_conn_queryf(conn,
|
||||
"SELECT * FROM SMS WHERE SMS.id = %llu", id);
|
||||
if (!result)
|
||||
return NULL;
|
||||
|
||||
if (!dbi_result_next_row(result)) {
|
||||
dbi_result_free(result);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
sms = sms_from_result(net, result);
|
||||
|
||||
dbi_result_free(result);
|
||||
|
||||
return sms;
|
||||
}
|
||||
|
||||
/* retrieve the next unsent SMS with ID >= min_id */
|
||||
struct gsm_sms *db_sms_get_unsent(struct gsm_network *net, unsigned long long min_id)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue