@@ -11,7 +11,7 @@ use futures_util::future::BoxFuture;
1111use sqlx:: {
1212 any:: { Any , AnyConnectOptions , AnyKind } ,
1313 pool:: PoolOptions ,
14- sqlite:: { Function , SqliteFunctionCtx } ,
14+ sqlite:: { Function , SqliteConnectOptions , SqliteFunctionCtx } ,
1515 ConnectOptions , Connection , Executor ,
1616} ;
1717
@@ -206,15 +206,22 @@ fn add_on_connection_handler(
206206
207207fn set_custom_connect_options ( options : & mut AnyConnectOptions , config : & AppConfig ) {
208208 if let Some ( sqlite_options) = options. as_sqlite_mut ( ) {
209- for extension_name in & config. sqlite_extensions {
210- log:: info!( "Loading SQLite extension: {extension_name}" ) ;
211- * sqlite_options = std:: mem:: take ( sqlite_options) . extension ( extension_name. clone ( ) ) ;
212- }
213- * sqlite_options = std:: mem:: take ( sqlite_options)
214- . collation ( "NOCASE" , |a, b| a. to_lowercase ( ) . cmp ( & b. to_lowercase ( ) ) )
215- . function ( make_sqlite_fun ( "upper" , str:: to_uppercase) )
216- . function ( make_sqlite_fun ( "lower" , str:: to_lowercase) ) ;
209+ set_custom_connect_options_sqlite ( sqlite_options, config) ;
210+ }
211+ }
212+
213+ fn set_custom_connect_options_sqlite (
214+ sqlite_options : & mut SqliteConnectOptions ,
215+ config : & AppConfig ,
216+ ) {
217+ for extension_name in & config. sqlite_extensions {
218+ log:: info!( "Loading SQLite extension: {extension_name}" ) ;
219+ * sqlite_options = std:: mem:: take ( sqlite_options) . extension ( extension_name. clone ( ) ) ;
217220 }
221+ * sqlite_options = std:: mem:: take ( sqlite_options)
222+ . collation ( "NOCASE" , |a, b| a. to_lowercase ( ) . cmp ( & b. to_lowercase ( ) ) )
223+ . function ( make_sqlite_fun ( "upper" , str:: to_uppercase) )
224+ . function ( make_sqlite_fun ( "lower" , str:: to_lowercase) ) ;
218225}
219226
220227fn make_sqlite_fun ( name : & str , f : fn ( & str ) -> String ) -> Function {
0 commit comments