Skip to Content.
Sympa Menu

freetds - Re: [freetds] 0.64RC2 problem with return status

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] 0.64RC2 problem with return status
  • Date: Thu, 29 Jun 2006 09:50:25 +0200

>
> > From: Lowden, James K
> > Sent: Wednesday, June 28, 2006 11:04 AM
> >
> > > From: ZIGLIO, Frediano, VF-IT Sent: Wednesday, June 28, 2006 8:23
> > > AM
> > >
> > > > I'm getting an invalid cursor state error trying to fetch data
> > > > from a stored procedure using prepare/execute from DBD::ODBC.
> > > > It looks like DBD::ODBC thinks there is more than one result
> > > > set and is trying to get column descriptors when there are no
> > > > metadata.
> >
> > > James, can you post jkl script source ?
>
> Simpler still, src/odbc/unittests/funccall.c fails:
>
> =================
> $ tsql -C | grep Ver; isql --version; cat typescript
> Version: freetds v0.64.dev.20060127
> unixODBC 2.2.6
> Script started on Wed Jun 28 14:35:54 2006
> $ pwd; ident src/funccall.c; make funccall && ./funccall
> /usr/users/home/jklowden/projects/freetds.cvs/freetds/build/sr
> c/odbc/uni
> ttests
> src/funccall.c:
> $Id: funccall.c,v 1.11 2004/10/28 13:16:18 freddy77 Exp $
> `funccall' is up to date.

See results using unixODBC-2.2.11 at
http://freetds.sourceforge.net/out0/test/... as you can see unixODBC for
some reason produce a lot of leaks/errors messages :( More deeply it
seems that it do not unload driver (many dlopen leaks) and that
SQLGetData have a fprintf with data that points to uninitialized data
(VG errors column).
However all tests passed successfully.

Compiling all unittests with 2.2.6 tests output

$ makefail
FAIL: funccall
FAIL: params
FAIL: raiserror
FAIL: genparams
FAIL: const_params
FAIL: array
FAIL: cursor1
FAIL: describecol
FAIL: warning

quite similar to your output

$ classifier --color ./funccall
odbctest
--------

connection parameters:
server: 'OPDN106'
user: 'test'
password: '????'
database: 'test'
use test
drop proc simpleresult
Unable to execute statement
create proc simpleresult @i int as begin return @i end
DECLARE @i INT
drop proc simpleresult
drop proc simpleresult2
create proc simpleresult2 @i int, @x int output, @y varchar(20) output
as begin select @x = 6789 select @y = 'test foo' return @i end
drop proc simpleresult2
Unable to execute statement
SQL error 24000 -- [unixODBC][Driver Manager]Invalid cursor state

(last row is in red but I don't think you can see this :) )

I'll try with unixODBC 2.2.7, 2.2.8... and so on...
It seems that your configuration is a bit strange.. I had to change
describecol.c in order to compile it while it compile in your
environment...

freddy77





Archive powered by MHonArc 2.6.24.

Top of Page