'compute' deprecated (Re: rc3 looks good on OpenVMS)

"Craig A. Berry" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
> On May 28, 2015, at 5:16 PM, Frediano Ziglio <[email protected]> wrote:
> 
> Il 28/Mag/2015 09:58, "Craig A. Berry" <[email protected]> ha scritto:
>>  With SQL 2012 this test below fails, but I
>> think it's just because "compute" has been removed in SQL 2012:

> Yes, that test check how compute queries reply so cannot work but is not a
> Freetds issue

I’m reviving this year-old thread because this is still a problem and getting to be a bigger one, and while it isn’t FreeTDS’s fault, it is FreeTDS’s problem if its test suite can’t even run to completion on 3 of the 4 currently-supported versions of Microsoft’s server (SQL 2005 went out of support a week or two ago, so SQL 2008 is the only one that can run the test suite).

The following tests are the ones affected:

src/ctlib/unittests/t0009
src/dblib/unittests/t0023
src/dblib/unittests/dbmorecmds

I tried (unsuccessfully) to come up with a way to skip the tests when running on SQL 2012 or greater.  The following check tells you what you’ve got, but only at run time, which is too late.  The ‘compute’ keyword will still be seen at parse time so the script will already fail before this check runs.  Plus it uses Microsoft-specific functions that will probably not parse on Sybase.

IF CHARINDEX('Microsoft', @@VERSION) <> 0
BEGIN
    IF CAST(PARSENAME(CAST(SERVERPROPERTY('PRODUCTVERSION') AS VARCHAR), 4) AS INT) >= 11
    BEGIN
        PRINT 'SKIP - SQL 2012 or greater'
    END
END

Not sure what to suggest.  Anybody have a good way forward?

> SQL text will be read from ../../../src/dblib/unittests/t0023.sql
>> Starting dsa0:[craig.freetds-0^.95rc3.src.dblib.unittests]t0023.exe
>> About to logon
>> About to open
>> creating table
>>         1: create table #dblib0023 (col1 int not null,  col2 char(1) not
>> null, col3 datetime not null)
>> insert
>>         1: insert into #dblib0023 values (1, 'A', 'Jan  1 2002
>> 10:00:00AM')
>>         1: insert into #dblib0023 values (2, 'A', 'Jan  2 2002
>> 10:00:00AM')
>>         1: insert into #dblib0023 values (3, 'A', 'Jan  3 2002
>> 10:00:00AM')
>>         1: insert into #dblib0023 values (8, 'B', 'Jan  4 2002
>> 10:00:00AM')
>>         1: insert into #dblib0023 values (9, 'B', 'Jan  5 2002
>> 10:00:00AM')
>> select
>>         1: select col1, col2, col3 from #dblib0023 order by col2 compute
>> sum(col1) by col2 compute max(col3)
>> Msg 156, Level 15, State 1
>> Server 'ABC0012312'
>> , Line 1
>> 
>> Incorrect syntax near the keyword 'compute'.
>> exit: no unanticipated messages allowed in unit tests


________________________________________
Craig A. Berry

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds
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.