Skip to content

Commit c951c97

Browse files
authored
Merge pull request #444 from jeffgbutler/rewrite-examples
Update Kotlin Examples with new Where DSL
2 parents e3972ae + bca74ad commit c951c97

File tree

20 files changed

+1346
-1404
lines changed

20 files changed

+1346
-1404
lines changed

src/main/kotlin/org/mybatis/dynamic/sql/util/kotlin/CriteriaCollector.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ import org.mybatis.dynamic.sql.ExistsPredicate
2323
import org.mybatis.dynamic.sql.SqlCriterion
2424
import org.mybatis.dynamic.sql.VisitableCondition
2525

26-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
26+
@Deprecated("Deprecated in favor of the new where clause DSL.")
2727
typealias CriteriaReceiver = CriteriaCollector.() -> Unit
2828

29-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
29+
@Deprecated("Deprecated in favor of the new where clause DSL.")
3030
@MyBatisDslMarker
3131
class CriteriaCollector {
3232
val criteria = mutableListOf<AndOrCriteriaGroup>()

src/main/kotlin/org/mybatis/dynamic/sql/util/kotlin/GroupingCriteriaCollector.kt

Lines changed: 57 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -164,96 +164,107 @@ class GroupingCriteriaCollector {
164164
// receivers problem (https://youtrack.jetbrains.com/issue/KT-42435)
165165

166166
// conditions for all data types
167-
fun <T> BindableColumn<T>.isNull() = invoke(SqlBuilder.isNull())
167+
fun <T> BindableColumn<T>.isNull() = invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNull())
168168

169-
fun <T> BindableColumn<T>.isNotNull() = invoke(SqlBuilder.isNotNull())
169+
fun <T> BindableColumn<T>.isNotNull() = invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotNull())
170170

171-
infix fun <T : Any> BindableColumn<T>.isEqualTo(value: T) = invoke(SqlBuilder.isEqualTo(value))
171+
infix fun <T : Any> BindableColumn<T>.isEqualTo(value: T) =
172+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isEqualTo(value))
172173

173174
infix fun <T> BindableColumn<T>.isEqualToSubQuery(subQuery: KotlinSubQueryBuilder.() -> Unit) =
174-
invoke(SqlBuilder.isEqualTo(KotlinSubQueryBuilder().apply(subQuery)))
175+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isEqualTo(subQuery))
175176

176-
infix fun <T> BindableColumn<T>.isEqualTo(column: BasicColumn) = invoke(SqlBuilder.isEqualTo(column))
177+
infix fun <T> BindableColumn<T>.isEqualTo(column: BasicColumn) =
178+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isEqualTo(column))
177179

178180
infix fun <T : Any> BindableColumn<T>.isEqualToWhenPresent(value: T?) =
179-
invoke(SqlBuilder.isEqualToWhenPresent<T>(value))
181+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isEqualToWhenPresent(value))
180182

181-
infix fun <T : Any> BindableColumn<T>.isNotEqualTo(value: T) = invoke(SqlBuilder.isNotEqualTo(value))
183+
infix fun <T : Any> BindableColumn<T>.isNotEqualTo(value: T) =
184+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotEqualTo(value))
182185

183186
infix fun <T> BindableColumn<T>.isNotEqualToSubQuery(subQuery: KotlinSubQueryBuilder.() -> Unit) =
184-
invoke(SqlBuilder.isNotEqualTo(KotlinSubQueryBuilder().apply(subQuery)))
187+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotEqualTo(subQuery))
185188

186-
infix fun <T> BindableColumn<T>.isNotEqualTo(column: BasicColumn) = invoke(SqlBuilder.isNotEqualTo(column))
189+
infix fun <T> BindableColumn<T>.isNotEqualTo(column: BasicColumn) =
190+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotEqualTo(column))
187191

188192
infix fun <T : Any> BindableColumn<T>.isNotEqualToWhenPresent(value: T?) =
189-
invoke(SqlBuilder.isNotEqualToWhenPresent<T>(value))
193+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotEqualToWhenPresent(value))
190194

