@@ -5,7 +5,7 @@ use crate::util::diesel::prelude::*;
55use axum_extra:: json;
66use axum_extra:: response:: ErasedJson ;
77use diesel:: dsl:: { exists, sql, InnerJoinQuerySource , LeftJoinQuerySource } ;
8- use diesel:: sql_types:: { Array , Bool , Text } ;
8+ use diesel:: sql_types:: { Bool , Text } ;
99use diesel_async:: AsyncPgConnection ;
1010use diesel_full_text_search:: * ;
1111use http:: request:: Parts ;
@@ -341,16 +341,12 @@ impl<'a> FilterParams<'a> {
341341 . collect ( ) ;
342342
343343 query = query. filter (
344- // FIXME: Just use `.contains` in Diesel 2.0
345- // https://github.com/diesel-rs/diesel/issues/2066
346- Contains :: new (
347- crates_keywords:: table
348- . inner_join ( keywords:: table)
349- . filter ( crates_keywords:: crate_id. eq ( crates:: id) )
350- . select ( array_agg ( keywords:: keyword) )
351- . single_value ( ) ,
352- names. into_sql :: < Array < Text > > ( ) ,
353- ) ,
344+ crates_keywords:: table
345+ . inner_join ( keywords:: table)
346+ . filter ( crates_keywords:: crate_id. eq ( crates:: id) )
347+ . select ( array_agg ( keywords:: keyword) )
348+ . single_value ( )
349+ . contains ( names) ,
354350 ) ;
355351 } else if let Some ( kw) = self . keyword {
356352 query = query. filter (
@@ -667,5 +663,3 @@ type BoxedCondition<'a> = Box<
667663 dyn BoxableExpression < QuerySource , diesel:: pg:: Pg , SqlType = diesel:: sql_types:: Nullable < Bool > >
668664 + ' a ,
669665> ;
670-
671- diesel:: infix_operator!( Contains , "@>" ) ;
0 commit comments