<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI Emoji";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:Menlo;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-GB" link="blue" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Noah,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Completely understand.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Good news however is with 5.4 and secure cockroach, it works for my requirements with the postgres api for location and subscriber table interaction, having created tables using scripts.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I will be using an API for other routing, and I can make sure of permissions and dispatcher files whilst in a containerised environment.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Will let you know if I run into any other issues. Thanks again!</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jon</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">
Mail</a> for Windows 10</p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none;padding:0cm"><b>From: </b><a href="mailto:noahmehl@gmail.com">Noah Mehl</a><br>
<b>Sent: </b>26 February 2021 14:17<br>
<b>To: </b><a href="mailto:hunterj91@hotmail.com">Jonathan Hunter</a><br>
<b>Cc: </b><a href="mailto:sr-users@lists.kamailio.org">Kamailio (SER) - Users Mailing List</a>;
<a href="mailto:hw@skalatan.de">Henning Westerholt</a><br>
<b>Subject: </b>Re: Cockroachdb and kamailio 5.4</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jon,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Realistically, this is alpha functionality, at best.  If you, and/or your organization, do not have the expertise, resources, and/or risk tolerance for this, I couldn’t in good faith recommend that you do it.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">There are many other clustering technologies for MySQL and PostgreSQL that are mature, and *should* be compatible with the existing implementation.  Perhaps someone on the list can let us know if they’re using one of the following:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">- MySQL Galera<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- PostgreSQL replication (either using Pacemaker/Corosync or Zookeeper to provide automated failover and/or Master/Master)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- Vitess: <a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvitessio%2Fvitess&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574111672%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=pPBfQYkCw801LNTrAj%2FxouPuUH7cClWm1YeyeR9YKAA%3D&reserved=0">https://github.com/vitessio/vitess</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- Some other solution not listed here?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That being said, I’ve spend as much time on this as I can.  I solved the permissions module issue in this way:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">diff --git a/utils/kamctl/postgres/permissions-create.sql b/utils/kamctl/postgres/permissions-create.sql</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">index f397ca22f4..66de10ddcb 100644</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">--- a/utils/kamctl/postgres/permissions-create.sql</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">+++ b/utils/kamctl/postgres/permissions-create.sql</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#2EAEBB">@@ -20,10 +20,10 @@</span><span style="font-size:13.5pt;font-family:"Menlo",serif"> CREATE SEQUENCE address_id_seq;<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="font-stretch: normal;min-height: 21px"><span style="font-size:13.5pt;font-family:"Menlo",serif"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif"> CREATE TABLE address (<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">     id integer PRIMARY KEY NOT NULL DEFAULT nextval('address_id_seq'),<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#B42419">-    grp INTEGER DEFAULT 1 NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#2FB41D">+    grp INT4 DEFAULT 1 NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">     ip_addr VARCHAR(50) NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#B42419">-    mask INTEGER DEFAULT 32 NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#B42419">-    port SMALLINT DEFAULT 0 NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#2FB41D">+    mask INT4 DEFAULT 32 NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#2FB41D">+    port INT2 DEFAULT 0 NOT NULL,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">     tag VARCHAR(64)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif"> );<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="font-stretch: normal;min-height: 21px"><span style="font-size:13.5pt;font-family:"Menlo",serif"><br>
<br>
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">diff --git a/src/modules/db_postgres/km_res.c b/src/modules/db_postgres/km_res.c</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">index 13ac138c1a..f4813cafcc 100644</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">--- a/src/modules/db_postgres/km_res.c</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span style="font-size:13.5pt;font-family:"Menlo",serif">+++ b/src/modules/db_postgres/km_res.c</span></b><span style="font-size:13.5pt;font-family:"Menlo",serif"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#2EAEBB">@@ -151,11 +151,11 @@</span><span style="font-size:13.5pt;font-family:"Menlo",serif"> int db_postgres_get_columns(const db1_con_t *_h, db1_res_t *_r)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                        case VARCHAROID:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                        case NAMEOID:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                        case BPCHAROID:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#2FB41D">+</span><span style="font-size:13.5pt;font-family:"Menlo",serif">                      
<span style="color:#2FB41D">case TEXTOID:</span><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                                LM_DBG("use DB1_STRING result type\n");<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                                RES_TYPES(_r)[col] = DB1_STRING;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                                break;<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="font-stretch: normal;min-height: 21px"><span style="font-size:13.5pt;font-family:"Menlo",serif"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif;color:#B42419">-                       case TEXTOID:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                        case BYTEAOID:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                                LM_DBG("use DB1_BLOB result type\n");<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo",serif">                                RES_TYPES(_r)[col] = DB1_BLOB;<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="font-stretch: normal;min-height: 21px"><span style="font-size:13.5pt;font-family:"Menlo",serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal">For the schema update, it becomes CockroachDB specific, hence the need to start creating CockroachDB specific migration files.  For the  km_res.c change, this is where things are probably not ideal.  I’m hoping that Henning and/or Daniel
 can respond.  Essentially, CockroachDB stores all character/string datatypes the same way, and then presents this as a TEXTOID datatype.  I think the problem with moving this to the DB1_STRING type is that we *could* have memory overruns?  That’s just my guess.
  Maybe it’s completely safe?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">~Noah<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Feb 26, 2021, at 5:15 AM, Jonathan Hunter <<a href="mailto:hunterj91@hotmail.com">hunterj91@hotmail.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi Noah,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hope you are well?<span class="apple-converted-space"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Realistically do you think you will be able to spend some time on this or do you think I need to look at other options in the short term?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I guess the primary requirements for me are being able to use these modules which require database interaction (mainly Permissions,userloc,dispatcher).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I have started to work through it but I am pondering if in the short term I need to focus on a support database and look to migrate when available.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Jon<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Sent from<span class="apple-converted-space"> </span><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574121672%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7KtoBKFV2TYoeRZzQegxwRd%2Fevy4eKoJ4OESn8HevU4%3D&reserved=0">Mail</a><span class="apple-converted-space"> </span>for
 Windows 10<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="MsoNormal"><b>From:<span class="apple-converted-space"> </span></b><a href="mailto:hunterj91@hotmail.com">Jonathan Hunter</a><br>
