@@ -12,7 +12,16 @@ public void Parse_WhenDigitOrLetterOrUnderliningInParamName_ReturnParsedSqlAndCa
1212 var ( sql , sqlParams ) = SqlParser . Parse ( "SELECT @p; SELECT @p2; SELECT @p_3;" ) ;
1313
1414 Assert . Equal ( "SELECT $p; SELECT $p2; SELECT $p_3;" , sql ) ;
15- Assert . Equal ( new PrimitiveParam [ ] { new ( "$p" ) , new ( "$p2" ) , new ( "$p_3" ) } , sqlParams ) ;
15+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$p" , false ) , new ( "$p2" , false ) , new ( "$p_3" , false ) } , sqlParams ) ;
16+ }
17+
18+ [ Fact ]
19+ public void Parse_WhenNativeParameterInQuery_ReturnParsedSql ( )
20+ {
21+ var ( sql , sqlParams ) = SqlParser . Parse ( "DECLARE $p2 AS Text; SELECT @p; SELECT $p2; SELECT @p_3;" ) ;
22+
23+ Assert . Equal ( "DECLARE $p2 AS Text; SELECT $p; SELECT $p2; SELECT $p_3;" , sql ) ;
24+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$p2" , true ) , new ( "$p" , false ) , new ( "$p_3" , false ) } , sqlParams ) ;
1625 }
1726
1827 [ Fact ]
@@ -39,7 +48,7 @@ public void Parse_WhenLineComment_ReturnSqlWithComment()
3948
4049 Assert . Equal ( @"-- Comment with params @param, @p2, @p_3
4150SELECT $param; SELECT $p2; SELECT $p_3;" , sql ) ;
42- Assert . Equal ( new PrimitiveParam [ ] { new ( "$param" ) , new ( "$p2" ) , new ( "$p_3" ) } , sqlParams ) ;
51+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$param" , false ) , new ( "$p2" , false ) , new ( "$p_3" , false ) } , sqlParams ) ;
4352 }
4453
4554 [ Fact ]
@@ -76,10 +85,13 @@ INSERT INTO Table
7685 $name15, $name16, $name17, $name18, $name19, $name20);" , sql ) ;
7786 Assert . Equal ( new PrimitiveParam [ ]
7887 {
79- new ( "$name1" ) , new ( "$name2" ) , new ( "$name3" ) , new ( "$name4" ) , new ( "$name5" ) ,
80- new ( "$name6" ) , new ( "$name7" ) , new ( "$name8" ) , new ( "$name9" ) , new ( "$name10" ) ,
81- new ( "$name11" ) , new ( "$name12" ) , new ( "$name13" ) , new ( "$name14" ) , new ( "$name15" ) ,
82- new ( "$name16" ) , new ( "$name17" ) , new ( "$name18" ) , new ( "$name19" ) , new ( "$name20" )
88+ new ( "$name1" , false ) , new ( "$name2" , false ) , new ( "$name3" , false ) ,
89+ new ( "$name4" , false ) , new ( "$name5" , false ) , new ( "$name6" , false ) ,
90+ new ( "$name7" , false ) , new ( "$name8" , false ) , new ( "$name9" , false ) ,
91+ new ( "$name10" , false ) , new ( "$name11" , false ) , new ( "$name12" , false ) ,
92+ new ( "$name13" , false ) , new ( "$name14" , false ) , new ( "$name15" , false ) ,
93+ new ( "$name16" , false ) , new ( "$name17" , false ) , new ( "$name18" , false ) ,
94+ new ( "$name19" , false ) , new ( "$name20" , false )
8395 } , sqlParams ) ;
8496 }
8597
@@ -130,7 +142,7 @@ public void Parse_WhenDoubleQuotes_ReturnSql()
130142-- View result:
131143SELECT * FROM episodes WHERE series_id = ""123 @ \"" @ @"" AND season_id = $param;
132144;" , sql ) ;
133- Assert . Equal ( new PrimitiveParam [ ] { new ( "$air_date" ) , new ( "$param" ) } , sqlParams ) ;
145+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$air_date" , false ) , new ( "$param" , false ) } , sqlParams ) ;
134146 }
135147
136148 [ Fact ]
@@ -180,7 +192,7 @@ public void Parse_WhenSingleQuotes_ReturnSql()
180192
181193-- View result:
182194SELECT * FROM episodes WHERE series_id = '123 @ \' @ @' AND season_id = $param;" , sql ) ;
183- Assert . Equal ( new PrimitiveParam [ ] { new ( "$air_date" ) , new ( "$param" ) } , sqlParams ) ;
195+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$air_date" , false ) , new ( "$param" , false ) } , sqlParams ) ;
184196 }
185197
186198 [ Fact ]
@@ -231,7 +243,7 @@ public void Parse_WhenBacktickQuotes_ReturnSql()
231243
232244-- View result:
233245SELECT * FROM episodes WHERE series_id = '123 @ \' @ @' AND season_id = $param;" , sql ) ;
234- Assert . Equal ( new PrimitiveParam [ ] { new ( "$air_date" ) , new ( "$param" ) } , sqlParams ) ;
246+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$air_date" , false ) , new ( "$param" , false ) } , sqlParams ) ;
235247 }
236248
237249 [ Fact ]
@@ -250,7 +262,7 @@ public void Parse_WhenMultilineStringLiterals_ReturnSql()
250262SELECT $text;
251263-- Comment with params @param, @p2, @p_3
252264SELECT $param; SELECT $p2; SELECT $p_3;" , sql ) ;
253- Assert . Equal ( new PrimitiveParam [ ] { new ( "$param" ) , new ( "$p2" ) , new ( "$p_3" ) } , sqlParams ) ;
265+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$param" , false ) , new ( "$p2" , false ) , new ( "$p_3" , false ) } , sqlParams ) ;
254266 }
255267
256268 [ Fact ]
@@ -259,7 +271,7 @@ public void Parse_WhenRepeatedOneParam_ReturnThisParamInParamNames()
259271 var ( sql , sqlParams ) = SqlParser . Parse ( "SELECT @a, @a, @a;" ) ;
260272
261273 Assert . Equal ( "SELECT $a, $a, $a;" , sql ) ;
262- Assert . Equal ( new PrimitiveParam [ ] { new ( "$a" ) } , sqlParams ) ;
274+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$a" , false ) } , sqlParams ) ;
263275 }
264276
265277 [ Fact ]
@@ -268,7 +280,7 @@ public void Parse_WhenParamHasNextStatementIsNotWhitespace_ReturnSql()
268280 var ( sql , sqlParams ) = SqlParser . Parse ( "SELECT @a/* this comment @ */" ) ;
269281
270282 Assert . Equal ( "SELECT $a/* this comment @ */" , sql ) ;
271- Assert . Equal ( new PrimitiveParam [ ] { new ( "$a" ) } , sqlParams ) ;
283+ Assert . Equal ( new PrimitiveParam [ ] { new ( "$a" , false ) } , sqlParams ) ;
272284 }
273285
274286 [ Theory ]
@@ -358,17 +370,17 @@ public void Parse_WhenManySqlStatementWithListParameters_ReturnSqlWithListParam(
358370 Assert . Equal ( 5 , listPrimitive1 . Count ) ;
359371 for ( var i = 0 ; i < 5 ; i ++ )
360372 {
361- Assert . Equal ( i + 1 , listPrimitive1 [ i ] . GetInt32 ( ) ) ;
373+ Assert . Equal ( i + 1 , listPrimitive1 [ i ] . GetInt32 ( ) ) ;
362374 }
363-
375+
364376 Assert . Equal ( "$Gen_List_Primitive_2" , sqlParams [ 2 ] . Name ) ;
365377 var listPrimitive2 = sqlParams [ 2 ] . YdbValueFetch ( ydbParameters ) . GetList ( ) ;
366378 Assert . Equal ( 4 , listPrimitive2 . Count ) ;
367379 for ( var i = 0 ; i < 4 ; i ++ )
368380 {
369- Assert . Equal ( i + 1 , listPrimitive2 [ i ] . GetInt32 ( ) ) ;
381+ Assert . Equal ( i + 1 , listPrimitive2 [ i ] . GetInt32 ( ) ) ;
370382 }
371-
383+
372384 Assert . Equal ( "first" , sqlParams [ 1 ] . YdbValueFetch ( ydbParameters ) . GetUtf8 ( ) ) ;
373385 Assert . Equal ( "second" , sqlParams [ 5 ] . YdbValueFetch ( ydbParameters ) . GetUtf8 ( ) ) ;
374386 Assert . Equal ( 1 , sqlParams [ 3 ] . YdbValueFetch ( ydbParameters ) . GetInt32 ( ) ) ;
0 commit comments