Skip to content
Success

Changes

Summary

  1. sqlite optimisation: Avoid unneeded database operation (details)
Commit 9eb3202bc9c45102f16834bf2ff5b49c8983a99a by keith
sqlite optimisation: Avoid unneeded database operation

It is pointless to mark an SMS as sent immediatly
before deleting it. Let's avoid the extra database
overhead involved in doing this operation.

We change the db function which is used to delete
SMS, changing the where clause, so let's also
remove the word "sent" in the function name,
now: db_sms_delete_message_by_id()

This function is only called from one place; when
deleting sent messages, but better the name
reflects what it actually does. On the same logic,
the database statement is now called "DEL_BY_ID" and
ends up being a duplicate of what was denoted as
DEL_EXPIRED, so remove this later, which it itself has
to do with the validity or expiration, but was called
from delete_expired_sms(). Call the DEL_BY_ID statement
there instead, which is a more accurate descrption of the
actual statement being run.

The unit test is changed now that we cannot
delete based on sent status anymore.

Change-Id: I777155c0f818b979c636bb59953719e472771603
The file was modifiedinclude/osmocom/msc/db.h
The file was modifiedsrc/libmsc/gsm_04_11.c
The file was modifiedsrc/libmsc/db.c
The file was modifiedsrc/libmsc/sms_queue.c
The file was modifiedtests/db_sms/db_sms_test.ok
The file was modifiedtests/db_sms/db_sms_test.c