From 7de39ed52b7283d0a461c0249781c93a48003cd5 Mon Sep 17 00:00:00 2001 From: Guilherme Stabach Salustiano Date: Tue, 8 Oct 2024 00:11:27 -0300 Subject: [PATCH] difference_range --- .../src/pg/expression/expression_methods.rs | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/diesel/src/pg/expression/expression_methods.rs b/diesel/src/pg/expression/expression_methods.rs index da9527c1f2b3..87245060a5c3 100644 --- a/diesel/src/pg/expression/expression_methods.rs +++ b/diesel/src/pg/expression/expression_methods.rs @@ -1575,34 +1575,20 @@ pub trait PgRangeExpressionMethods: Expression + Sized { /// ```rust /// # include!("../../doctest_setup.rs"); /// # - /// # table! { - /// # posts { - /// # id -> Integer, - /// # versions -> Range, - /// # } - /// # } - /// # /// # fn main() { /// # run_test().unwrap(); /// # } /// # /// # fn run_test() -> QueryResult<()> { - /// # use self::posts::dsl::*; - /// # use std::collections::Bound; + /// # use diesel::sql_types::{Integer, Range, Multirange}; /// # let conn = &mut establish_connection(); - /// # diesel::sql_query("DROP TABLE IF EXISTS posts").execute(conn).unwrap(); - /// # diesel::sql_query("CREATE TABLE posts (id SERIAL PRIMARY KEY, versions INT4RANGE NOT NULL)").execute(conn).unwrap(); - /// # - /// diesel::insert_into(posts) - /// .values(&vec![ - /// (versions.eq((Bound::Included(1), Bound::Included(8)))) - /// ]) - /// .execute(conn)?; + /// assert!(diesel::select( + /// (1..=8).into_sql::>().difference_range(3..=8).eq(1..3) + /// ).first::(conn).unwrap()); /// - /// let data = posts.select(versions.difference_range((Bound::Included(3),Bound::Included(8)))) - /// .load::<(Bound,Bound)>(conn)?; - /// let expected_range = (Bound::Included(1),Bound::Excluded(3)); - /// assert_eq!(expected_range, data[0]); + /// assert!(diesel::select( + /// vec![1..=8].into_sql::>().difference_range(vec![3..=8]).eq(vec![1..3]) + /// ).first::(conn).unwrap()); /// # Ok(()) /// # } /// ```