[asterisk-dev] [Code Review]: Replace Berkeley DB astdb with SQLite3

Russell Bryant reviewboard at asterisk.org
Wed Jul 6 14:07:56 CDT 2011



> On July 6, 2011, 1:08 p.m., Russell Bryant wrote:
> > /trunk/utils/astdb2sqlite3.c, line 50
> > <https://reviewboard.asterisk.org/r/1269/diff/4/?file=16953#file16953line50>
> >
> >     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.

I was wrong.  Nevermind.


- Russell


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1269/#review3828
-----------------------------------------------------------


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/c298ac03/attachment-0001.htm>


More information about the asterisk-dev mailing list