Skip to content

Commit 9435bac

Browse files
committed
Update SET functions can be infix
1 parent 82ffdfa commit 9435bac

File tree

8 files changed

+69
-70
lines changed

8 files changed

+69
-70
lines changed

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,46 +40,46 @@ class KotlinUpdateBuilder(private val dsl: UpdateDSL<UpdateModel>) :
4040
set(column).equalToNull()
4141
}
4242

43-
fun equalToConstant(constant: String): Unit =
43+
infix fun equalToConstant(constant: String): Unit =
4444
applyToDsl {
4545
set(column).equalToConstant(constant)
4646
}
4747

48-
fun equalToStringConstant(constant: String): Unit =
48+
infix fun equalToStringConstant(constant: String): Unit =
4949
applyToDsl {
5050
set(column).equalToStringConstant(constant)
5151
}
5252

53-
fun equalTo(value: T): Unit = equalTo { value }
53+
infix fun equalTo(value: T): Unit = equalTo { value }
5454

55-
fun equalTo(value: () -> T): Unit =
55+
infix fun equalTo(value: () -> T): Unit =
5656
applyToDsl {
5757
set(column).equalTo(value)
5858
}
5959

60-
fun equalTo(rightColumn: BasicColumn): Unit =
60+
infix fun equalTo(rightColumn: BasicColumn): Unit =
6161
applyToDsl {
6262
set(column).equalTo(rightColumn)
6363
}
6464

65-
fun equalToOrNull(value: T?): Unit = equalToOrNull { value }
65+
infix fun equalToOrNull(value: T?): Unit = equalToOrNull { value }
6666

67-
fun equalToOrNull(value: () -> T?): Unit =
67+
infix fun equalToOrNull(value: () -> T?): Unit =
6868
applyToDsl {
6969
set(column).equalToOrNull(value)
7070
}
7171

72-
fun equalToQueryResult(subQuery: KotlinSubQueryBuilder.() -> Unit): Unit =
72+
infix fun equalToQueryResult(subQuery: KotlinSubQueryBuilder.() -> Unit): Unit =
7373
applyToDsl {
7474
set(column).equalTo(KotlinSubQueryBuilder().apply(subQuery))
7575
}
7676

77-
fun equalToWhenPresent(value: () -> T?): Unit =
77+
infix fun equalToWhenPresent(value: () -> T?): Unit =
7878
applyToDsl {
7979
set(column).equalToWhenPresent(value)
8080
}
8181

82-
fun equalToWhenPresent(value: T?): Unit = equalToWhenPresent { value }
82+
infix fun equalToWhenPresent(value: T?): Unit = equalToWhenPresent { value }
8383

