X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSQLMaker%2FLimitDialects.pm;h=723001d4aa6e594f471e1d6c30294d24d50f4957;hb=d9672fb94b70dac86a6d4fed7ad46a48c5ee4527;hp=e189e2c7cd36d94fd06acc47128fd1ad5d9da8db;hpb=e5372da42c1bb393cd2aadde5765a09d64428581;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/SQLMaker/LimitDialects.pm b/lib/DBIx/Class/SQLMaker/LimitDialects.pm index e189e2c..723001d 100644 --- a/lib/DBIx/Class/SQLMaker/LimitDialects.pm +++ b/lib/DBIx/Class/SQLMaker/LimitDialects.pm @@ -266,8 +266,8 @@ sub _FirstSkip { SELECT * FROM ( SELECT *, ROWNUM rownum__index FROM ( SELECT ... - ) - ) WHERE rownum__index BETWEEN ($offset+1) AND ($limit+$offset) + ) WHERE ROWNUM <= ($limit+$offset) + ) WHERE rownum__index >= ($offset+1) Supported by B. @@ -285,15 +285,27 @@ sub _RowNum { my $idx_name = $self->_quote ('rownum__index'); my $order_group_having = $self->_parse_rs_attrs($rs_attrs); - $sql = sprintf (<= %u EOS + } + else { + $sql = sprintf (<