191-
infix fun <T : Any> BindableColumn<T>.isGreaterThan(value: T) = invoke(SqlBuilder.isGreaterThan(value))
195+
infix fun <T : Any> BindableColumn<T>.isGreaterThan(value: T) =
196+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThan(value))
192197

193198
infix fun <T> BindableColumn<T>.isGreaterThanSubQuery(subQuery: KotlinSubQueryBuilder.() -> Unit) =
194-
invoke(SqlBuilder.isGreaterThan(KotlinSubQueryBuilder().apply(subQuery)))
199+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThan(subQuery))
195200

196-
infix fun <T> BindableColumn<T>.isGreaterThan(column: BasicColumn) = invoke(SqlBuilder.isGreaterThan(column))
201+
infix fun <T> BindableColumn<T>.isGreaterThan(column: BasicColumn) =
202+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThan(column))
197203

198204
infix fun <T : Any> BindableColumn<T>.isGreaterThanWhenPresent(value: T?) =
199-
invoke(SqlBuilder.isGreaterThanWhenPresent<T>(value))
205+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThanWhenPresent(value))
200206

201207
infix fun <T : Any> BindableColumn<T>.isGreaterThanOrEqualTo(value: T) =
202-
invoke(SqlBuilder.isGreaterThanOrEqualTo(value))
208+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThanOrEqualTo(value))
203209

204210
infix fun <T> BindableColumn<T>.isGreaterThanOrEqualToSubQuery(subQuery: KotlinSubQueryBuilder.() -> Unit) =
205-
invoke(SqlBuilder.isGreaterThanOrEqualTo(KotlinSubQueryBuilder().apply(subQuery)))
211+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThanOrEqualTo(subQuery))
206212

207213
infix fun <T> BindableColumn<T>.isGreaterThanOrEqualTo(column: BasicColumn) =
208-
invoke(SqlBuilder.isGreaterThanOrEqualTo(column))
214+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThanOrEqualTo(column))
209215

210216
infix fun <T : Any> BindableColumn<T>.isGreaterThanOrEqualToWhenPresent(value: T?) =
211-
invoke(SqlBuilder.isGreaterThanOrEqualToWhenPresent<T>(value))
217+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isGreaterThanOrEqualToWhenPresent(value))
212218

213-
infix fun <T : Any> BindableColumn<T>.isLessThan(value: T) = invoke(SqlBuilder.isLessThan(value))
219+
infix fun <T : Any> BindableColumn<T>.isLessThan(value: T) =
220+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThan(value))
214221

215222
infix fun <T> BindableColumn<T>.isLessThanSubQuery(subQuery: KotlinSubQueryBuilder.() -> Unit) =
216-
invoke(SqlBuilder.isLessThan(KotlinSubQueryBuilder().apply(subQuery)))
223+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThan(subQuery))
217224

218-
infix fun <T> BindableColumn<T>.isLessThan(column: BasicColumn) = invoke(SqlBuilder.isLessThan(column))
225+
infix fun <T> BindableColumn<T>.isLessThan(column: BasicColumn) =
226+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThan(column))
219227

220228
infix fun <T : Any> BindableColumn<T>.isLessThanWhenPresent(value: T?) =
221-
invoke(SqlBuilder.isLessThanWhenPresent<T>(value))
229+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThanWhenPresent(value))
222230

223-
infix fun <T : Any> BindableColumn<T>.isLessThanOrEqualTo(value: T) = invoke(SqlBuilder.isLessThanOrEqualTo(value))
231+
infix fun <T : Any> BindableColumn<T>.isLessThanOrEqualTo(value: T) =
232+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThanOrEqualTo(value))
224233

225234
infix fun <T> BindableColumn<T>.isLessThanOrEqualToSubQuery(subQuery: KotlinSubQueryBuilder.() -> Unit) =
226-
invoke(SqlBuilder.isLessThanOrEqualTo(KotlinSubQueryBuilder().apply(subQuery)))
235+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThanOrEqualTo(subQuery))
227236

228237
infix fun <T> BindableColumn<T>.isLessThanOrEqualTo(column: BasicColumn) =
229-
invoke(SqlBuilder.isLessThanOrEqualTo(column))
238+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThanOrEqualTo(column))
230239

