Henning,

This is starting to make a lot more sense!  Thanks for sending.

I have one other question, why is there a srdb1 and a srdb2 library?  Are all 
SQL dbs expected to be supported in both?

Thanks!

~Noah

> On Feb 22, 2021, at 2:32 AM, Henning Westerholt <h...@skalatan.de> wrote:
> 
> Hi Noah,
>  
> sure – let me give you some pointers. So basically, the SQL files are 
> generated from the XSL infrastructure in the quoted directory. This file e.g. 
> is for postgres:
> https://github.com/kamailio/kamailio/blob/5.4/doc/stylesheets/dbschema/xsl/postgres.xsl
>  
> <https://github.com/kamailio/kamailio/blob/5.4/doc/stylesheets/dbschema/xsl/postgres.xsl>
>  
> You basically need to copy it to a new file and adapt the types in it to the 
> cockroachdb types. If you execute “make dbschema” in the kamailio source 
> tree, it will generate all the SQL files. Then you could generate the 
> appropriate SQL files also for your database and it will stay in sync after 
> future changes. There might be also a small extension necessary in the 
> Makefile, but we can have a look to this later on.
>  
> About the questions why the SQL files are then also checked in after creation 
> – because otherwise everybody needs to install the xstl dependencies just for 
> installing Kamailio.
>  
> About the rand()/random() topic – I did not find anything in the LCR module 
> as well. It might be obsolete. I would consider dropping this, maybe after 
> asking on the sr-dev list for this again.
>  
> Cheers,
>  
> Henning
>  
> -- 
> Henning Westerholt – https://skalatan.de/blog/ <https://skalatan.de/blog/>
> Kamailio services – https://gilawa.com <https://gilawa.com/>
>  
> From: Noah Mehl <noahm...@gmail.com <mailto:noahm...@gmail.com>> 
> Sent: Sunday, February 21, 2021 8:47 PM
> To: Jonathan Hunter <hunter...@hotmail.com <mailto:hunter...@hotmail.com>>
> Cc: Henning Westerholt <h...@skalatan.de <mailto:h...@skalatan.de>>; Kamailio 
> (SER) - Users Mailing List <sr-users@lists.kamailio.org 
> <mailto:sr-users@lists.kamailio.org>>
> Subject: Re: Cockroachdb and kamailio 5.4
>  
> Jon,
>  
> I’m not sure what would get my branch accepted.  Henning mentioned on 
> 9/16/2020 that the .sql files are generated from XML/XLST scripts, I have 
> found: https://github.com/kamailio/kamailio/tree/5.4/doc/stylesheets/dbschema 
> <https://github.com/kamailio/kamailio/tree/5.4/doc/stylesheets/dbschema> 
> which was updated just 3 days ago.  However, I don’t understand how this is 
> used to generate the .sql files for Postgres. I’m also confused as to why the 
> .sql files are checked into the repository if they’re generated?  Henning, 
> can you point me in the right direction?
>  
> That being said, this is what’s changed in the branch 
> <https://github.com/kamailio/kamailio/compare/5.4...reperio:cockroachdb-compat?expand=1>:
>  
> kamdbctl.pgsql
>  
> - I’ve updated the psql command for my preferences regarding output
> - I’ve made the function checking more verbose
> - I’ve added the gen_random_uuid() function (by adding pgcrypto to Postgres, 
> it’s native in CockroachDB), this isn’t required, but we are using UUID for 
> usrloc in production
> - I’ve updated the GRANT commands so they’re compatible with both Postgres 
> and CockroachDB
>  
> Some things to note:
>  
> - concat() is native to CockroachDB, so the CREATE FUNCTION is only necessary 
> for Postgres
> - rand() is the native function name in MySQL, but random() is the function 
> name in Postgres and CockroachDB.  This is where I’m most concerned because 
> the file says it’s used in the lcr module, but I cannot find where it is 
> used.  Does anyone know how to ascertain this?  Anyways, they’re the same 
> function, so it’s a little silly to require a CREATE FUNCTION duplicating the 
> exact functionality of an existing native function.
>  
> The rest of the changes have to do with modifying the create statements to 
> not use SERIAL, but use the more verbose SEQUENCE + nextval().  It’s 
> identical in practice, so there’s 0 risk there.
>  
> I think overall risk is low for the branch, as the branch only changes the 
> utility that creates the DBs.  As for production use, it’s worked great for 
> us, there have been no issues.
>  
> ~Noah
>  
> On Feb 18, 2021, at 2:45 PM, Jonathan Hunter <hunter...@hotmail.com 
> <mailto:hunter...@hotmail.com>> wrote:
>  
> Hi Noah,
>  
> Hope you are well?
>  
> I work as a consultant for a company in the UK, and I am building a new 
> hosted telephony platform for them in docker initially, and as we are 
> deploying across multiple servers they want to use cockroachdb to allow easy 
> management of a cluster environment.
>  
> I could see from your posts you got it working using your own branch, and I 
> wondered what changes you made to make things work correctly and what would 
> be needed to get the kamailio dev’s to accept it into the main stream of 
> code? (Happy to help here where I can).
>  
> Unless you will maintain your branch forever 😊 Or are the changes small so 
> its not too much of a concern? I just want to assess the risk really, and 
> like you I think mainly we will just be using userloc and dispatcher for DB 
> interaction so its positive to hear they work fine.  We would also be using 
> rtpengine, routing data will be done via API so that should be fine. FYI Id 
> like to run kamailio 5.4 initially.
>  
> I see your comments about table creation (in previous posts), that is the 
> initial problem I am seeing when trying to use postgres based commands direct 
> from a pgdump to create the kamailio database structure, does your branch 
> contain all the creation scripts for the db/tables that I can use for testing?
>  
> Thanks again in advance  for the response!
>  
> Jon
>  
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
>  
> From: Henning Westerholt <mailto:h...@skalatan.de>
> Sent: 17 February 2021 16:18
> To: Kamailio (SER) - Users Mailing List <mailto:sr-users@lists.kamailio.org>
> Cc: Jonathan Hunter <mailto:hunter...@hotmail.com>; Noah Mehl 
> <mailto:noahm...@gmail.com>
> Subject: RE: Cockroachdb and kamailio 5.4
>  
> Hi Jonathan,
>  
> no – I do not think that there has been more work done so far, apart from the 
> discussion that you referenced below.
> If you are also interested in getting this forward, why not reaching out to 
> the other guy starting this discussion earlier? Just to see if you can maybe 
> join forces to get something of this work into a pull request for review and 
> later a possible merge into our code base.
>  
> Cheers,
>  
> Henning
>  
> -- 
> Henning Westerholt – https://skalatan.de/blog/ 
> <https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fskalatan.de%2Fblog%2F&data=04%7C01%7C%7C548d23e7d9544667296a08d8d35fb5d3%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637491755307382972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WVL5vzihg1kUYxeDwnDwHPksVaf0EaM6ANXuBBBthZE%3D&reserved=0>
> Kamailio services – https://gilawa.com 
> <https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgilawa.com%2F&data=04%7C01%7C%7C548d23e7d9544667296a08d8d35fb5d3%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637491755307392967%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Zkxs8506K%2FpvHX%2FPcHEj3fyYBei%2BnpuzPmpHdtkFfn4%3D&reserved=0>
>  
> From: sr-users <sr-users-boun...@lists.kamailio.org 
> <mailto:sr-users-boun...@lists.kamailio.org>> On Behalf Of Jonathan Hunter
> Sent: Wednesday, February 17, 2021 1:59 PM
> To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org 
> <mailto:sr-users@lists.kamailio.org>>
> Subject: [SR-Users] Cockroachdb and kamailio 5.4
>  
> Hi Guys,
>  
> Hope all are well?
>  
> We are looking to implement kamailio with cockroachdb due to the advantages 
> it gives us in terms of postgres management and clustering.
>  
> I can see from a previous string 
> http://sip-router.1086192.n5.nabble.com/CockroachDB-and-Kamailio-td189233.html
>  
> <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsip-router.1086192.n5.nabble.com%2FCockroachDB-and-Kamailio-td189233.html&data=04%7C01%7C%7C548d23e7d9544667296a08d8d35fb5d3%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637491755307392967%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8E15g5pgP%2BpY%2BgEz%2FtP%2BaLcv6r4s60hCwk5MV0yGn4I%3D&reserved=0>
>  that someone has attempted this and even created their own branch.
>  
> Has any further work been done on this, and if so has anyone got any 
> advice/tips relating to it? As I am nervous about potentially using a branch 
> and not a general release of kamailio moving forwards.
>  
> I appreciate you cant support all database types but I would just be 
> interested to hear people’s thoughts on the topic.
>  
> Many thanks!
>  
> Jon
>  
> Sent from Mail 
> <https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=04%7C01%7C%7C548d23e7d9544667296a08d8d35fb5d3%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637491755307402965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tCO%2FU3IF9d01%2Fwc7APzZZvr2kcFiqIsZox3p%2BjwegyM%3D&reserved=0>
>  for Windows 10

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to