Re: psqlodbc: No memory available to store statement

"Inoue, Hiroshi" <[email protected]> Thu, 27 Jun 2019 05:18:34 +0900
Newsgroups gmane.comp.db.postgresql.odbc
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------6CF1BCBB0195400823414F2D
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrei,

On 2019/06/25 21:28, [email protected] wrote:
> Hello PostgreSQL Community!
>
> I  widely  use psqlodb driver with unixODBC manager on my SLES12 linux 
> machine.
> Not very long ago I updated psqlodbc driver from * 10.03.0000*  to the 
> latest one *11.01.0000 *.
> I use unixODBC-2.3.6-7.9.1.x86_64 package installed from YAST setup 
> and configurational tool and configure, build, and install  psqlodbc 
> from the source code in the same way as for psqlodbc 10.03.0000:
>
> autoreconf -i
> ./configure --prefix=path_to_install --with-libpq=path_to_pg_config 
> --with-unixodbc=path_to_odbc_config
> make
> make install
>
> In my  program I  use quite common ODBC functions to establish a 
> connection, perform a query, retrieve a result:
> SQLConnect, SQLExecDirect,  SQLFetch etc.
>
> But after I had installed psqlodbc11.01.0000 I am constantly getting 
> the following error:
> *_No memory available to store statement *** PostgreSQL SQLSTATE = HY001_*
>
> I inspected all the changes in *11.00.0000* and *11.01.0000* versions 
> and found out that this behaviour is caused by the following commit:
> 1086a6 2018-05-23 | Call AC_CHECK_SIZEOF(long int) in configure.ac and 
> always place config.h before sql....h. Due to this change, sqltypes.h 
> of unixODBC can recognize SIZEOF_LONG_INT used in psqlodbc driver. 
> [Hiroshi Inoue]
>
> So, in this case I see that configure script generates config.h file 
> with defined  SIZEOF_LONG_INT: #define SIZEOF_LONG_INT 0,

Could you please send me config.h ?

regards,
Hiroshi Inoue

> while *odcb_config --header* says:
> #define SIZEOF_LONG_INT 8
>
> So, in regard to this situation I have some questions.
> Unfortunately there is not enough information. So what was the aim of 
> this commit? 1086a6 2018-05-23 | Call AC_CHECK_SIZEOF(long int) in 
> configure.ac and always place config.h before sql....h. Due to this 
> change, sqltypes.h of unixODBC can recognize SIZEOF_LONG_INT used in 
> psqlodbc driver. [Hiroshi Inoue]
> Did anybody face this issue? (*_No memory available to store statement 
> *** PostgreSQL SQLSTATE = HY001_*)
> What do I do wrong? How to resolve this issue?
>
> Best regards,
> Andrei Yahorau

--------------6CF1BCBB0195400823414F2D
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi Andrei,<br>
    </p>
    <div class="moz-cite-prefix">On 2019/06/25 21:28,
      <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a> wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:[email protected]">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <font size="2" face="sans-serif">Hello PostgreSQL Community!<br>
        <br>
        I  widely  use psqlodb driver with unixODBC manager on my SLES12
        linux machine.<br>
        Not very long ago I updated psqlodbc driver from <b> 10.03.0000</b>
         to the latest one <b>11.01.0000 </b>.<br>
        I use unixODBC-2.3.6-7.9.1.x86_64 package installed from YAST
        setup and
        configurational tool and configure, build, and install  psqlodbc
        from
        the source code in the same way as for psqlodbc 10.03.0000:<br>
      </font><tt><font size="2" color="#2f2f2f"><br>
        </font></tt><font size="2" face="sans-serif" color="blue">autoreconf
        -i<br>
        ./configure --prefix=path_to_install
        --with-libpq=path_to_pg_config
        --with-unixodbc=path_to_odbc_config<br>
        make<br>
        make install</font><font size="3" face="sans-serif"><br>
        <br>
      </font><font size="2" face="sans-serif">In my  program I  use
        quite
        common ODBC functions to establish a connection, perform a
        query, retrieve
        a result: </font><font size="3" face="sans-serif"><br>
      </font><font size="2" face="sans-serif">SQLConnect, SQLExecDirect,
         SQLFetch
        etc.</font><font size="3" face="sans-serif"><br>
        <br>
      </font><font size="2" face="sans-serif">But after I had installed
        psqlodbc11.01.0000
        I am constantly getting the following error:<br>
      </font><tt><font size="3"><b><u>No memory available to store
              statement ***
              PostgreSQL SQLSTATE = HY001</u></b></font></tt><font
        size="2" face="sans-serif"><br>
        <br>
        I inspected all the changes in <b>11.00.0000</b> and <b>11.01.0000</b>
        versions and found out that this behaviour is caused by the
        following commit:<br>
      </font><font size="2" face="sans-serif" color="blue">1086a6
        2018-05-23 | Call
        AC_CHECK_SIZEOF(long int) in configure.ac and always place
        config.h before
        sql....h. Due to this change, sqltypes.h of unixODBC can
        recognize SIZEOF_LONG_INT
        used in psqlodbc driver. [Hiroshi Inoue]</font><font size="2"
        face="sans-serif"><br>
        <br>
        So, in this case I see that configure script generates config.h
        file with
        defined  SIZEOF_LONG_INT: #define SIZEOF_LONG_INT 0,</font></blockquote>
    <br>
    <font size="2">Could you please send me config.h ?</font><br>
    <font size="2"><br>
    </font><font size="2">regards,</font><font size="2"><br>
    </font><font size="2">Hiroshi Inoue</font><br>
    <br>
    <blockquote type="cite"
cite="mid:[email protected]"><font
        size="2" face="sans-serif"> while <b>odcb_config --header</b>
        says: <br>
        #define SIZEOF_LONG_INT 8<br>
        <br>
        So, in regard to this situation I have some questions.<br>
        Unfortunately there is not enough information. So what was the
        aim of this
        commit? </font><font size="2" face="sans-serif" color="blue">1086a6
        2018-05-23
        | Call AC_CHECK_SIZEOF(long int) in configure.ac and always
        place config.h
        before sql....h. Due to this change, sqltypes.h of unixODBC can
        recognize
        SIZEOF_LONG_INT used in psqlodbc driver. [Hiroshi Inoue]</font><font
        size="2" face="sans-serif">
        <br>
        Did anybody face this issue? (</font><tt><font size="3"><b><u>No
              memory available
              to store statement *** PostgreSQL SQLSTATE = HY001</u></b></font></tt><font
        size="2" face="sans-serif">
        )<br>
        What do I do wrong? How to resolve this issue?<br>
      </font>
      <br>
      <font size="2" face="sans-serif">Best regards, </font>
      <br>
      <font size="2" face="sans-serif">Andrei Yahorau</font></blockquote>
  </body>
</html>

--------------6CF1BCBB0195400823414F2D--