231240
infix fun <T : Any> BindableColumn<T>.isLessThanOrEqualToWhenPresent(value: T?) =
232-
invoke(SqlBuilder.isLessThanOrEqualToWhenPresent<T>(value))
241+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLessThanOrEqualToWhenPresent(value))
233242

234243
fun <T : Any> BindableColumn<T>.isIn(vararg values: T) = isIn(values.asList())
235244

236-
infix fun <T : Any> BindableColumn<T>.isIn(values: Collection<T>) = invoke(SqlBuilder.isIn(values))
245+
infix fun <T : Any> BindableColumn<T>.isIn(values: Collection<T>) =
246+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isIn(values))
237247

238248
infix fun <T> BindableColumn<T>.isIn(subQuery: KotlinSubQueryBuilder.() -> Unit) =
239-
invoke(SqlBuilder.isIn(KotlinSubQueryBuilder().apply(subQuery)))
249+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isIn(subQuery))
240250

241251
fun <T : Any> BindableColumn<T>.isInWhenPresent(vararg values: T?) = isInWhenPresent(values.asList())
242252

243253
infix fun <T : Any> BindableColumn<T>.isInWhenPresent(values: Collection<T?>?) =
244-
invoke(SqlBuilder.isInWhenPresent<T>(values))
254+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isInWhenPresent(values))
245255

246256
fun <T : Any> BindableColumn<T>.isNotIn(vararg values: T) = isNotIn(values.asList())
247257

248-
infix fun <T : Any> BindableColumn<T>.isNotIn(values: Collection<T>) = invoke(SqlBuilder.isNotIn(values))
258+
infix fun <T : Any> BindableColumn<T>.isNotIn(values: Collection<T>) =
259+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotIn(values))
249260

250261
infix fun <T> BindableColumn<T>.isNotIn(subQuery: KotlinSubQueryBuilder.() -> Unit) =
251-
invoke(SqlBuilder.isNotIn(KotlinSubQueryBuilder().apply(subQuery)))
262+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotIn(subQuery))
252263

253264
fun <T : Any> BindableColumn<T>.isNotInWhenPresent(vararg values: T?) = isNotInWhenPresent(values.asList())
254265

255266
infix fun <T : Any> BindableColumn<T>.isNotInWhenPresent(values: Collection<T?>?) =
256-
invoke(SqlBuilder.isNotInWhenPresent<T>(values))
267+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotInWhenPresent(values))
257268

258269
infix fun <T : Any> BindableColumn<T>.isBetween(value1: T) =
259270
InfixBetweenBuilder(value1) { invoke(it) }
@@ -268,15 +279,17 @@ class GroupingCriteriaCollector {
268279
InfixNotBetweenWhenPresentBuilder(value1) { invoke(it) }
269280

270281
// for string columns, but generic for columns with type handlers
271-
infix fun <T : Any> BindableColumn<T>.isLike(value: T) = invoke(SqlBuilder.isLike(value))
282+
infix fun <T : Any> BindableColumn<T>.isLike(value: T) =
283+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLike(value))
272284

273285
infix fun <T : Any> BindableColumn<T>.isLikeWhenPresent(value: T?) =
274-
invoke(SqlBuilder.isLikeWhenPresent<T>(value))
286+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLikeWhenPresent(value))
275287

276-
infix fun <T : Any> BindableColumn<T>.isNotLike(value: T) = invoke(SqlBuilder.isNotLike(value))
288+
infix fun <T : Any> BindableColumn<T>.isNotLike(value: T) =
289+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotLike(value))
277290

278291
infix fun <T : Any> BindableColumn<T>.isNotLikeWhenPresent(value: T?) =
279-
invoke(SqlBuilder.isNotLikeWhenPresent<T>(value))
292+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotLikeWhenPresent(value))
280293

