Skip to Content.
Sympa Menu

freetds - Re: [freetds] Adding NVARCHAR columns causes ct_cancel (ctlib) to hang

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Gregory Holtorf <gregory.holtorf AT gmail.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Adding NVARCHAR columns causes ct_cancel (ctlib) to hang
  • Date: Mon, 19 Jan 2015 12:57:01 -0600

I download the master version at
https://gitorious.org/freetds/freetds/source/a8bafc940508adcb575d1d72b4ff456c9973f5e4:
but that version apparently can't ./configure and make on unix (even
though) some of the readme still says to do that. Is there a version that
still works on unix?

On Sun, Jan 18, 2015 at 3:23 AM, Frediano Ziglio <freddy77 AT gmail.com> wrote:

> 2015-01-16 22:17 GMT+00:00 Gregory Holtorf <gregory.holtorf AT gmail.com>:
> > When calling ct_cancel in the freetds library, on unix, ct_cancel()
> > sometimes takes several minutes to run. This is bad because it usually
> > takes a few milliseconds to run. This bug works on freetds-0.91 and
> > freetds-0.64 In order to reproduce the bug, I needed to:
> >
> > 1. Run a select statement on a large table
> >
> > 2. The table has to contain nvarchar columns. varchar columns do not
> > trigger the bug.
> >
> > 3. The select statement must contain an order by clause
> >
> >
> > select <nvarchar columns>
> >
> > from <table name>
> >
> > order by <nvarchar column>
> >
> >
> > After completing the select statement, call ct_cancel(). For instance,
> > before you make another select statement or when you log out.
> >
> > ct_cancel(m_pCtConnection, NULL, CS_CANCEL_ALL);
> >
> >
> > When I turn on logging I can see that after I call ct_cancel() for the
> last
> > time, it is followed by an absolutely huge number of packets received. I
> > attached a log file, but I had to force quit the program or else the log
> > file ends up being several thousand megabytes long.
> >
> > Is there a way to fix this issue? Is freetds unable to make select
> > statements on nvarchar columns or is it something I did in my code?
> >
> >
> > Thanks,
> >
> > Greg
> >
>
> Hi,
> unfortunately is a server problem. Looking at the log FreeTDS
> correctly send the cancel request but server does not process it in a
> time fashion so at the end it output all results to client. The only
> problem can raise from FreeTDS is the conversion from nvarchar(max) ->
> ntext caused by protocol. You should try with git master version and
> 7.2 protocol.
>
> Frediano
> _______________________________________________
> FreeTDS mailing list
> FreeTDS AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
>




Archive powered by MHonArc 2.6.24.

Top of Page