mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-04-05 19:09:32 +00:00
Introduce a lowerEq operator to the query builder
This commit is contained in:
parent
0be89687dc
commit
623a61dbb6
@ -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 =>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user