<b>Sent:<span class="apple-converted-space"> </span></b>22 February 2021 11:20<br>
<b>To:<span class="apple-converted-space"> </span></b><a href="mailto:hw@skalatan.de">Henning Westerholt</a>;<span class="apple-converted-space"> </span><a href="mailto:noahmehl@gmail.com">Noah Mehl</a><br>
<b>Cc:<span class="apple-converted-space"> </span></b><a href="mailto:sr-users@lists.kamailio.org">Kamailio (SER) - Users Mailing List</a><br>
<b>Subject:<span class="apple-converted-space"> </span></b>Re: [SR-Users] Cockroachdb and kamailio 5.4<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Noah and Henning,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thank you for your responses, I am currently digesting them!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">If I can be of any help testing/working on this please let me know as Im very keen to implement it so will review and also happy to take direction as I will be testing this week on it.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks again<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Jon<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Sent from<span class="apple-converted-space"> </span><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574121672%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7KtoBKFV2TYoeRZzQegxwRd%2Fevy4eKoJ4OESn8HevU4%3D&reserved=0">Mail</a><span class="apple-converted-space"> </span>for
 Windows 10<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="MsoNormal"><b>From:<span class="apple-converted-space"> </span></b><a href="mailto:hw@skalatan.de">Henning Westerholt</a><br>
