<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel">
    <title>gmane.comp.db.unixodbc.devel</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2647"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2646"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2645"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2644"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2643"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2642"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2641"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2640"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2639"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2638"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2637"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2636"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2635"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2634"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2633"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2632"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2631"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2630"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2629"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2628"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2647">
    <title>Re: ODBC driver information</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2647</link>
    <description>&lt;pre&gt;Thank you! (bow)

&lt;/pre&gt;</description>
    <dc:creator>Aistis Jokubauskas</dc:creator>
    <dc:date>2013-04-24T09:49:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2646">
    <title>Re: ODBC driver information</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2646</link>
    <description>&lt;pre&gt;
Look at the SQLGetInfo API call. You can get all that and more.

Martin
&lt;/pre&gt;</description>
    <dc:creator>Martin J. Evans</dc:creator>
    <dc:date>2013-04-24T09:36:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2645">
    <title>ODBC driver information</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2645</link>
    <description>&lt;pre&gt;Hi,

is it possible to get odbc driver information. I would like to get 
driver name and version using odbc api.

&lt;/pre&gt;</description>
    <dc:creator>Aistis Jokubauskas</dc:creator>
    <dc:date>2013-04-24T09:29:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2644">
    <title>Re: Compiling unixODBC with MySQL driver on AIX</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2644</link>
    <description>&lt;pre&gt;
There's quite a bit of stuff that doesn't work out-of-the-box in
current mysql-connector-odbc.  You might find some useful patches in
Red Hat's version: 
http://pkgs.fedoraproject.org/cgit/mysql-connector-odbc.git/tree/

You won't need the "mysys" patch if you're using a stock libmysqlclient,
but the rest of it is probably relevant.  Also I should note that we
have not tried to build this against anything later than mysql 5.5;
I dunno if 5.6 would require further hacking.

regards, tom lane
_______________________________________________
unixODBC-dev mailing list
unixODBC-dev&amp;lt; at &amp;gt;mailman.unixodbc.org
http://mailman.unixodbc.org/mailman/listinfo/unixodbc-dev

&lt;/pre&gt;</description>
    <dc:creator>Tom Lane</dc:creator>
    <dc:date>2013-04-12T13:53:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2643">
    <title>Re: lt_dlerror may cause potential issue in multi-thread environment</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2643</link>
    <description>&lt;pre&gt;
Yes, you are right, I should read my own code a bit closer. I will do 
what you suggest.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-12T10:18:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2642">
    <title>Compiling unixODBC with MySQL driver on AIX</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2642</link>
    <description>&lt;pre&gt;Hello,
I'm trying to get unixODBC working on AIX 7.1, so far I have done the following:


1) I have downloaded unixODBC 2.3.0 and compiled it with the following options:

export CC=xlc_r
export CXX=xlC_r
export CFLAGS="-q32 -qlanglvl=extended -ma -O2 -g -qstrict -qoptimize=2 -qmaxmem=8192"
export CXXFLAGS="-q32 -ma -O2 -g -qstrict -qoptimize=2 -qmaxmem=8192"
export LDFLAGS="-Wl,-brtl"
export OBJECT_MODE=32

./configure --enable-gui=no --enable-drivers=no &amp;gt; c.log

N.B: The install script does not seem work correctly on AIX 7.1.


2) I then downloaded MySQL 5.6.10:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz/from/http://cdn.mysql.com/ -O mysql-5.6.10.tar.gz

and added the following to CMakeLists.txt:

