when dealing with large db_text files, pkg_memory is not suitable for operating the database.
implementing fetch allows modules like presence & registrar & usrloc to query large tables without constraints on pkg_memory.
creates tmp tables in shared memory for query results You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/940
-- Commit Summary --
* db_text: implement fetch and memory constraints
-- File Changes --
M modules/db_text/dbt_api.c (109) M modules/db_text/dbt_api.h (6) M modules/db_text/dbt_base.c (186) M modules/db_text/dbt_lib.c (62) M modules/db_text/dbt_lib.h (6) M modules/db_text/dbt_res.c (202) M modules/db_text/dbt_res.h (14) M modules/db_text/dbt_tb.c (4) M modules/db_text/dbtext.c (8) M modules/db_text/dbtext.h (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/940.patch https://github.com/kamailio/kamailio/pull/940.diff
this pull requests represents a changing behaviour and in principle shouldn't be in 4.4, but db_text is unusable in 4.4 with large db_text files, so i consider this as a fix for the stable branch
For clarification: with new features we mainly refer to new functions/parameters to configuration file or rpc commands as well as how the configuration file is interpreted. Reworking a part of code in a module is not always a new feature, to be discussed from case to case, evaluating the impact on the other modules.
I understand where the problem is with large dbtext tables + pkg memory and that this can be a fix. I am fine with merging and backporting.
Merged #940.
@miconda awesome! thank you