message: Implement ast_builder binary_op::{gte, lte. or}
diff: @@ -45,13 +45,25 @@ impl ExprNode {
  self.binary_op(BinaryOperator::Gt, other)
  }
  + pub fn gte<T: Into<Self>>(self, other: T) -> Self {
  + self.binary_op(BinaryOperator::GtEq, other)
  + }
  +
  pub fn lt<T: Into<Self>>(self, other: T) -> Self {
  self.binary_op(BinaryOperator::Lt, other)
  }
  + pub fn lte<T: Into<Self>>(self, other: T) -> Self {
  + self.binary_op(BinaryOperator::LtEq, other)
  + }
  +
  pub fn and<T: Into<Self>>(self, other: T) -> Self {
  self.binary_op(BinaryOperator::And, other)
  }
  +
  + pub fn or<T: Into<Self>>(self, other: T) -> Self {
  + self.binary_op(BinaryOperator::Or, other)
  + }
  }
  #[cfg(test)]
  @@ -92,6 +104,18 @@ mod tests {
  let expected = "id > Bar.id";
  test_expr(actual, expected);
  + let actual = col("id").gte(col("Bar.id"));
  + let expected = "id >= Bar.id";
  + test_expr(actual, expected);
  +
  + let actual = col("id").lte(col("Bar.id"));
  + let expected = "id <= Bar.id";
  + test_expr(actual, expected);
  +
  + let actual = (col("id").gt(num(10))).or(col("id").lt(num(20)));
  + let expected = "id > 10 OR id < 20";
  + test_expr(actual, expected);
  +
  let actual = col("id").lt(col("Bar.id"));
  let expected = "id < Bar.id";
  test_expr(actual, expected);
  