SET(CMAKE_C_FLAGS "-q32 -qlanglvl=extended -ma -O2 -g -qstrict -qoptimize=2 -qmaxmem=8192 -lC -liconv" CACHE STRING "Forced C compiler flags." FORCE)
SET(CMAKE_CXX_FLAGS "-q32 -ma -O2 -g -qstrict -qoptimize=2 -qmaxmem=8192" CACHE STRING "Forced C++ compiler flags." FORCE)
SET(CMAKE_C_CO&lt;/pre&gt;</description>
    <dc:creator>k_runarsson&lt; at &gt;simnet.is</dc:creator>
    <dc:date>2013-04-12T10:23:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2641">
    <title>Re: lt_dlerror may cause potential issue in multi-thread environment</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2641</link>
    <description>&lt;pre&gt;Hi, Nick:

    Your response:
     a context shift can happen between dlopen and dlerror so the error may relate to the other thread.

    Because there is a lock, why other threads can enter this critical Section? Thanks!

Best Regards
Nan Xiao
At 2013-04-12 14:59:02,"Nick Gorham" &amp;lt;nick&amp;lt; at &amp;gt;lurcher.org&amp;gt; wrote:

On 12/04/13 02:40, xiaonan wrote:

 Hi, Nick:

    Because lt_dlerror() function is not thread-safe, in the following code:


Ok, I misunderstood your problem. I would say the solution is to wrap the calls with the mutext to force it into being thread safe. But you still run the risk if the driver does the same thing and not using the mutext so it will still have the same problem.

    
    if ( !(connection -&amp;gt; dl_handle = odbc_dlopen( driver_lib )))
    {
        char txt[ 2048 ];

        sprintf( txt, "Can't open lib '%s' : %s",
                driver_lib, lt_dlerror());

        ......
        
        return 0;
    }
    
    In multi-thread environment, the lt_dlerror() may return other thread's er&lt;/pre&gt;</description>
    <dc:creator>xiaonan</dc:creator>
    <dc:date>2013-04-12T09:51:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2640">
    <title>Re: RHEL 5 Linux UnixODBC/Freetds</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2640</link>
    <description>&lt;pre&gt;2013/4/12 Prasanna Srinivasan &amp;lt;psriniboise&amp;lt; at &amp;gt;gmail.com&amp;gt;

I don't remember to have seen this error before!



it's LD_LIBRARY_PATH.




If you want to use unixODBC you need to link to odbc, not to our driver
directly. DM (unixODBC) will load the driver for you.

Frediano


_______________________________________________
unixODBC-dev mailing list
unixODBC-dev&amp;lt; at &amp;gt;mailman.unixodbc.org
http://mailman.unixodbc.org/mailman/listinfo/unixodbc-dev
&lt;/pre&gt;</description>
    <dc:creator>Frediano Ziglio</dc:creator>
    <dc:date>2013-04-12T09:47:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2639">
    <title>Re: lt_dlerror may cause potential issue in multi-thread environment</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2639</link>
    <description>&lt;pre&gt;
Ok, I misunderstood your problem. I would say the solution is to wrap 
the calls with the mutext to force it into being thread safe. But you 
still run the risk if the driver does the same thing and not using the 
mutext so it will still have the same problem.

Bit that still doesnt help. a context shift can happen between dlopen 
and dlerror so the error may relate to the other thread. If I understand 
correctly, all you have done is reduce the time between the dlopen and 
dlerror, its still not atomic.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-12T06:59:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2638">
    <title>Re: RHEL 5 Linux UnixODBC/Freetds</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2638</link>
    <description>&lt;pre&gt;
Thats from the driver not unixODBC. I would guess its debug relating to 
timeouts not being implemented. I would ask the freetds folk, or suggest 
another driver (I am biased, the Easysoft one comes to mind :-)).

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-12T06:54:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2637">
    <title>lt_dlerror may cause potential issue in multi-threadenvironment</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2637</link>
    <description>&lt;pre&gt; Hi, Nick:

    Because lt_dlerror() function is not thread-safe, in the following code:
    
    if ( !(connection -&amp;gt; dl_handle = odbc_dlopen( driver_lib )))
    {
        char txt[ 2048 ];

        sprintf( txt, "Can't open lib '%s' : %s",
                driver_lib, lt_dlerror());

        ......
        
        return 0;
    }
    
    In multi-thread environment, the lt_dlerror() may return other thread's error, or even NULL.
    
    In your latest modification:
    
    if ( !(connection -&amp;gt; dl_handle = odbc_dlopen( driver_lib )))
    {
        char txt[ 2048 ];
        const char *err;

        err = lt_dlerror();

        sprintf( txt, "Can't open lib '%s' : %s",
                driver_lib, err ? err : "NULL ERROR RETURN" );

        ......
        return 0;
    }
    
    This issue still exits.
    
    Personally, I think the function of odbc_dlopen() can be modified as this:
    
    static void *odbc_dlopen( char *libname, char *err );
    {
        ......
        hand = lt_dlopen( libname );
 &lt;/pre&gt;</description>
    <dc:creator>xiaonan</dc:creator>
    <dc:date>2013-04-12T01:40:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2636">
    <title>RHEL 5 Linux UnixODBC/Freetds</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2636</link>
    <description>&lt;pre&gt;Am trying to move my compiled C code that connects to mssql database
servers from using the datadirect odbc drivers to using the unixodbc
driver manager (version 2.3.1)/ freetds drivers (version 0.91) which
are already compiled for 64 bit and available to me.

Am able to successfully compile it on 64 bit RHEL5 Linux by linking in
libodbc which has already been compiled. But I get the error
net.c:350: tds_select: Assertion 'timeout_seconds &amp;gt;= 0' failed
multiple times when I run the code and the database connection fails.

The environment variables I set are ODBCINI, ODBCHOME and
LDD_LIBRARY_PATH (which is set to the libraries in the unixodbc path).
The driver in the odbcinst file is set to the path where libtdsodbc.so
is located.
 The permissions on the odbc.ini, odbcinst.ini files appear to be fine.

I also tried linking in libodbinst and libtdsodbc (by including and
not including libodbc)  when compiling and set the FREETDSCONF
environment variable as well to the freetds.conf location. But I keep
getting th&lt;/pre&gt;</description>
    <dc:creator>Prasanna Srinivasan</dc:creator>
    <dc:date>2013-04-12T01:37:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2635">
    <title>Re: A multi-thread contention issue when using lt_dlinit function</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2635</link>
    <description>&lt;pre&gt;
Changes checked in.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-11T18:24:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2634">
    <title>Re: A multi-thread contention issue when using lt_dlinit function</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2634</link>
    <description>&lt;pre&gt;
Yes, I see what you are saying, I will look at adding that mutex.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-11T06:31:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2633">
    <title>Re: ODBC-api hooking problem</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2633</link>
    <description>&lt;pre&gt;
Hmm, I guess my answer is I don't know to that.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-11T06:29:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2632">
    <title>A multi-thread contention issue when using lt_dlinitfunction</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2632</link>
    <description>&lt;pre&gt; Hi, Nick:

    Sorry for interrupting you again!
    
    Because libltdl functions are not thread-safe (http://www.gnu.org/software/libtool/manual/html_node/Thread-Safety-in-libltdl.html), we should add lock before using them.
    
    In __connect_part_one function:
    {
        ......
        /*
         * initialize libtool
         */
    
        lt_dlinit();
        ......
        
        if ( !(connection -&amp;gt; dl_handle = odbc_dlopen( driver_lib )))
        {
           ......
        }
     }
    
     int lt_dlinit (void)
     {
         ......
         if (++initialized == 1)
         {
            ......
         }
    
     }
    
     In multi-thread environment, there will be a scenario: Thread 1 calls lt_dlinit(), and the initialized's value is 1. Then Thread 2 calls lt_dlinit(), and the initialized's value is changed to 2. Thread 2 thinks the initializtion is OK, so it will continue executing and calls odbc_dlopen(). But in fact, the initialization isn't done! So odbc_dlopen() will return N&lt;/pre&gt;</description>
    <dc:creator>xiaonan</dc:creator>
    <dc:date>2013-04-11T06:24:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2631">
    <title>Re: ODBC-api hooking problem</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2631</link>
    <description>&lt;pre&gt;10.04.2013 22:24, Nick Gorham пишет:
Thanks a lot for your quick responses!

Now I'm going to try another way (direct access to DBMS driver). I 
think, I'll get more definite behavoir. But I'll have to include some 
driver manager logic into my driver. This is what I wanted to avoid 
trying to use the driver manager twice.

Ok! But, another questions: is there any way to force loading the copy 
of driver manager image on demand? And how dynamic linker ( more 
prcisely dl_sym() ) will resolve the symbols? I experienced the problem 
of that dl_sym() gets me entry pionts of my driver instead of ones in 
newly loaded shared object when I used dlopen() to load it (dlmopen() 
with LM_ID_NEWLM option solved this problem).
_______________________________________________
unixODBC-dev mailing list
unixODBC-dev&amp;lt; at &amp;gt;mailman.unixodbc.org
http://mailman.unixodbc.org/mailman/listinfo/unixodbc-dev
&lt;/pre&gt;</description>
    <dc:creator>Динар Рахимбаев</dc:creator>
    <dc:date>2013-04-11T06:18:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2630">
    <title>Re: A core dump issue in __connect_part_one function</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2630</link>
    <description>&lt;pre&gt;
I have uploaded a simple fix that should fix this.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-10T18:28:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2629">
    <title>Re: ODBC-api hooking problem</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2629</link>
    <description>&lt;pre&gt;
Yep, in theory it should work, but I can imagine there may be some 
reentrancy issues going on. It would probbaly be safer to make your 
driver call the targer driver directly.

&lt;/pre&gt;</description>
    <dc:creator>Nick Gorham</dc:creator>
    <dc:date>2013-04-10T18:24:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2628">
    <title>Re: ODBC-api hooking problem</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2628</link>
    <description>&lt;pre&gt;
I don't know for sure but I am guessing having 2 instances of the dm 
loaded in the same process is causing trouble since there is only one 
odbc environment per process.


you should be able to simply call the dbms driver from within your own 
driver though, every function do your special stuff then call the same 
func in the driver - thats basically what the dm does now.



_______________________________________________
unixODBC-dev mailing list
unixODBC-dev&amp;lt; at &amp;gt;mailman.unixodbc.org
http://mailman.unixodbc.org/mailman/listinfo/unixodbc-dev
&lt;/pre&gt;</description>
    <dc:creator>jon pounder</dc:creator>
    <dc:date>2013-04-10T15:51:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2627">
    <title>ODBC-api hooking problem</title>
    <link>http://permalink.gmane.org/gmane.comp.db.unixodbc.devel/2627</link>
    <description>&lt;pre&gt;Good afternoon!

I have a problem of hooking ODBC-api calls to perform some authority 
check of SQL-requests. I decided that it is possible if I developed my 
own driver, which would pass calls from driver manager  to the next 
DBMS-specific driver, or again to the driver manager(driver manager then 
would call DBMS specific driver) after authority check.
I decided to implement my custom driver by the second way (i.e. driver 
passes calls to the driver manager), because the driver manager performs 
many routine work of managing environment and connections. So my custom 
driver loads the driver manager (libodbc.so) using dlmopen(), extracts 
the entry points using dlsym(), then just passes calls to the 
corresponding functions of newly loaded driver manager.

I'm getting SIGSEGV when my driver passes the call to driver manager's 
SQLConnect() function.

So my question is: is it possible at all to use the driver manager in a 
such scheme?

/****************************************************

Applicaion -&amp;gt; Dr&lt;/pre&gt;</description>
    <dc:creator>Динар Рахимбаев</dc:creator>
    <dc:date>2013-04-10T15:45:16</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.db.unixodbc.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.db.unixodbc.devel</link>
  </textinput>
</rdf:RDF>