281294
// shortcuts for booleans
282295
fun BindableColumn<Boolean>.isTrue() = isEqualTo(true)
@@ -285,37 +298,37 @@ class GroupingCriteriaCollector {
285298

286299
// conditions for strings only
287300
infix fun BindableColumn<String>.isLikeCaseInsensitive(value: String) =
288-
invoke(SqlBuilder.isLikeCaseInsensitive(value))
301+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLikeCaseInsensitive(value))
289302

290303
infix fun BindableColumn<String>.isLikeCaseInsensitiveWhenPresent(value: String?) =
291-
invoke(SqlBuilder.isLikeCaseInsensitiveWhenPresent(value))
304+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isLikeCaseInsensitiveWhenPresent(value))
292305

293306
infix fun BindableColumn<String>.isNotLikeCaseInsensitive(value: String) =
294-
invoke(SqlBuilder.isNotLikeCaseInsensitive(value))
307+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotLikeCaseInsensitive(value))
295308

296309
infix fun BindableColumn<String>.isNotLikeCaseInsensitiveWhenPresent(value: String?) =
297-
invoke(SqlBuilder.isNotLikeCaseInsensitiveWhenPresent(value))
310+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotLikeCaseInsensitiveWhenPresent(value))
298311

299312
fun BindableColumn<String>.isInCaseInsensitive(vararg values: String) = isInCaseInsensitive(values.asList())
300313

301314
infix fun BindableColumn<String>.isInCaseInsensitive(values: Collection<String>) =
302-
invoke(SqlBuilder.isInCaseInsensitive(values))
315+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isInCaseInsensitive(values))
303316

304317
fun BindableColumn<String>.isInCaseInsensitiveWhenPresent(vararg values: String?) =
305318
isInCaseInsensitiveWhenPresent(values.asList())
306319

307320
infix fun BindableColumn<String>.isInCaseInsensitiveWhenPresent(values: Collection<String?>?) =
308-
invoke(SqlBuilder.isInCaseInsensitiveWhenPresent(values))
321+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isInCaseInsensitiveWhenPresent(values))
309322

310323
fun BindableColumn<String>.isNotInCaseInsensitive(vararg values: String) =
311324
isNotInCaseInsensitive(values.asList())
312325

313326
infix fun BindableColumn<String>.isNotInCaseInsensitive(values: Collection<String>) =
314-
invoke(SqlBuilder.isNotInCaseInsensitive(values))
327+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotInCaseInsensitive(values))
315328

316329
fun BindableColumn<String>.isNotInCaseInsensitiveWhenPresent(vararg values: String?) =
317330
isNotInCaseInsensitiveWhenPresent(values.asList())
318331

319332
infix fun BindableColumn<String>.isNotInCaseInsensitiveWhenPresent(values: Collection<String?>?) =
320-
invoke(SqlBuilder.isNotInCaseInsensitiveWhenPresent(values))
333+
invoke(org.mybatis.dynamic.sql.util.kotlin.elements.isNotInCaseInsensitiveWhenPresent(values))
321334
}

src/main/kotlin/org/mybatis/dynamic/sql/util/kotlin/KotlinBaseBuilders.kt

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,82 +58,91 @@ abstract class KotlinBaseBuilder<D : AbstractWhereSupport<*>, B : KotlinBaseBuil
5858
whereApplier.invoke(this)
5959
}
6060

61-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
61+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the column and condition " +
62+
"into a lambda and rewriting the condition to use an infix function.")
6263
fun <T> where(column: BindableColumn<T>, condition: VisitableCondition<T>): B =
6364
applyToWhere {
6465
where(column, condition)
6566
}
6667

67-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
68+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the column and condition " +
69+
"inside the lambda and rewriting the condition to use an infix function.")
6870
fun <T> where(column: BindableColumn<T>, condition: VisitableCondition<T>, subCriteria: CriteriaReceiver): B =
6971
applyToWhere(subCriteria) { sc ->
7072
where(column, condition, sc)
7173
}
7274

7375
@Deprecated(
74-
message = "Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.",
76+
message = "Deprecated in favor of the new where clause DSL.",
7577
replaceWith = ReplaceWith("where { existsPredicate }")
7678
)
7779
fun where(existsPredicate: ExistsPredicate): B =
7880
applyToWhere {
7981
where(existsPredicate)
8082
}
8183

