@@ -142,34 +142,6 @@ class MySqlTest : BaseTest() {
142142 assert (ids == listOf (ID_2 ))
143143 }
144144
145- @Test
146- fun testBulkInsert () {
147- database.bulkInsert(Employees ) {
148- item {
149- set(it.name, " jerry" )
150- set(it.job, " trainee" )
151- set(it.managerId, 1 )
152- set(it.hireDate, LocalDate .now())
153- set(it.salary, 50 )
154- set(it.departmentId, 1 )
155- }
156- item {
157- set(it.name, " linda" )
158- set(it.job, " assistant" )
159- set(it.managerId, 3 )
160- set(it.hireDate, LocalDate .now())
161- set(it.salary, 100 )
162- set(it.departmentId, 2 )
163- }
164- onDuplicateKey {
165- set(it.name, it.name)
166- set(it.job, values(it.job))
167- }
168- }
169-
170- assert (database.employees.count() == 6 )
171- }
172-
173145 @Test
174146 fun testInsertOrUpdate () {
175147 database.insertOrUpdate(Employees ) {
@@ -179,28 +151,87 @@ class MySqlTest : BaseTest() {
179151 set(it.salary, 1000 )
180152 set(it.hireDate, LocalDate .now())
181153 set(it.departmentId, 1 )
182-
183154 onDuplicateKey {
184- set(it.salary, it.salary + 900 )
155+ set(it.salary, it.salary + 1000 )
185156 }
186157 }
187- database.insertOrUpdate(Employees ) {
158+ database.insertOrUpdate(Employees .aliased( " t " ) ) {
188159 set(it.id, 5 )
189160 set(it.name, " vince" )
190161 set(it.job, " engineer" )
191162 set(it.salary, 1000 )
192163 set(it.hireDate, LocalDate .now())
193164 set(it.departmentId, 1 )
194-
195165 onDuplicateKey {
196- set(it.salary, it.salary + 900 )
166+ set(it.salary, it.salary + 1000 )
197167 }
198168 }
199169
200- assert (database.employees.find { it.id eq 1 }!! .salary == 1000L )
170+ assert (database.employees.find { it.id eq 1 }!! .salary == 1100L )
201171 assert (database.employees.find { it.id eq 5 }!! .salary == 1000L )
202172 }
203173
174+ @Test
175+ fun testBulkInsert () {
176+ database.bulkInsert(Employees ) {
177+ item {
178+ set(it.name, " vince" )
179+ set(it.job, " engineer" )
180+ set(it.salary, 1000 )
181+ set(it.hireDate, LocalDate .now())
182+ set(it.departmentId, 1 )
183+ }
184+ item {
185+ set(it.name, " vince" )
186+ set(it.job, " engineer" )
187+ set(it.salary, 1000 )
188+ set(it.hireDate, LocalDate .now())
189+ set(it.departmentId, 1 )
190+ }
191+ }
192+
193+ assert (database.employees.count() == 6 )
194+ }
195+
196+ @Test
197+ fun testBulkInsertOrUpdate () {
198+ database.bulkInsertOrUpdate(Employees ) {
199+ item {
200+ set(it.id, 1 )
201+ set(it.name, " vince" )
202+ set(it.job, " trainee" )
203+ set(it.salary, 1000 )
204+ set(it.hireDate, LocalDate .now())
205+ set(it.departmentId, 2 )
206+ }
207+ item {
208+ set(it.id, 5 )
209+ set(it.name, " vince" )
210+ set(it.job, " engineer" )
211+ set(it.salary, 1000 )
212+ set(it.hireDate, LocalDate .now())
213+ set(it.departmentId, 2 )
214+ }
215+ onDuplicateKey {
216+ set(it.job, it.job)
217+ set(it.departmentId, values(it.departmentId))
218+ set(it.salary, it.salary + 1000 )
219+ }
220+ }
221+
222+ database.employees.find { it.id eq 1 }!! .let {
223+ assert (it.job == " engineer" )
224+ assert (it.department.id == 2 )
225+ assert (it.salary == 1100L )
226+ }
227+
228+ database.employees.find { it.id eq 5 }!! .let {
229+ assert (it.job == " engineer" )
230+ assert (it.department.id == 2 )
231+ assert (it.salary == 1000L )
232+ }
233+ }
234+
204235 @Test
205236 fun testNaturalJoin () {
206237 val query = database.from(Employees ).naturalJoin(Departments ).select()
0 commit comments