@@ -177,6 +177,18 @@ impl<'a> From<&'a [String]> for QueryParams<'a> {
177177 }
178178}
179179
180+ impl < ' a , const N : usize > From < & ' a [ ( String , String ) ; N ] > for QueryParams < ' a > {
181+ fn from ( value : & ' a [ ( String , String ) ; N ] ) -> Self {
182+ Self :: Named ( Cow :: Borrowed ( value) )
183+ }
184+ }
185+
186+ impl < ' a , const N : usize > From < & ' a [ String ; N ] > for QueryParams < ' a > {
187+ fn from ( value : & ' a [ String ; N ] ) -> Self {
188+ Self :: Indexed ( Cow :: Borrowed ( value) )
189+ }
190+ }
191+
180192impl < ' a > QueryParams < ' a > {
181193 fn is_named ( & self ) -> bool {
182194 matches ! ( self , QueryParams :: Named ( _) )
@@ -1566,7 +1578,7 @@ mod tests {
15661578 ] ;
15671579 let options = FormatOptions :: builder ( )
15681580 . dialect ( Dialect :: SQLServer )
1569- . params ( params. as_ref ( ) ) ;
1581+ . params ( & params) ;
15701582 let expected = indoc ! (
15711583 "
15721584 SELECT
@@ -1622,9 +1634,7 @@ mod tests {
16221634 "'super weird value'" . to_string( ) ,
16231635 ) ,
16241636 ] ;
1625- let options = FormatOptions :: builder ( )
1626- . dialect ( Dialect :: SQLServer )
1627- . params ( params) ;
1637+ let options = FormatOptions :: builder ( ) . dialect ( Dialect :: SQLServer ) . build ( ) ;
16281638 let expected = indoc ! (
16291639 "
16301640 SELECT
@@ -1638,7 +1648,7 @@ mod tests {
16381648 'super weird value';"
16391649 ) ;
16401650
1641- assert_eq ! ( options. format( input) , expected) ;
1651+ assert_eq ! ( options. with_params ( params ) . format( input) , expected) ;
16421652 }
16431653
16441654 #[ test]
@@ -1664,7 +1674,7 @@ mod tests {
16641674 "second" . to_string( ) ,
16651675 "third" . to_string( ) ,
16661676 ] ;
1667- let options = FormatOptions :: builder ( ) . params ( params) ;
1677+ let options = FormatOptions :: builder ( ) . params ( & params) ;
16681678 let expected = indoc ! (
16691679 "
16701680 SELECT
@@ -1734,7 +1744,7 @@ mod tests {
17341744 "third" . to_string( ) ,
17351745 "4th" . to_string( ) ,
17361746 ] ;
1737- let options = FormatOptions :: builder ( ) . params ( params) ;
1747+ let options = FormatOptions :: builder ( ) . params ( & params) ;
17381748 let expected = indoc ! (
17391749 "
17401750 SELECT
@@ -1752,13 +1762,13 @@ mod tests {
17521762 #[ test]
17531763 fn it_recognizes_dollar_sign_alphanumeric_placeholders_with_param_values ( ) {
17541764 let input = "SELECT $hash, $salt, $1, $2;" ;
1755- let params = vec ! [
1765+ let params = [
17561766 ( "hash" . to_string ( ) , "hash value" . to_string ( ) ) ,
17571767 ( "salt" . to_string ( ) , "salt value" . to_string ( ) ) ,
17581768 ( "1" . to_string ( ) , "number 1" . to_string ( ) ) ,
17591769 ( "2" . to_string ( ) , "number 2" . to_string ( ) ) ,
17601770 ] ;
1761- let options = FormatOptions :: builder ( ) . params ( params) ;
1771+ let options = FormatOptions :: builder ( ) . params ( & params) ;
17621772 let expected = indoc ! (
17631773 "
17641774 SELECT
0 commit comments