Skip to content
Success

Changes

Summary

  1. sqlite optimisation: Avoid unneeded database operation (details)
Commit c74d06785699a89a8cc94f7eda8c0115bfea3348 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. By 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 in itself has
nothing 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 modifiedsrc/libmsc/db.c
The file was modifiedinclude/osmocom/msc/db.h
The file was modifiedtests/db_sms/db_sms_test.c
The file was modifiedtests/db_sms/db_sms_test.ok
The file was modifiedsrc/libmsc/sms_queue.c
The file was modifiedsrc/libmsc/gsm_04_11.c