[asterisk-dev] [Code Review] Replace Berkeley DB astdb with SQLite3
Russell Bryant
reviewboard at asterisk.org
Wed Jul 6 13:08:10 CDT 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1269/#review3828
-----------------------------------------------------------
Update the CHANGES and Upgrade.txt files, as well
/trunk/main/db.c
<https://reviewboard.asterisk.org/r/1269/#comment7645>
You can use ast_str on the stack here
/trunk/utils/astdb2sqlite3.c
<https://reviewboard.asterisk.org/r/1269/#comment7646>
I see a bunch of places in the code where 256 is the limit on key length. However, I'm afraid if 256 is a hard limit on the value, that will be seen as a regression. It's much higher than that for most uses I think. It's whatever the buffer sizes are that get passed into the func_db code, I guess.
- Russell
On June 15, 2011, 11:55 p.m., Terry Wilson wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1269/
> -----------------------------------------------------------
>
> (Updated June 15, 2011, 11:55 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> There have been a couple of bugs reported lately against the Berkeley DB version that Asterisk uses for its internal database. These bugs have been tracked to the actual Berkeley code Asterisk uses, which is very very old and unmaintained. This patch replaces the Berkeley code with SQLite3 while maintaining exactly the same API. If there is no sqlite3 version of the database already and there is a Berkeley DB version, it automatically converts the old database to the new format.
>
> If this goes in, I would then like to update Olle's patch for Realtime support for astdb as well and get that in.
>
>
> Diffs
> -----
>
> /trunk/configure.ac 323928
> /trunk/main/Makefile 323928
> /trunk/main/asterisk.c 323928
> /trunk/main/db.c 323928
> /trunk/tests/test_db.c 323928
> /trunk/utils/Makefile 323928
> /trunk/utils/astdb2sqlite3.c PRE-CREATION
> /trunk/utils/db1-ast/Makefile PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_close.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_conv.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_debug.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_delete.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_get.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_open.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_overflow.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_page.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_put.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_search.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_seq.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_split.c PRE-CREATION
> /trunk/utils/db1-ast/btree/bt_utils.c PRE-CREATION
> /trunk/utils/db1-ast/btree/btree.h PRE-CREATION
> /trunk/utils/db1-ast/btree/extern.h PRE-CREATION
> /trunk/utils/db1-ast/db/db.c PRE-CREATION
> /trunk/utils/db1-ast/hash/README PRE-CREATION
> /trunk/utils/db1-ast/hash/extern.h PRE-CREATION
> /trunk/utils/db1-ast/hash/hash.h PRE-CREATION
> /trunk/utils/db1-ast/hash/hash.c PRE-CREATION
> /trunk/utils/db1-ast/hash/hash_bigkey.c PRE-CREATION
> /trunk/utils/db1-ast/hash/hash_buf.c PRE-CREATION
> /trunk/utils/db1-ast/hash/hash_func.c PRE-CREATION
> /trunk/utils/db1-ast/hash/hash_log2.c PRE-CREATION
> /trunk/utils/db1-ast/hash/hash_page.c PRE-CREATION
> /trunk/utils/db1-ast/hash/hsearch.c PRE-CREATION
> /trunk/utils/db1-ast/hash/ndbm.c PRE-CREATION
> /trunk/utils/db1-ast/hash/page.h PRE-CREATION
> /trunk/utils/db1-ast/hash/search.h PRE-CREATION
> /trunk/utils/db1-ast/include/circ-queue.h PRE-CREATION
> /trunk/utils/db1-ast/include/compat.h PRE-CREATION
> /trunk/utils/db1-ast/include/db.h PRE-CREATION
> /trunk/utils/db1-ast/include/mpool.h PRE-CREATION
> /trunk/utils/db1-ast/include/ndbm.h PRE-CREATION
> /trunk/utils/db1-ast/libdb.map PRE-CREATION
> /trunk/utils/db1-ast/mpool/README PRE-CREATION
> /trunk/utils/db1-ast/mpool/mpool.c PRE-CREATION
> /trunk/utils/db1-ast/recno/extern.h PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_close.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_delete.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_get.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_open.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_put.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_search.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_seq.c PRE-CREATION
> /trunk/utils/db1-ast/recno/rec_utils.c PRE-CREATION
> /trunk/utils/db1-ast/recno/recno.h PRE-CREATION
> /trunk/utils/utils.xml 323928
>
> Diff: https://reviewboard.asterisk.org/r/1269/diff
>
>
> Testing
> -------
>
> All astdb tests pass and I have tested converting several astdb databases.
>
>
> Thanks,
>
> Terry
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110706/d6773b3b/attachment-0001.htm>
More information about the asterisk-dev
mailing list