8484
private fun applyToDsl(block: UpdateDSL<UpdateModel>.() -> Unit) {
8585
this@KotlinUpdateBuilder.dsl.apply(block)

src/test/kotlin/examples/kotlin/mybatis3/canonical/PersonMapperExtensions.kt

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -139,44 +139,44 @@ fun PersonMapper.update(completer: UpdateCompleter) =
139139

140140
fun KotlinUpdateBuilder.updateAllColumns(record: PersonRecord) =
141141
apply {
142-
set(id).equalToOrNull(record::id)
143-
set(firstName).equalToOrNull(record::firstName)
144-
set(lastName).equalToOrNull(record::lastName)
145-
set(birthDate).equalToOrNull(record::birthDate)
146-
set(employed).equalToOrNull(record::employed)
147-
set(occupation).equalToOrNull(record::occupation)
148-
set(addressId).equalToOrNull(record::addressId)
142+
set(id) equalToOrNull record::id
143+
set(firstName) equalToOrNull record::firstName
144+
set(lastName) equalToOrNull record::lastName
145+
set(birthDate) equalToOrNull record::birthDate
146+
set(employed) equalToOrNull record::employed
147+
set(occupation) equalToOrNull record::occupation
148+
set(addressId) equalToOrNull record::addressId
149149
}
150150

151151
fun KotlinUpdateBuilder.updateSelectiveColumns(record: PersonRecord) =
152152
apply {
153-
set(id).equalToWhenPresent(record::id)
154-
set(firstName).equalToWhenPresent(record::firstName)
155-
set(lastName).equalToWhenPresent(record::lastName)
156-
set(birthDate).equalToWhenPresent(record::birthDate)
157-
set(employed).equalToWhenPresent(record::employed)
158-
set(occupation).equalToWhenPresent(record::occupation)
159-
set(addressId).equalToWhenPresent(record::addressId)
153+
set(id) equalToWhenPresent record::id
154+
set(firstName) equalToWhenPresent record::firstName
155+
set(lastName) equalToWhenPresent record::lastName
156+
set(birthDate) equalToWhenPresent record::birthDate
157+
set(employed) equalToWhenPresent record::employed
158+
set(occupation) equalToWhenPresent record::occupation
159+
set(addressId) equalToWhenPresent record::addressId
160160
}
161161

162162
fun PersonMapper.updateByPrimaryKey(record: PersonRecord) =
163163
update {
164-
set(firstName).equalToOrNull(record::firstName)
165-
set(lastName).equalToOrNull(record::lastName)
166-
set(birthDate).equalToOrNull(record::birthDate)
167-
set(employed).equalToOrNull(record::employed)
168-
set(occupation).equalToOrNull(record::occupation)
169-
set(addressId).equalToOrNull(record::addressId)
164+
set(firstName) equalToOrNull record::firstName
165+
set(lastName) equalToOrNull record::lastName
166+
set(birthDate) equalToOrNull record::birthDate
167+
set(employed) equalToOrNull record::employed
168+
set(occupation) equalToOrNull record::occupation
169+
set(addressId) equalToOrNull record::addressId
170170
where { id isEqualTo record.id!! }
171171
}
172172

173173
fun PersonMapper.updateByPrimaryKeySelective(record: PersonRecord) =
174174
update {
175-
set(firstName).equalToWhenPresent(record::firstName)
176-
set(lastName).equalToWhenPresent(record::lastName)
177-
set(birthDate).equalToWhenPresent(record::birthDate)
178-
set(employed).equalToWhenPresent(record::employed)
179-
set(occupation).equalToWhenPresent(record::occupation)
180-
set(addressId).equalToWhenPresent(record::addressId)
175+
set(firstName) equalToWhenPresent record::firstName
176+
set(lastName) equalToWhenPresent record::lastName
177+
set(birthDate) equalToWhenPresent record::birthDate
178+
set(employed) equalToWhenPresent record::employed
179+
set(occupation) equalToWhenPresent record::occupation
180+
set(addressId) equalToWhenPresent record::addressId
181181
where { id isEqualTo record.id!! }
182182
}

src/test/kotlin/examples/kotlin/mybatis3/canonical/PersonMapperTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ class PersonMapperTest {
310310
assertThat(rows).isEqualTo(1)
311311

312312
rows = mapper.update {
313-
set(occupation).equalTo("Programmer")
313+
set(occupation) equalTo "Programmer"
314314
where { id isEqualTo 100 }
315315
}
316316
assertThat(rows).isEqualTo(1)
@@ -331,7 +331,7 @@ class PersonMapperTest {
331331
assertThat(rows).isEqualTo(1)
332332

333333
rows = mapper.update {
334-
set(occupation).equalTo("Programmer")
334+
set(occupation) equalTo "Programmer"
335335
where { id isEqualTo 100 }
336336
}
337337
assertThat(rows).isEqualTo(1)
@@ -353,7 +353,7 @@ class PersonMapperTest {
353353
assertThat(rows).isEqualTo(1)
354354

355355
rows = mapper.update {
356-
set(occupation).equalTo("Programmer")
356+
set(occupation) equalTo "Programmer"
357357
where { id isEqualTo 100 }
358358
and { firstName isEqualTo "Joe" }
359359
}
@@ -376,7 +376,7 @@ class PersonMapperTest {
376376
assertThat(rows).isEqualTo(1)
377377

378378
rows = mapper.update {
379-
set(occupation).equalTo("Programmer")
379+
set(occupation) equalTo "Programmer"
380380
where { id isEqualTo 100 }
381381
}
382382

@@ -398,7 +398,7 @@ class PersonMapperTest {
398398
assertThat(rows).isEqualTo(1)
399399

400400
rows = mapper.update {
401-
set(occupation).equalTo("Programmer")
401+
set(occupation) equalTo "Programmer"
402402
}
403403

404404
assertThat(rows).isEqualTo(7)
@@ -419,7 +419,7 @@ class PersonMapperTest {
419419
assertThat(rows).isEqualTo(1)
420420

421421
rows = mapper.update {
422-
set(occupation).equalTo("Programmer")
422+
set(occupation) equalTo "Programmer"
423423
}
424424

425425
assertThat(rows).isEqualTo(7)
@@ -440,7 +440,7 @@ class PersonMapperTest {
440440
assertThat(rows).isEqualTo(1)
441441

442442
rows = mapper.update {
443-
set(occupation).equalTo("Programmer")
443+
set(occupation) equalTo "Programmer"
444444
where { id isEqualTo 100 }
445445
}
446446

src/test/kotlin/examples/kotlin/mybatis3/canonical/ReusableWhereTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class ReusableWhereTest {
100100
val mapper = session.getMapper(PersonMapper::class.java)
101101

102102
val rows = mapper.update {
103-
set(occupation).equalToStringConstant("worker")
103+
set(occupation) equalToStringConstant "worker"
104104
applyWhere(commonWhere)
105105
}
106106

src/test/kotlin/examples/kotlin/mybatis3/custom/render/KCustomRenderingTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,7 @@ class KCustomRenderingTest {
217217
var rows = mapper.insertMultiple(insertStatement)
218218
assertThat(rows).isEqualTo(2)
219219
val updateStatement = update(jsonTest) {
220-
set(info)
221-
.equalTo("{\"firstName\": \"Wilma\", \"lastName\": \"Flintstone\", \"age\": 26}")
220+
set(info) equalTo "{\"firstName\": \"Wilma\", \"lastName\": \"Flintstone\", \"age\": 26}"
222221
where { id isEqualTo 2 }
223222
}
224223
val expected = "update JsonTest " +

src/test/kotlin/examples/kotlin/mybatis3/general/GeneralKotlinTest.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,7 @@ class GeneralKotlinTest {
761761
val mapper = session.getMapper(PersonMapper::class.java)
762762

763763
val updateStatement = update(person) {
764-
set(firstName).equalTo("Sam")
764+
set(firstName) equalTo "Sam"
765765
where { firstName isEqualTo "Fred" }
766766
}
767767

@@ -783,7 +783,7 @@ class GeneralKotlinTest {
783783
val mapper = session.getMapper(PersonMapper::class.java)
784784

785785
val updateStatement = update(person) {
786-
set(firstName).equalTo("Sam")
786+
set(firstName) equalTo "Sam"
787787
where {
788788
firstName isEqualTo "Fred"
789789
or { id isGreaterThan 3 }
@@ -808,7 +808,7 @@ class GeneralKotlinTest {
808808
val mapper = session.getMapper(PersonMapper::class.java)
809809

810810
val updateStatement = update(person) {
811-
set(firstName).equalTo("Sam")
811+
set(firstName) equalTo "Sam"
812812
where { firstName isEqualTo "Fred" }
813813
or {
814814
id isEqualTo 5
@@ -835,7 +835,7 @@ class GeneralKotlinTest {
835835
val mapper = session.getMapper(PersonMapper::class.java)
836836

837837
val updateStatement = update(person) {
838-
set(firstName).equalTo("Sam")
838+
set(firstName) equalTo "Sam"
839839
where { firstName isEqualTo "Fred" }
840840
and {
841841
id isEqualTo 1
@@ -862,7 +862,7 @@ class GeneralKotlinTest {
862862
val mapper = session.getMapper(PersonMapper::class.java)
863863

864864
val updateStatement = update(person) {
865-
set(firstName).equalTo("Sam")
865+
set(firstName) equalTo "Sam"
866866
where { firstName isEqualTo "Fred" }
867867
or { id isEqualTo 3 }
868868
}

src/test/kotlin/examples/kotlin/spring/canonical/CanonicalSpringKotlinTemplateDirectTest.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ open class CanonicalSpringKotlinTemplateDirectTest {
604604
@Test
605605
fun testUpdate1() {
606606
val rows = template.update(person) {
607-
set(firstName).equalTo("Sam")
607+
set(firstName) equalTo "Sam"
608608
where { firstName isEqualTo "Fred" }
609609
}
610610

@@ -614,7 +614,7 @@ open class CanonicalSpringKotlinTemplateDirectTest {
614614
@Test
615615
fun testUpdate2() {
616616
val rows = template.update(person) {
617-
set(firstName).equalTo("Sam")
617+
set(firstName) equalTo "Sam"
618618
where {
619619
firstName isEqualTo "Fred"
620620
or { id isGreaterThan 3 }
@@ -627,7 +627,7 @@ open class CanonicalSpringKotlinTemplateDirectTest {
627627
@Test
628628
fun testUpdate3() {
629629
val rows = template.update(person) {
630-
set(firstName).equalTo("Sam")
630+
set(firstName) equalTo "Sam"
631631
where { firstName isEqualTo "Fred" }
632632
or {
633633
id isEqualTo 5
@@ -641,7 +641,7 @@ open class CanonicalSpringKotlinTemplateDirectTest {
641641
@Test
642642
fun testUpdate4() {
643643
val rows = template.update(person) {
644-
set(firstName).equalTo("Sam")
644+
set(firstName) equalTo "Sam"
645645
where { firstName isEqualTo "Fred" }
646646
and {
647647
id isEqualTo 1
@@ -655,7 +655,7 @@ open class CanonicalSpringKotlinTemplateDirectTest {
655655
@Test
656656
fun testUpdate5() {
657657
val rows = template.update(person) {
658-
set(firstName).equalTo("Sam")
658+
set(firstName) equalTo "Sam"
659659
where { firstName isEqualTo "Fred" }
660660
or { id isEqualTo 3 }
661661
}

0 commit comments

Comments
 (0)