<b>Sent:<span class="apple-converted-space"> </span></b>22 February 2021 07:44<br>
<b>To:<span class="apple-converted-space"> </span></b><a href="mailto:noahmehl@gmail.com">Noah Mehl</a>;<span class="apple-converted-space"> </span><a href="mailto:hunterj91@hotmail.com">Jonathan Hunter</a><br>
<b>Cc:<span class="apple-converted-space"> </span></b><a href="mailto:sr-users@lists.kamailio.org">Kamailio (SER) - Users Mailing List</a><br>
<b>Subject:<span class="apple-converted-space"> </span></b>RE: Cockroachdb and kamailio 5.4<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="DE">Hi Noah,</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio%2Fblob%2F5.4%2Fdoc%2Fstylesheets%2Fdbschema%2Fxsl%2Fpostgres.xsl&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574131660%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=y2muH6O94jI47TjjIFm9M6pzRchGO6oiq1YBo%2BD8pv8%3D&reserved=0">https://github.com/kamailio/kamailio/blob/5.4/doc/stylesheets/dbschema/xsl/postgres.xsl</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Henning<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">--<span class="apple-converted-space"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Henning Westerholt –<span class="apple-converted-space"> </span><span lang="DE"><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fskalatan.de%2Fblog%2F&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574131660%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ukJaXXYyg8bKjIdbAkbVGb60iI5HwlSfa7X7Nx7pvYI%3D&reserved=0"><span lang="EN-GB" style="color:#0563C1">https://skalatan.de/blog/</span></a></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Kamailio services –<span class="apple-converted-space"> </span><span lang="DE"><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgilawa.com%2F&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574141653%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vfm8oizLUW7eFUVDSMiq8jrQP2kOI9hDroRbWgiPazI%3D&reserved=0"><span lang="EN-GB" style="color:#0563C1">https://gilawa.com</span></a></span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div style="margin-left:35.4pt">
<p class="MsoNormal"><b><span lang="DE">From:</span></b><span class="apple-converted-space"><span lang="DE"> </span></span><span lang="DE">Noah Mehl <<a href="mailto:noahmehl@gmail.com">noahmehl@gmail.com</a>><span class="apple-converted-space"> </span><br>
<b>Sent:</b><span class="apple-converted-space"> </span>Sunday, February 21, 2021 8:47 PM<br>
<b>To:</b><span class="apple-converted-space"> </span>Jonathan Hunter <<a href="mailto:hunterj91@hotmail.com">hunterj91@hotmail.com</a>><br>
<b>Cc:</b><span class="apple-converted-space"> </span>Henning Westerholt <<a href="mailto:hw@skalatan.de">hw@skalatan.de</a>>; Kamailio (SER) - Users Mailing List <<a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>><br>
<b>Subject:</b><span class="apple-converted-space"> </span>Re: Cockroachdb and kamailio 5.4</span><o:p></o:p></p>
</div>
</div>
</div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">Jon,</span><o:p></o:p></p>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">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: <a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio%2Ftree%2F5.4%2Fdoc%2Fstylesheets%2Fdbschema&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574151647%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=H%2Fq%2BAZuqIhA1KjV0EjurWTjkgmOKboZ25Q0sUhf9XAU%3D&reserved=0">https://github.com/kamailio/kamailio/tree/5.4/doc/stylesheets/dbschema</a> 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?</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">That being said, this is what’s <a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkamailio%2Fkamailio%2Fcompare%2F5.4...reperio%3Acockroachdb-compat%3Fexpand%3D1&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574151647%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HeXGbp24Rc7lYLtmB0CLLFNSW26S9NWJBTbUopiXKBc%3D&reserved=0">changed
 in the branch</a>:</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">kamdbctl.pgsql</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">- I’ve updated the psql command for my preferences regarding output</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">- I’ve made the function checking more verbose</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">- 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</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">- I’ve updated the GRANT commands so they’re compatible with both Postgres and CockroachDB</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">Some things to note:</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">- concat() is native to CockroachDB, so the CREATE FUNCTION is only necessary for Postgres</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">- 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.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">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.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">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.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE">~Noah</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:35.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">On Feb 18, 2021, at 2:45 PM, Jonathan Hunter <<a href="mailto:hunterj91@hotmail.com">hunterj91@hotmail.com</a>> wrote:</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
