Re: [GRAYMAIL] Re: "Fix affected rows after insert with prepared query" side effect
Frediano Ziglio <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAHt6W4cFAStyeaq5KowF6U+jcb84MfS9ks7N6yj5=6eLWoTvfw@mail.gmail.com> |
2016-05-11 6:07 GMT+01:00 John Kendall <[email protected]>: > >> On May 10, 2016, at 3:34 PM, Frediano Ziglio <[email protected]> wrote: >> >> 2016-05-10 22:31 GMT+01:00 John Kendall <[email protected]>: >>> It appears the patch for this ("fix ct-library rows count") has broken compute in ctlib: >>> >>> >>> select col=1 into #tbl insert #tbl values (2) select * from #tbl compute sum(col) >>> (1 row affected) >>> (1 row affected) >>> col >>> ----------- >>> 1 >>> 2 >>> 2 >>> >>> (3 rows affected) >>> >>> dblib (and ctlib RC1) does the expected: >>> >>> select col=1 into #tbl insert #tbl values (2) select * from #tbl compute sum(col) >>> (1 row affected) >>> (1 row affected) >>> col >>> ----------- >>> 1 >>> 2 >>> sum >>> =========== >>> 3 >>> >>> (3 rows affected) >>> >>> >>> Sorry to keep finding things! >>> >>> John >>> >>> Good, testing with updated unittests. AppVeyor is happy (but newer mssql don't support compute clause), Coverity is happy too. Let's wait for my tests and then I'll push the change. Oh... even sqsh looks better with compute clause. Frediano >> >> Can you put some more detailed examples? Which program did you use? >> >> Frediano > > I'm using sqsh. > > The compute clause should return an extra result line. In the example I have given above, the table is a single column table with two rows with values 1 and 2. Adding the compute sum clause to the select should return a compute result of 3, instead it is returns an extra copy of the last row. My example is not a special case, no compute (sum, max, min, avg, etc) results seem to be returning from any queries with a compute clause. I never saw this problem before RC4. Backing out the 'fix ct-library rows count' patch on ct.c makes it return the expected result. > > John > > >> _______________________________________________ >> FreeTDS mailing list >> [email protected] >> http://lists.ibiblio.org/mailman/listinfo/freetds > > _______________________________________________ > FreeTDS mailing list > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds