mirror of
				https://github.com/TheAnachronism/docspell.git
				synced 2025-11-03 18:00:11 +00:00 
			
		
		
		
	Introduce a lowerEq operator to the query builder
This commit is contained in:
		@@ -164,6 +164,9 @@ trait DSL extends DoobieMeta {
 | 
				
			|||||||
    def ===(value: A)(implicit P: Put[A]): Condition =
 | 
					    def ===(value: A)(implicit P: Put[A]): Condition =
 | 
				
			||||||
      Condition.CompareVal(col, Operator.Eq, value)
 | 
					      Condition.CompareVal(col, Operator.Eq, value)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def lowerEq(value: A)(implicit P: Put[A]): Condition =
 | 
				
			||||||
 | 
					      Condition.CompareVal(col, Operator.LowerEq, value)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def ====(value: String): Condition =
 | 
					    def ====(value: String): Condition =
 | 
				
			||||||
      Condition.CompareVal(col.asInstanceOf[Column[String]], Operator.Eq, value)
 | 
					      Condition.CompareVal(col.asInstanceOf[Column[String]], Operator.Eq, value)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@ sealed trait Operator
 | 
				
			|||||||
object Operator {
 | 
					object Operator {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  case object Eq        extends Operator
 | 
					  case object Eq        extends Operator
 | 
				
			||||||
 | 
					  case object LowerEq   extends Operator
 | 
				
			||||||
  case object Neq       extends Operator
 | 
					  case object Neq       extends Operator
 | 
				
			||||||
  case object Gt        extends Operator
 | 
					  case object Gt        extends Operator
 | 
				
			||||||
  case object Lt        extends Operator
 | 
					  case object Lt        extends Operator
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,6 +69,8 @@ object ConditionBuilder {
 | 
				
			|||||||
        val colFrag = op match {
 | 
					        val colFrag = op match {
 | 
				
			||||||
          case Operator.LowerLike =>
 | 
					          case Operator.LowerLike =>
 | 
				
			||||||
            lower(col)
 | 
					            lower(col)
 | 
				
			||||||
 | 
					          case Operator.LowerEq =>
 | 
				
			||||||
 | 
					            lower(col)
 | 
				
			||||||
          case _ =>
 | 
					          case _ =>
 | 
				
			||||||
            SelectExprBuilder.column(col)
 | 
					            SelectExprBuilder.column(col)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -80,6 +82,8 @@ object ConditionBuilder {
 | 
				
			|||||||
        val dbfFrag = op match {
 | 
					        val dbfFrag = op match {
 | 
				
			||||||
          case Operator.LowerLike =>
 | 
					          case Operator.LowerLike =>
 | 
				
			||||||
            lower(dbf)
 | 
					            lower(dbf)
 | 
				
			||||||
 | 
					          case Operator.LowerEq =>
 | 
				
			||||||
 | 
					            lower(dbf)
 | 
				
			||||||
          case _ =>
 | 
					          case _ =>
 | 
				
			||||||
            DBFunctionBuilder.build(dbf)
 | 
					            DBFunctionBuilder.build(dbf)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -89,6 +93,8 @@ object ConditionBuilder {
 | 
				
			|||||||
        val (c1Frag, c2Frag) = op match {
 | 
					        val (c1Frag, c2Frag) = op match {
 | 
				
			||||||
          case Operator.LowerLike =>
 | 
					          case Operator.LowerLike =>
 | 
				
			||||||
            (lower(c1), lower(c2))
 | 
					            (lower(c1), lower(c2))
 | 
				
			||||||
 | 
					          case Operator.LowerEq =>
 | 
				
			||||||
 | 
					            (lower(c1), lower(c2))
 | 
				
			||||||
          case _ =>
 | 
					          case _ =>
 | 
				
			||||||
            (SelectExprBuilder.column(c1), SelectExprBuilder.column(c2))
 | 
					            (SelectExprBuilder.column(c1), SelectExprBuilder.column(c2))
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -131,6 +137,8 @@ object ConditionBuilder {
 | 
				
			|||||||
    op match {
 | 
					    op match {
 | 
				
			||||||
      case Operator.Eq =>
 | 
					      case Operator.Eq =>
 | 
				
			||||||
        fr" ="
 | 
					        fr" ="
 | 
				
			||||||
 | 
					      case Operator.LowerEq =>
 | 
				
			||||||
 | 
					        fr" ="
 | 
				
			||||||
      case Operator.Neq =>
 | 
					      case Operator.Neq =>
 | 
				
			||||||
        fr" <>"
 | 
					        fr" <>"
 | 
				
			||||||
      case Operator.Gt =>
 | 
					      case Operator.Gt =>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user