slick/slick — pull request #764 by szeiger (2014-04-14 11:06:34+00:00)
Title: Allow non-literal constant values for Query.take and Query.drop

- Change Take, Drop, Comprehension, and the TakeDrop extractor to use
Node instead of Long.

- Add helper method QueryParameter.constOp to perform a computation
on two Long values inside of LiteralNode or QueryParameter nodes. We
use it for computations that are necessary for fusing Take and Drop
operations and computing boundaries for them.

- Add overloads for Query.take and Query.drop which take Long and
ConstColumn[Long] arguments (in addition to the existing Int versions)

- Add specializeParameters phase which creates a ParameterSwitch node
for detecting edge cases in parameters that need to be compiled to
different statements. It is used by DerbyDriver and HsqldbDriver.

Test in PagingTest.testCompiledPagination. Related to #718 .

Review by @cvogt