According to [1], SDB supports Microsoft SQL Server. However, when I follow the 
instructions and run the test suite, all the Slice tests fail with 
com.hp.hpl.jena.sdb.test.junit.QueryTestSDB: "SQLException in executing SQL 
statement". When I debug further, I see that this is because SQL statements are 
being executed with LIMIT and OFFSET keywords, which are not supported by 
Microsoft SQL Server (OFFSET is coming in SQL Server 2012, though). I checked 
the code and I'm not sure how this would have ever worked with Microsoft SQL 
Server.

Is this database engine really supported? How important are the "Slice" tests 
to the functionality of the server? Is there a way to switch off functionality 
such that LIMIT and OFFSET queries are never sent to the DB server?

It's relatively easy to patch the code to use "SELECT TOP" instead of "LIMIT" 
but to replace "OFFSET" with something like "SELECT ROW_NUMBER() ..." requires 
that there is a consistent ordering of the rows so I don't see an easy patch. 
I'd be willing to work on one if someone gave me some direction of what needed 
to be patched.

Thanks,

-          Mark

[1] http://incubator.apache.org/jena/documentation/sdb/databases_supported.html

Reply via email to