82-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
84+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the exists expression " +
85+
"into the lambda.")
8386
fun where(existsPredicate: ExistsPredicate, subCriteria: CriteriaReceiver): B =
8487
applyToWhere(subCriteria) { sc ->
8588
where(existsPredicate, sc)
8689
}
8790

88-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
91+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the column and condition " +
92+
"into a lambda and rewriting the condition to use an infix function.")
8993
fun <T> and(column: BindableColumn<T>, condition: VisitableCondition<T>): B =
9094
applyToWhere {
9195
and(column, condition)
9296
}
9397

94-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
98+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the column and condition " +
99+
"inside the lambda and rewriting the condition to use an infix function.")
95100
fun <T> and(column: BindableColumn<T>, condition: VisitableCondition<T>, subCriteria: CriteriaReceiver): B =
96101
applyToWhere(subCriteria) { sc ->
97102
and(column, condition, sc)
98103
}
99104

100105
@Deprecated(
101-
message = "Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.",
106+
message = "Deprecated in favor of the new where clause DSL.",
102107
replaceWith = ReplaceWith("and { existsPredicate }")
103108
)
104109
fun and(existsPredicate: ExistsPredicate): B =
105110
applyToWhere {
106111
and(existsPredicate)
107112
}
108113

109-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
114+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the exists expression " +
115+
"into the lambda.")
110116
fun and(existsPredicate: ExistsPredicate, subCriteria: CriteriaReceiver): B =
111117
applyToWhere(subCriteria) { sc ->
112118
and(existsPredicate, sc)
113119
}
114120

115-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
121+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the column and condition " +
122+
"into a lambda and rewriting the condition to use an infix function.")
116123
fun <T> or(column: BindableColumn<T>, condition: VisitableCondition<T>): B =
117124
applyToWhere {
118125
or(column, condition)
119126
}
120127

121-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
128+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the column and condition " +
129+
"inside the lambda and rewriting the condition to use an infix function.")
122130
fun <T> or(column: BindableColumn<T>, condition: VisitableCondition<T>, subCriteria: CriteriaReceiver): B =
123131
applyToWhere(subCriteria) { sc ->
124132
or(column, condition, sc)
125133
}
126134

127135
@Deprecated(
128-
message = "Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.",
136+
message = "Deprecated in favor of the new where clause DSL.",
129137
replaceWith = ReplaceWith("or { existsPredicate }")
130138
)
131139
fun or(existsPredicate: ExistsPredicate): B =
132140
applyToWhere {
133141
or(existsPredicate)
134142
}
135143

136-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
144+
@Deprecated("Deprecated in favor of the new where clause DSL. Update by moving the exists expression " +
145+
"into the lambda.")
137146
fun or(existsPredicate: ExistsPredicate, subCriteria: CriteriaReceiver): B =
138147
applyToWhere(subCriteria) { sc ->
139148
or(existsPredicate, sc)

src/main/kotlin/org/mybatis/dynamic/sql/util/kotlin/elements/SqlElements.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,13 @@ fun <T> isNull(): IsNull<T> = SqlBuilder.isNull()
151151

152152
fun <T> isNotNull(): IsNotNull<T> = SqlBuilder.isNotNull()
153153

154-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
154+
@Deprecated("Deprecated in favor of the new where clause DSL. " +
155+
"Rewrite to use the exists function inside a lambda.")
155156
fun exists(subQuery: KotlinSubQueryBuilder.() -> Unit): ExistsPredicate =
156157
SqlBuilder.exists(KotlinSubQueryBuilder().apply(subQuery))
157158

158-
@Deprecated("Deprecated in favor of the new where clause DSL. Please see the documentation for new usage.")
159+
@Deprecated("Deprecated in favor of the new where clause DSL. " +
160+
"Rewrite to use the exists function inside a \"not\" expression.")
159161
fun notExists(subQuery: KotlinSubQueryBuilder.() -> Unit): ExistsPredicate =
160162
SqlBuilder.notExists(KotlinSubQueryBuilder().apply(subQuery))
161163

0 commit comments

Comments
 (0)