@@ -6,22 +6,25 @@ var util = require('util');
6
6
var templateChecks = require ( '../../utils/templateChecks' ) ;
7
7
8
8
var Dialect = module . exports = function ( builder ) {
9
+ builder . options . valuesPrefix = '@' ;
9
10
BaseDialect . call ( this , builder ) ;
10
11
11
- this . blocks . set ( 'limit' , function ( params ) {
12
+ this . blocks . set ( 'limit' , function ( params ) {
12
13
return ( params . offset ) ? '' : 'TOP(' + builder . _pushValue ( params . limit ) + ')' ;
13
14
} ) ;
14
15
15
- this . blocks . set ( 'offset' , function ( params ) {
16
- var pre = ( ! params . sort ) ? 'ORDER BY 1 ' : '' ;
17
- if ( params . limit ) {
18
- return pre + 'OFFSET ' + params . offset + ' ROWS FETCH NEXT ' + params . limit + ' ROWS ONLY' ;
19
- } else {
20
- return pre + 'OFFSET ' + params . offset + ' ROWS' ;
21
- }
16
+ this . blocks . set ( 'offset' , function ( params ) {
17
+ var pre = ( ! params . sort ) ? 'ORDER BY 1 ' : '' ;
18
+ if ( params . limit ) {
19
+ var str = pre + 'OFFSET ' + builder . _pushValue ( params . offset ) ;
20
+ str += ' ROWS FETCH NEXT ' + builder . _pushValue ( params . limit ) + ' ROWS ONLY' ;
21
+ return str ;
22
+ } else {
23
+ return pre + 'OFFSET ' + builder . _pushValue ( params . offset ) + ' ROWS' ;
24
+ }
22
25
} ) ;
23
26
24
- this . templates . set ( 'select' , {
27
+ this . templates . set ( 'select' , {
25
28
pattern : '{with} {withRecursive} select {limit} {distinct} {fields} ' +
26
29
'from {from} {table} {query} {select} {expression} {alias} ' +
27
30
'{join} {condition} {group} {having} {sort} {offset}' ,
@@ -58,7 +61,7 @@ var Dialect = module.exports = function(builder) {
58
61
59
62
templateChecks . propType ( type , params , 'sort' , [ 'string' , 'array' , 'object' ] ) ;
60
63
61
- templateChecks . propType ( type , params , 'offset' , [ 'number' , 'string' ] ) ;
64
+ templateChecks . propType ( type , params , 'offset' , [ 'number' , 'string' ] ) ;
62
65
templateChecks . propType ( type , params , 'limit' , [ 'number' , 'string' ] ) ;
63
66
}
64
67
} ) ;
0 commit comments