<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    On 12/13/11 1:08 PM, Paul Pankhurst wrote:
    <blockquote cite="mid:F9EDD430CADE4DCF8BF32BD7071530C8@pjplaptop"
      type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div dir="ltr">
        <div style="font-family: 'Calibri'; color: rgb(0, 0, 0);
          font-size: 12pt;">
          <div>should have sent this to list &#8211; sorry</div>
          <div style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY:
            'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT:
            normal; TEXT-DECORATION: none">
            <div style="FONT: 10pt tahoma">
              <div>&nbsp;</div>
              <div style="BACKGROUND: #f5f5f5">
                <div style="font-color: black"><b>From:</b> <a
                    moz-do-not-send="true"
                    title="paul@crocodile-rcs.com"
                    href="mailto:paul@crocodile-rcs.com">Paul Pankhurst</a>
                </div>
                <div><b>Sent:</b> Tuesday, December 13, 2011 12:03 PM</div>
                <div><b>To:</b> <a moz-do-not-send="true"
                    title="miconda@gmail.com"
                    href="mailto:miconda@gmail.com">miconda@gmail.com</a>
                </div>
                <div><b>Subject:</b> Re: [sr-dev] db_fetch_next problem
                  with Postgres?</div>
              </div>
            </div>
            <div>&nbsp;</div>
          </div>
          <div style="font-style: normal; display: inline; font-family:
            'Calibri'; color: rgb(0, 0, 0); font-size: small;
            font-weight: normal; text-decoration: none;">
            <div dir="ltr">
              <div style="font-family: 'Calibri'; color: rgb(0, 0, 0);
                font-size: 12pt;">
                <div>Hi Daniel,</div>
                <div>&nbsp;</div>
                <div>I have a bit more information...</div>
                <div>&nbsp;</div>
                <div>the outline pseudo code for what I am doing looks
                  like this (removing non relevant stuff)</div>
                <div>&nbsp;</div>
                <div>&nbsp;</div>
                <div>db_fetch_query( xcap_db )</div>
                <div>&nbsp;</div>
                <div>do</div>
                <div style="font-style: normal; display: inline;
                  font-family: 'Calibri'; color: rgb(0, 0, 0);
                  font-size: small; font-weight: normal;
                  text-decoration: none;">
                  <div style="font: 10pt tahoma;">
                    <div><font face="Calibri" size="3">{</font></div>
                    <div>&nbsp;</div>
                    <div><font face="Calibri" size="3">query(
                        another_2nd_db )</font></div>
                    <div>&nbsp;</div>
                    <div><font face="Calibri" size="3">} while (
                        db_fetch_next( xcap_db) ) </font></div>
                    <div>&nbsp;</div>
                    <div>&nbsp;</div>
                    <div><font face="Calibri" size="3">it is the query
                        to the second database that breaks
                        everything...if I remove it the problem goes
                        away and db_fetch_next works as expected.</font></div>
                    <div><font face="Calibri" size="3">The access to the
                        2nd database uses completely different db_func_t
                        and db1_cont_t structures to the xcap_db</font></div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    if it is the same db_url value, then it results in same db1_con_t
    pointers, since the postgres has connection pool inside and matches
    an old connection for same db_url when initializing the second one.<br>
    <br>
    Some ideas:<br>
    - extend db api with a new function init_new that will always return
    a new connection -- requires coding in db modules<br>
    - make another database where you add a view to the table in initial
    database and work with it for second connection -- should work
    without touching kamailio code<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <blockquote cite="mid:F9EDD430CADE4DCF8BF32BD7071530C8@pjplaptop"
      type="cite">
      <div dir="ltr">
        <div style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE:
          12pt">
          <div style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY:
            'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT:
            normal; TEXT-DECORATION: none">
            <div dir="ltr">
              <div style="FONT-FAMILY: 'Calibri'; COLOR: #000000;
                FONT-SIZE: 12pt">
                <div style="FONT-STYLE: normal; DISPLAY: inline;
                  FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE:
                  small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
                  <div style="FONT: 10pt tahoma">
                    <div>&nbsp;</div>
                    <div><font face="Calibri" size="3">I&#8217;ll try running
                        it with extra debug shortly to see if I can see
                        what&#8217;s happening</font></div>
                    <div>&nbsp;</div>
                    <div><font face="Calibri" size="3">Paul</font></div>
                    <div>&nbsp;</div>
                    <div style="BACKGROUND: #f5f5f5">
                      <div style="font-color: black"><b>From:</b> <a
                          moz-do-not-send="true"
                          title="miconda@gmail.com"
                          href="mailto:miconda@gmail.com">Daniel-Constantin
                          Mierla</a> </div>
                      <div><b>Sent:</b> Tuesday, December 13, 2011 11:10
                        AM</div>
                      <div><b>To:</b> <a moz-do-not-send="true"
                          title="sr-dev@lists.sip-router.org"
                          href="mailto:sr-dev@lists.sip-router.org">Development
                          mailing list of the sip-router project</a> </div>
                      <div><b>Cc:</b> <a moz-do-not-send="true"
                          title="paul@crocodile-rcs.com"
                          href="mailto:paul@crocodile-rcs.com">Paul
                          Pankhurst</a> </div>
                      <div><b>Subject:</b> Re: [sr-dev] db_fetch_next
                        problem with Postgres?</div>
                    </div>
                  </div>
                  <div>&nbsp;</div>
                </div>
                <div style="FONT-STYLE: normal; DISPLAY: inline;
                  FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE:
                  small; FONT-WEIGHT: normal; TEXT-DECORATION: none">Hello,<br>
                  <br>
                  On 12/13/11 11:40 AM, Paul Pankhurst wrote:
                  <blockquote
                    cite="mid:D3F2C658884F44B6882BA8DB016504E8@pjplaptop"
                    type="cite">
                    <div dir="ltr">
                      <div style="FONT-FAMILY: 'Calibri'; COLOR:
                        rgb(0,0,0); FONT-SIZE: 12pt">
                        <div>I am having problems with the db_fetch_next
                          routine&nbsp; and Postgres.</div>
                        <div>&nbsp;</div>
                        <div>I can&#8217;t see any problem with my code that
                          calls it, and as far as I can tell the problem
                          appears to be in the db_postgres_fetch_result
                          routine.</div>
                        <div>On the first invocation of
                          db_postgres_fetch_result&nbsp; it allocates a
                          result structure and gives me the first 5 rows
                          of the 198 that match my query after calling
                          db_postgres_convert_rows.</div>
                        <div>On the 2nd invocation it fails to retrieve
                          the next 5 rows because CON_RESULT(_con) is
                          NULL !</div>
                        <div>Anyone got any suggestions? </div>
                      </div>
                    </div>
                  </blockquote>
                  can you doublecheck and see if you don't call
                  free_result() before fetching the next rows? If you
                  run with debug=3, if there is a free_result, you
                  should see the log message from:<br>
                  <br>
                  LM_DBG("PQclear(%p) result set\n", CON_RESULT(_con))<br>
                  <br>
                  Cheers,<br>
                  Daniel<br>
                  <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://linkedin.com/in/miconda">http://linkedin.com/in/miconda</a> -- <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://twitter.com/miconda">http://twitter.com/miconda</a></pre>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sr-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://linkedin.com/in/miconda">http://linkedin.com/in/miconda</a> -- <a class="moz-txt-link-freetext" href="http://twitter.com/miconda">http://twitter.com/miconda</a></pre>
  </body>
</html>