Implements a raw add on to the query builder
This commit is contained in:
+4
@@ -21,6 +21,10 @@
|
|||||||
package com.vitorpamplona.quartz.nip01Core.store.sqlite.sql
|
package com.vitorpamplona.quartz.nip01Core.store.sqlite.sql
|
||||||
|
|
||||||
sealed class Condition {
|
sealed class Condition {
|
||||||
|
data class Raw(
|
||||||
|
val condition: String,
|
||||||
|
) : Condition()
|
||||||
|
|
||||||
data class Equals(
|
data class Equals(
|
||||||
val column: String,
|
val column: String,
|
||||||
val value: Any?,
|
val value: Any?,
|
||||||
|
|||||||
+3
@@ -38,6 +38,9 @@ class SqlSelectionBuilder(
|
|||||||
*/
|
*/
|
||||||
private fun buildCondition(cond: Condition): String =
|
private fun buildCondition(cond: Condition): String =
|
||||||
when (cond) {
|
when (cond) {
|
||||||
|
is Condition.Raw -> {
|
||||||
|
cond.condition
|
||||||
|
}
|
||||||
is Condition.Equals -> {
|
is Condition.Equals -> {
|
||||||
if (cond.value == null) {
|
if (cond.value == null) {
|
||||||
"${cond.column} IS NULL"
|
"${cond.column} IS NULL"
|
||||||
|
|||||||
+2
@@ -23,6 +23,8 @@ package com.vitorpamplona.quartz.nip01Core.store.sqlite.sql
|
|||||||
class WhereClauseBuilder {
|
class WhereClauseBuilder {
|
||||||
private val conditions = mutableListOf<Condition>()
|
private val conditions = mutableListOf<Condition>()
|
||||||
|
|
||||||
|
fun raw(condition: String) = apply { conditions.add(Condition.Raw(condition)) }
|
||||||
|
|
||||||
fun equals(
|
fun equals(
|
||||||
column: String,
|
column: String,
|
||||||
value: Any?,
|
value: Any?,
|
||||||
|
|||||||
Reference in New Issue
Block a user