db_sqlite Module
__________________________________________________________
Table of Contents
1. Admin Guide
1.1. Overview
1.2. Dependencies
1.2.1. OpenSIPS Modules
1.2.2. External Libraries or Applications
1.3. Exported Parameters
1.3.1. alloc_limit (integer)
1.3.2. load_extension (string)
1.4. Exported Functions
1.5. Installation
2. Contributors
2.1. By Commit Statistics
2.2. By Commit Activity
3. Documentation
3.1. Contributors
List of Tables
2.1. Top contributors by DevScore^(1), authored commits^(2) and
lines added/removed^(3)
2.2. Most recently active contributors^(1) to this module
List of Examples
1.1. Set alloc_limit parameter
1.2. Set db_sqlite_alloc_limit parameter
Chapter 1. Admin Guide
1.1. Overview
This is a module which provides SQLite support for OpenSIPS. It
implements the DB API defined in OpenSIPS.
1.2. Dependencies
1.2.1. OpenSIPS Modules
The following modules must be loaded before this module:
* No dependencies on other OpenSIPS modules.
Also this module provides two ways of creating the query. One
is to use sqlite3_bind_* functions after opensips creates the
prepared statement query. The second one directly uses only
sqlite3_snprintf function to print the values into the opensips
created query. In theory, the second one should be faster and
should allow you to make more queries to the database in the
same time, so by default this one will be active. You can use
the sqlite3_bind_* interface by simply uncommenting the
SQLITE_BIND line the Makefile.
1.2.2. External Libraries or Applications
The following libraries or applications must be installed
before running OpenSIPS with this module loaded:
* libsqlite3-dev - the development libraries of sqlite.
1.3. Exported Parameters
1.3.1. alloc_limit (integer)
Since the library does not support a function to return the
number of rows in a query, this number is obtained using
"count(*)" query. If we use multiple processes there is the
risk ,since "count(*)" query and the actual "select" query, the
number of rows in the result query to have changed, so realloc
will be needed if the number is bigger. Using alloc_limit
parameter you can specify the number with which the number of
allocated rows in the result is raised.
Default value is 10.
Example 1.1. Set alloc_limit parameter
...
modparam("db_sqlite", "alloc_limit", 25)
...
1.3.2. load_extension (string)
This parameter enables extension loading, similiar to ".load"
functionality in sqlite3, extenions like sqlite3-pcre which
enables REGEX function. In order to use this functionality you
must specify the library path (.so file) and the entry point
which represents the function to be called by the sqlite
library (read more at sqlite load_extension official
documentation), separated by ";" delimiter. The entry point
paramter can miss, so you won't need to use the delimitier in
this case.
By default, no extension is loaded.
Example 1.2. Set db_sqlite_alloc_limit parameter
...
modparam("db_sqlite", "load_extension", "/usr/lib/sqlite3/pcre.so")
modparam("db_sqlite", "load_extension", "/usr/lib/sqlite3/pcre.so;sqlite
3_extension_init")
...
1.4. Exported Functions
No function exported to be used from configuration file.
1.5. Installation
Because it dependes on an external library, the sqlite module
is not compiled and installed by default. You can use one of
the next options.
* - edit the "Makefile" and remove "db_sqlite" from
"excluded_modules" list. Then follow the standard procedure
to install OpenSIPS: "make all; make install".
* - from command line use: 'make all
include_modules="db_sqlite"; make install
include_modules="db_sqlite"'.
Chapter 2. Contributors
2.1. By Commit Statistics
Table 2.1. Top contributors by DevScore^(1), authored
commits^(2) and lines added/removed^(3)
Name DevScore Commits Lines ++ Lines --
1. Ionut Ionita (@ionutrazvanionita) 80 28 3744 1276
2. Razvan Crainea (@razvancrainea) 13 11 85 31
3. Liviu Chircu (@liviuchircu) 9 7 21 49
4. Jarrod Baumann (@jarrodb) 5 3 7 4
5. Vlad Patrascu (@rvlad-patrascu) 4 2 3 2
6. Aron Podrigal (@ar45) 3 1 10 1
7. Daniel Fussia 3 1 4 22
8. Bogdan-Andrei Iancu (@bogdan-iancu) 3 1 2 1
9. Eric Green 3 1 1 10
10. Peter Lemenkov (@lemenkov) 3 1 1 1
(1) DevScore = author_commits + author_lines_added /
(project_lines_added / project_commits) + author_lines_deleted
/ (project_lines_deleted / project_commits)
(2) including any documentation-related commits, excluding
merge commits. Regarding imported patches/code, we do our best
to count the work on behalf of the proper owner, as per the
"fix_authors" and "mod_renames" arrays in
opensips/doc/build-contrib.sh. If you identify any
patches/commits which do not get properly attributed to you,
please submit a pull request which extends "fix_authors" and/or
"mod_renames".
(3) ignoring whitespace edits, renamed files and auto-generated
files
2.2. By Commit Activity
Table 2.2. Most recently active contributors^(1) to this module
Name Commit Activity
1. Razvan Crainea (@razvancrainea) Aug 2015 - Nov 2021
2. Liviu Chircu (@liviuchircu) May 2016 - Mar 2021
3. Eric Green Aug 2020 - Aug 2020
4. Bogdan-Andrei Iancu (@bogdan-iancu) Apr 2019 - Apr 2019
5. Vlad Patrascu (@rvlad-patrascu) May 2017 - Apr 2019
6. Peter Lemenkov (@lemenkov) Jun 2018 - Jun 2018
7. Ionut Ionita (@ionutrazvanionita) Apr 2015 - Feb 2017
8. Daniel Fussia Jun 2016 - Jun 2016
9. Jarrod Baumann (@jarrodb) Apr 2015 - Mar 2016
10. Aron Podrigal (@ar45) Nov 2015 - Nov 2015
(1) including any documentation-related commits, excluding
merge commits
Chapter 3. Documentation
3.1. Contributors
Last edited by: Liviu Chircu (@liviuchircu), Peter Lemenkov
(@lemenkov), Ionut Ionita (@ionutrazvanionita).
Documentation Copyrights:
Copyright © 2015 www.opensips-solutions.com
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。