Skip to Content.
Sympa Menu

freetds - Re: 0.53 Release Candidate 2

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Brian Bruns <camber AT ais.org>
  • To: TDS Development Group <freetds AT franklin.oit.unc.edu>
  • Subject: Re: 0.53 Release Candidate 2
  • Date: Mon, 17 Dec 2001 20:33:42 -0500 (EST)



I should have mentioned that ct_capability() is still returning false for
dynamic support. It needs to be changed to be detected on the install of
dbd::sybase (although it appears you're not running into that though).

The only time ct_send should have a chance of returning FAIL for
CS_PREPARE is if the protocol version is not at 5.0 or if there is a
pending query open. I'll try to look at it a bit closer.

Tommorow is my last day at work for a bit, except then we leave on the
27th for wally world in the rented family-truckster...so I'll have some time
and then be totally out of contact for about two weeks.

Brian


On Mon, 17 Dec 2001, Michael Peppler wrote:

> Brian Bruns writes:
> >
> > By the way Michael, if you're reading, this release does work with the
> > ct_dynamic() sample you sent me, but DBD::Sybase only partly works.
> > Specifically, it works for insert/update on char fields only. Numeric
> > datatypes (int, float, etc..) all get the same value, and doing some
> > debugging all bound values had the exact same memory address, so I'm not
> > sure what is precisely the problem, but it works in C. selects on the
> > other hand fail in C and Perl, so that is my problem exclusively.
>
> I downloaded the R0_53 tag, built it, and tried to look at the
> ct_dynamic issue a little closer.
>
> The place.t test script (which tests placeholders :-) fails at test
> #3, which is the prepare() for a plain insert.
>
> This fails on the ct_send() in this sequence:
>
> ret = ct_dynamic(imp_sth->cmd, CS_PREPARE, imp_sth->dyn_id,
> CS_NULLTERM, statement, CS_NULLTERM);
> if(ret != CS_SUCCEED) {
> return 0;
> }
> ret = ct_send(imp_sth->cmd);
> if(ret != CS_SUCCEED) { // fails here
> return 0;
> }
> while((ret = ct_results(imp_sth->cmd, &restype)) == CS_SUCCEED)
> if(restype == CS_CMD_FAIL)
> failed = 1;
>
> if(ret == CS_FAIL || failed) {
> return 0;
> }
>
> This is while talking to a Sybase 12.0 server.
>
> Michael
>






Archive powered by MHonArc 2.6.24.

Top of Page