Hello,

long story short: if you write a db connector module then implement srdb1 interface because most of the modules are relying on that. srdb2 comes from ser branch, only some of the uid_* modules use it. There are couple of goodies in srdb2, but perhaps is easier to migrate them to srdb1 rather than migrate all the modules to srdb1. Also, srdb1 is more reach in exported API than srdb2 (which was more or less in early phase of development at the merge time and remained like that).

Cheers,
Daniel

On 10/02/15 21:19, Davidson, Erik wrote:
Hey Everyone!

I’m currently working on a database module and I’ve come across some issues/confusion that I was hoping someone could clear up for me.  I’ve been looking at the existing modules and the docs online for help but I can’t find a definitive answer for them.
  1. I see there are 2 DB APIs (srdb1 and srdb2) and I gather that srdb2 is the newer version?  Should I aim to use srdb2 exclusively or should I also use srdb1?
  2. It looks like srdb2 provides a db_uri command that can be used to implement custom URI parsing but I can’t figure out how to hook into it.  I added it to my exported commands but it was never called.  When I looked through the code I saw the only place that ever really uses it is db_ctx, which itself looks to be used in the child_init of modules.  I’m developing a database module that I want to be a drop-in replacement for others, but it needs multiple hosts specified in the connection uri (similar to the URI example here http://docs.mongodb.org/manual/reference/connection-string/) and I can’t figure out the best place to do it.  Should I be doing it in db_func_t.init because it has the full string version of the uri and parse it there? Do I then have to reimplement everything that db_do_init would be doing?
  3. Do I need to implement multiple database interfaces to get full module coverage in Kamailio? I was looking at db_berkeley as a reference and it looks like it has the KAMAILIO_MOD_INTERFACE as well as the SER_MOD_INTERFACE implemented.
  4. Is there a preferred way to handle the API binding (such as db_ commands vs db_bind_api)?
Thanks for any help or direction you can give me!

- Erik Davidson


CONFIDENTIALITY NOTICE: The information contained in this e-mail message and any attachments is for the sole use of the intended recipients and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient and have received this communication in error, please contact the sender by reply e-mail and destroy all copies of the original message. Thank you.

  ­­  

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com