File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66var util = require ( 'util' ) ;
77var assert = require ( 'assert' ) ;
88
9+ /**
10+ * Config can contain:
11+ *
12+ * questionMarkParameterPlaceholder:true which will use a "?" for the parameter placeholder instead of the @index.
13+ *
14+ * @param config
15+ * @constructor
16+ */
917var Mssql = function ( config ) {
1018 this . output = [ ] ;
1119 this . params = [ ] ;
@@ -23,6 +31,7 @@ Mssql.prototype._quoteCharacter = '[';
2331Mssql . prototype . _arrayAggFunctionName = '' ;
2432
2533Mssql . prototype . _getParameterPlaceholder = function ( index , value ) {
34+ if ( this . config . questionMarkParameterPlaceholder ) return '?' ;
2635 return '@' + index ;
2736} ;
2837
Original file line number Diff line number Diff line change @@ -195,4 +195,20 @@ suite('index', function() {
195195 } ) ;
196196 } ) ;
197197
198+ test ( 'mssql default parameter place holder is @index' , function ( ) {
199+ var Sql = sql . Sql ;
200+ var mssql = new Sql ( 'mssql' ) ;
201+ var query = mssql . select ( user . id ) . from ( user ) . where ( user . email . equals ( 'x@y.com' ) ) . toQuery ( ) ;
202+ assert . equal ( query . text , 'SELECT [user].[id] FROM [user] WHERE ([user].[email] = @1)' ) ;
203+ assert . equal ( query . values [ 0 ] , 'x@y.com' ) ;
204+ } ) ;
205+
206+ test ( 'mssql override default parameter placeholder with ?' , function ( ) {
207+ var Sql = sql . Sql ;
208+ var mssql = new Sql ( 'mssql' , { questionMarkParameterPlaceholder :true } ) ;
209+ var query = mssql . select ( user . id ) . from ( user ) . where ( user . email . equals ( 'x@y.com' ) ) . toQuery ( ) ;
210+ assert . equal ( query . text , 'SELECT [user].[id] FROM [user] WHERE ([user].[email] = ?)' ) ;
211+ assert . equal ( query . values [ 0 ] , 'x@y.com' ) ;
212+ } ) ;
213+
198214} ) ;
You can’t perform that action at this time.
0 commit comments