<div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Hi Noah,</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Hope you are well?</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">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.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">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).</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Unless you will maintain your branch forever<span class="apple-converted-space"> </span></span><span lang="DE" style="font-family:"Segoe UI Emoji",sans-serif">😊</span><span class="apple-converted-space"><span lang="DE"> </span></span><span lang="DE">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.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">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?</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Thanks again in advance  for the response!</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Jon</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Sent from<span class="apple-converted-space"> </span><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574161650%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qbDLutqGaqHUQVXK99dKn8xVjyIGIQBp%2BewB780dI54%3D&reserved=0">Mail</a><span class="apple-converted-space"> </span>for
 Windows 10</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><b><span lang="DE">From:<span class="apple-converted-space"> </span></span></b><span lang="DE"><a href="mailto:hw@skalatan.de">Henning Westerholt</a><br>
<b>Sent:<span class="apple-converted-space"> </span></b>17 February 2021 16:18<br>
<b>To:<span class="apple-converted-space"> </span></b><a href="mailto:sr-users@lists.kamailio.org">Kamailio (SER) - Users Mailing List</a><br>
<b>Cc:<span class="apple-converted-space"> </span></b><a href="mailto:hunterj91@hotmail.com">Jonathan Hunter</a>;<span class="apple-converted-space"> </span><a href="mailto:noahmehl@gmail.com">Noah Mehl</a><br>
<b>Subject:<span class="apple-converted-space"> </span></b>RE: Cockroachdb and kamailio 5.4</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Hi Jonathan,</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">no – I do not think that there has been more work done so far, apart from the discussion that you referenced below.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">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.</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Cheers,</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Henning</span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">--<span class="apple-converted-space"> </span></span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Henning Westerholt –<span class="apple-converted-space"> </span><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fskalatan.de%2Fblog%2F&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574161650%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=YW5KC1GPUviXFbfdWAgnoVyIAm8EGrYvUgbW9yNiJkk%3D&reserved=0"><span lang="EN-GB" style="color:#0563C1">https://skalatan.de/blog/</span></a></span><o:p></o:p></p>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE">Kamailio services –<span class="apple-converted-space"> </span><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgilawa.com%2F&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574171639%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=xrehnLzn8FxOyzYWAlhzHIyr%2Br03fKaQe9e9hSdOCuI%3D&reserved=0"><span lang="EN-GB" style="color:#0563C1">https://gilawa.com</span></a></span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div style="margin-left:107.4pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><b><span lang="DE">From:</span></b><span class="apple-converted-space"><span lang="DE"> </span></span><span lang="DE">sr-users <<a href="mailto:sr-users-bounces@lists.kamailio.org">sr-users-bounces@lists.kamailio.org</a>><span class="apple-converted-space"> </span><b>On
 Behalf Of<span class="apple-converted-space"> </span></b>Jonathan Hunter<br>
<b>Sent:</b><span class="apple-converted-space"> </span>Wednesday, February 17, 2021 1:59 PM<br>
<b>To:</b><span class="apple-converted-space"> </span>Kamailio (SER) - Users Mailing List <<a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>><br>
<b>Subject:</b><span class="apple-converted-space"> </span>[SR-Users] Cockroachdb and kamailio 5.4</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">Hi Guys,</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">Hope all are well?</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">We are looking to implement kamailio with cockroachdb due to the advantages it gives us in terms of postgres management and clustering.</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">I can see from a previous string<span class="apple-converted-space"> </span><a href="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%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574171639%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vzc8t3QW2%2Bz5Jp9Bax1jgRqqJH15vfT46mk4ocPRpxQ%3D&reserved=0">http://sip-router.1086192.n5.nabble.com/CockroachDB-and-Kamailio-td189233.html</a><span class="apple-converted-space"> </span>that
 someone has attempted this and even created their own branch.</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">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.</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">I appreciate you cant support all database types but I would just be interested to hear people’s thoughts on the topic.</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">Many thanks!</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">Jon</span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
</div>
</div>
<div style="margin-left:35.4pt">
<div style="margin-left:178.2pt">
<p class="MsoNormal"><span lang="DE">Sent from<span class="apple-converted-space"> </span><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=04%7C01%7C%7C50369d445ce04ed280d608d8da614417%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637499458574181632%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2FbskNnL14N2kesmKC9R3YFQWSV%2FgTT8J6d7BDd3W50g%3D&reserved=0">Mail</a><span class="apple-converted-space"> </span>for
 Windows 10</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>