"Fix affected rows after insert with prepared query" side effec

John Kendall <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
2016-04-23 13:04 GMT+01:00 Frediano Ziglio <freddy77 at gmail.com>:

> 2016-04-22 1:03 GMT+01:00 John Kendall <john at capps.com>: 
> 
> > Thu, 21 Apr 2016 11:04:54 +0100 Frediano Ziglio <freddy77 at gmail.com> 
> >
> >> 2016-04-21 8:00 GMT+01:00 John Kendall <john at capps.com>: 
> >>> On Oct 19, 2015 this patch was applied to ct.c: 
> >>>
> >>> "Fix affected rows after insert with prepared query" 
> >>>
> >>> This patch has the side-effect of a 'rows affected' being displayed for every 
> >>> select statement within a ASE stored procedure. For example, sp_help returns 
> >>> 136 extra 'rows affected' lines. See below. Backing out this patch stops this from 
> >>> happening. I only tested this on sp_help, but I figured that was enough. FYI, this
> >>> patch does not have this effect on MS SQL 2008's sp_help sproc. 
> >>>
> >>> John 
> >>>
> >>
> >> I'm not sure if this is a regression or an improvement. I have to 
> >> check what's the original CT-Library behaviour. 
> >>
> >> Frediano 
> >
> > Hi, Frediano. 
> >
> > I compiled sqsh against Sybase 16 libs and it does not return all those 'rows affected'
> > lines. I could be reading it wrong, but in the archives, it appears the patch applied was
> > not the one requested by David Nichols. 
> >
> 
> There was another patch that make the change the same. 
> 
> > http://lists.ibiblio.org/pipermail/freetds/2015q4/029631.html
> >
> > Could we remove that patch? 
> >
> 
> I don't think so. But probably the patch fixed an issue and introduced a problem 
> so we should find a solution. I think that Dave/Ondrei wanted to have the row 
> number returned by a DONEINPROC in the case of a prepared statement. This 
> does not mean they want all DONEINPROC from the server. 
> 
> Basically
>  - before: no DONEINPROC
>  - after: all DONEINPROC
>  - wanted (you): one DONEINPROC (which one and how still to be defined) 
> Does this make sense?


Yes. 

As far as I can tell, it should only return the count for the last statement that could affect rows:

 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc32300.1570/html/sqlug/X31520.htm

So, the last insert, delete or update, perhaps?

 

> > Thanks, 
> 
> > John 
> >
> >
> 
> I think this is the only no-build issue we had since the 1.0 RC. Not bad! Frediano >
> 
> >>>
> >>> sqsh> sp_help Movetype 
> >>> (1 row affected) 
> >>> Name Owner Object_type 
> >>> -------------------------------- -------------------- ---------------------------------------- 
> >>> Movetype dbo user table 
> >>>
> >>> Column_name Type Length Pre 
> >>> ------------------------------------------------ ---------------- ------------------------ --- 
> >>> movetype char 2 NUL 
> >>> move_desc char 20 NUL 
> >>> move_revenue bit 1 NUL 
> >>>
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (0 rows affected) 
> >>> (1 row affected) 
> >>> (0 rows affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> Object has the following indexes 
> >>>
> >>> (1 row affected) 
> >>> (1 row affected) 
> >>> ... etc 
> >>> <snip>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.