1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.tag
21 
22 import java.time.ZonedDateTime
23 
24 import cats.data.NonEmptyList
25 import grizzled.slf4j.Logging
26 import org.make.api.extensions.MakeDBExecutionContextComponent
27 import org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag
28 import org.make.api.tagtype.DefaultPersistentTagTypeServiceComponent.PersistentTagType
29 import org.make.api.technical.DatabaseTransactions._
30 import org.make.api.technical.PersistentServiceUtils.sortOrderQuery
31 import org.make.api.technical.{PersistentCompanion, ShortenedNames}
32 import org.make.api.technical.ScalikeSupport._
33 import org.make.core.{DateHelper, Order}
34 import org.make.core.technical.Pagination
35 import org.make.core.operation.OperationId
36 import org.make.core.question.QuestionId
37 import org.make.core.tag.{Tag, TagDisplay, TagId, TagTypeId}
38 import scalikejdbc._
39 
40 import scala.concurrent.Future
41 import scala.util.Success
42 
43 trait DefaultPersistentTagServiceComponent extends PersistentTagServiceComponent {
44   this: MakeDBExecutionContextComponent =>
45 
46   override lazy val persistentTagService: PersistentTagService = new DefaultPersistentTagService
47 
48   class DefaultPersistentTagService extends PersistentTagService with ShortenedNames with Logging {
49 
50     private val tagAlias = PersistentTag.alias
51     private val tagTypeAlias = PersistentTagType.tagTypeAlias
52 
53     private val column = PersistentTag.column
54 
55     override def findByQuestion(questionId: QuestionId): Future[Seq[Tag]] = {
56       implicit val context: EC = readExecutionContext
57       val futurePersistentTag = Future(NamedDB("READ").retryableTx { implicit session =>
58         withSQL {
59           select
60             .from(PersistentTag.as(tagAlias))
61             .where(sqls.eq(tagAlias.questionId, questionId))
62         }.map(PersistentTag.apply()).list()
63       })
64 
65       futurePersistentTag.map(_.map(_.toTag))
66     }
67 
68     override def get(tagId: TagId): Future[Option[Tag]] = {
69       implicit val context: EC = readExecutionContext
70       val futurePersistentTag = Future(NamedDB("READ").retryableTx { implicit session =>
71         withSQL {
72           select
73             .from(PersistentTag.as(tagAlias))
74             .where(sqls.eq(tagAlias.id, tagId))
75         }.map(PersistentTag.apply()).single()
76       })
77 
78       futurePersistentTag.map(_.map(_.toTag))
79     }
80 
81     override def findAll(): Future[Seq[Tag]] = {
82       implicit val context: EC = readExecutionContext
83       val futurePersistentTags: Future[List[PersistentTag]] = Future(NamedDB("READ").retryableTx { implicit session =>
84         withSQL {
85           select
86             .from(PersistentTag.as(tagAlias))
87             .orderBy(tagAlias.weight, tagAlias.label)
88         }.map(PersistentTag.apply()).list()
89       })
90 
91       futurePersistentTags.map(_.map(_.toTag))
92     }
93 
94     override def findAllFromIds(tagsIds: Seq[TagId]): Future[Seq[Tag]] = {
95       implicit val context: EC = readExecutionContext
96       val futurePersistentTags: Future[List[PersistentTag]] = Future(NamedDB("READ").retryableTx { implicit session =>
97         withSQL {
98           select
99             .from(PersistentTag.as(tagAlias))
100             .where(sqls.in(tagAlias.id, tagsIds.distinct))
101         }.map(PersistentTag.apply()).list()
102       })
103 
104       futurePersistentTags.map(_.map(_.toTag))
105     }
106 
107     override def findAllDisplayed(): Future[Seq[Tag]] = {
108       implicit val context: EC = readExecutionContext
109       val futurePersistentTags: Future[List[PersistentTag]] = Future(NamedDB("READ").retryableTx { implicit session =>
110         withSQL {
111           select
112             .from(PersistentTag.as(tagAlias))
113             .leftJoin(PersistentTagType.as(tagTypeAlias))
114             .on(tagAlias.tagTypeId, tagTypeAlias.id)
115             .where(
116               sqls
117                 .eq(tagAlias.display, TagDisplay.Displayed)
118                 .or(
119                   sqls
120                     .eq(tagAlias.display, TagDisplay.Inherit)
121                     .and(sqls.eq(tagTypeAlias.display, TagDisplay.Displayed))
122                 )
123             )
124             .orderBy(tagAlias.weight, tagAlias.label)
125         }.map(PersistentTag.apply()).list()
126       })
127 
128       futurePersistentTags.map(_.map(_.toTag))
129     }
130 
131     def findByLabel(label: String): Future[Seq[Tag]] = {
132       implicit val context: EC = readExecutionContext
133       val preparedLabel: String = label.replace("%", "\\%")
134       val futurePersistentTags: Future[List[PersistentTag]] = Future(NamedDB("READ").retryableTx { implicit session =>
135         withSQL {
136           select
137             .from(PersistentTag.as(tagAlias))
138             .where(sqls.eq(tagAlias.label, preparedLabel))
139         }.map(PersistentTag.apply()).list()
140       })
141 
142       futurePersistentTags.map(_.map(_.toTag))
143     }
144 
145     def findByLabelLike(partialLabel: String): Future[Seq[Tag]] = {
146       implicit val context: EC = readExecutionContext
147       val preparedPartialLabel: String = partialLabel.replace("%", "\\%")
148       val futurePersistentTags: Future[List[PersistentTag]] = Future(NamedDB("READ").retryableTx { implicit session =>
149         withSQL {
150           select
151             .from(PersistentTag.as(tagAlias))
152             .where(sqls.like(tagAlias.label, s"%$preparedPartialLabel%"))
153         }.map(PersistentTag.apply()).list()
154       })
155 
156       futurePersistentTags.map(_.map(_.toTag))
157     }
158 
159     override def persist(tag: Tag): Future[Tag] = {
160       implicit val context: EC = writeExecutionContext
161       val nowDate: ZonedDateTime = DateHelper.now()
162       Future(NamedDB("WRITE").retryableTx { implicit session =>
163         withSQL {
164           insert
165             .into(PersistentTag)
166             .namedValues(
167               column.id -> tag.tagId,
168               column.label -> tag.label,
169               column.display -> tag.display,
170               column.tagTypeId -> tag.tagTypeId,
171               column.operationId -> tag.operationId,
172               column.questionId -> tag.questionId,
173               column.weight -> tag.weight,
174               column.createdAt -> nowDate,
175               column.updatedAt -> nowDate
176             )
177         }.execute()
178       }).map(_ => tag)
179     }
180 
181     override def update(tag: Tag): Future[Option[Tag]] = {
182       implicit val ctx: EC = writeExecutionContext
183       val nowDate: ZonedDateTime = DateHelper.now()
184       Future(NamedDB("WRITE").retryableTx { implicit session =>
185         withSQL {
186           scalikejdbc
187             .update(PersistentTag)
188             .set(
189               column.label -> tag.label,
190               column.display -> tag.display,
191               column.tagTypeId -> tag.tagTypeId,
192               column.operationId -> tag.operationId,
193               column.questionId -> tag.questionId,
194               column.weight -> tag.weight,
195               column.updatedAt -> nowDate
196             )
197             .where(sqls.eq(column.id, tag.tagId))
198         }.executeUpdate()
199       }).map {
200         case 1 => Some(tag)
201         case 0 =>
202           logger.error(s"Tag '${tag.tagId.value}' not found")
203           None
204       }
205     }
206 
207     override def remove(tagId: TagId): Future[Int] = {
208       implicit val context: EC = writeExecutionContext
209       val result: Future[Int] = Future(NamedDB("WRITE").retryableTx { implicit session =>
210         withSQL {
211           delete
212             .from(PersistentTag.as(tagAlias))
213             .where(sqls.eq(tagAlias.id, tagId))
214         }.update()
215       })
216 
217       result.onComplete {
218         case Success(0) => logger.info(s"Expected 1 row to be removed and get 0 rows with tag ${tagId.value}")
219         case Success(rows) =>
220           if (rows != 1) {
221             logger.warn(s"Expected 1 row to be removed and get $rows rows with tag ${tagId.value}")
222           } else {
223             logger.debug(s"Remove of tag ${tagId.value} success")
224           }
225         case _ =>
226       }
227 
228       result
229     }
230 
231     override def find(
232       offset: Pagination.Offset,
233       end: Option[Pagination.End],
234       sort: Option[String],
235       order: Option[Order],
236       onlyDisplayed: Boolean,
237       persistentTagFilter: PersistentTagFilter
238     ): Future[Seq[Tag]] = {
239       implicit val context: EC = readExecutionContext
240 
241       val futurePersistentTags: Future[List[PersistentTag]] = Future(NamedDB("READ").retryableTx { implicit session =>
242         withSQL {
243 
244           val query: scalikejdbc.PagingSQLBuilder[PersistentTag] =
245             select
246               .from(PersistentTag.as(tagAlias))
247               .leftJoin(PersistentTagType.as(tagTypeAlias))
248               .on(tagAlias.tagTypeId, tagTypeAlias.id)
249               .where(
250                 sqls.toAndConditionOpt(
251                   persistentTagFilter.tagIds.map(tIds => sqls.in(tagAlias.id, tIds)),
252                   persistentTagFilter.label
253                     .map(
254                       label => sqls.like(sqls"lower(${tagAlias.label})", s"%${label.toLowerCase.replace("%", "\\%")}%")
255                     ),
256                   persistentTagFilter.tagTypeId.map(tagTypeId => sqls.eq(tagAlias.tagTypeId, tagTypeId)),
257                   persistentTagFilter.questionIds.map(qIds    => sqls.in(tagAlias.questionId, qIds)),
258                   if (onlyDisplayed) {
259                     Some(
260                       sqls
261                         .eq(tagAlias.display, TagDisplay.Displayed)
262                         .or(
263                           sqls
264                             .eq(tagAlias.display, TagDisplay.Inherit)
265                             .and(sqls.eq(tagTypeAlias.display, TagDisplay.Displayed))
266                         )
267                     )
268                   } else {
269                     None
270                   }
271                 )
272               )
273 
274           sortOrderQuery(offset, end, sort, order, query)
275         }.map(PersistentTag.apply()).list()
276       })
277 
278       futurePersistentTags.map(_.map(_.toTag))
279     }
280 
281     override def count(persistentTagFilter: PersistentTagFilter): Future[Int] = {
282       implicit val context: EC = readExecutionContext
283 
284       Future(NamedDB("READ").retryableTx { implicit session =>
285         withSQL {
286 
287           select(sqls.count)
288             .from(PersistentTag.as(tagAlias))
289             .where(
290               sqls.toAndConditionOpt(
291                 persistentTagFilter.tagIds.map(tIds => sqls.in(tagAlias.id, tIds)),
292                 persistentTagFilter.label
293                   .map(
294                     label => sqls.like(sqls"lower(${tagAlias.label})", s"%${label.toLowerCase.replace("%", "\\%")}%")
295                   ),
296                 persistentTagFilter.tagTypeId.map(tagTypeId => sqls.eq(tagAlias.tagTypeId, tagTypeId)),
297                 persistentTagFilter.questionIds.map(qIds    => sqls.in(tagAlias.questionId, qIds))
298               )
299             )
300         }.map(_.int(1)).single().getOrElse(0)
301       })
302     }
303   }
304 }
305 
306 object DefaultPersistentTagServiceComponent {
307 
308   final case class PersistentTag(
309     id: String,
310     label: String,
311     display: TagDisplay,
312     tagTypeId: String,
313     operationId: Option[String],
314     questionId: Option[String],
315     weight: Float,
316     createdAt: ZonedDateTime,
317     updatedAt: ZonedDateTime
318   ) {
319     def toTag: Tag =
320       Tag(
321         tagId = TagId(id),
322         label = label,
323         display = display,
324         tagTypeId = TagTypeId(tagTypeId),
325         operationId = operationId.map(OperationId(_)),
326         questionId = questionId.map(QuestionId(_)),
327         weight = weight
328       )
329   }
330 
331   implicit object PersistentTag extends PersistentCompanion[PersistentTag, Tag] with ShortenedNames with Logging {
332 
333     override val columnNames: Seq[String] =
334       Seq("id", "label", "display", "tag_type_id", "operation_id", "weight", "created_at", "updated_at", "question_id")
335     final val swaggerAllowableValues =
336       "id,label,display,tag_type_id,operation_id,weight,created_at,updated_at,question_id"
337 
338     override val tableName: String = "tag"
339 
340     override lazy val alias: SyntaxProvider[PersistentTag] = syntax("tag")
341 
342     override lazy val defaultSortColumns: NonEmptyList[SQLSyntax] = NonEmptyList.of(alias.weight, alias.label)
343 
344     def apply(
345       tagResultName: ResultName[PersistentTag] = alias.resultName
346     )(resultSet: WrappedResultSet): PersistentTag = {
347       PersistentTag.apply(
348         id = resultSet.string(tagResultName.id),
349         label = resultSet.string(tagResultName.label),
350         display = TagDisplay(resultSet.string(tagResultName.display)),
351         tagTypeId = resultSet.string(tagResultName.tagTypeId),
352         operationId = resultSet.stringOpt(tagResultName.operationId),
353         questionId = resultSet.stringOpt(tagResultName.questionId),
354         weight = resultSet.float(tagResultName.weight),
355         createdAt = resultSet.zonedDateTime(tagResultName.createdAt),
356         updatedAt = resultSet.zonedDateTime(tagResultName.updatedAt)
357       )
358     }
359   }
360 
361 }
Line Stmt Id Pos Tree Symbol Tests Code
53 20809 2093 - 2113 Select scalikejdbc.SQLSyntaxSupportFeature.SQLSyntaxSupport.column org.scalatest.testsuite org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.column
56 19908 2226 - 2246 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
57 21475 2279 - 2530 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.eq[org.make.core.question.QuestionId]((DefaultPersistentTagService.this.tagAlias.field("questionId"): scalikejdbc.interpolation.SQLSyntax), questionId)(org.make.api.technical.ScalikeSupport.questionIdBinders))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
65 20561 2538 - 2577 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTag.map[List[org.make.core.tag.Tag]](((x$1: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$1.map[org.make.core.tag.Tag](((x$2: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$2.toTag))))(context)
69 19537 2678 - 2698 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
70 21628 2731 - 2971 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[Option[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => Option[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToOption[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagId]((DefaultPersistentTagService.this.tagAlias.field("id"): scalikejdbc.interpolation.SQLSyntax), tagId)(org.make.api.technical.ScalikeSupport.tagIdBinders))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).single; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[Option[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Option[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[Option[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
78 20643 2979 - 3018 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTag.map[Option[org.make.core.tag.Tag]](((x$3: Option[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$3.map[org.make.core.tag.Tag](((x$4: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$4.toTag))))(context)
82 19712 3108 - 3128 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
83 21279 3191 - 3435 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).orderBy((DefaultPersistentTagService.this.tagAlias.field("weight"): scalikejdbc.interpolation.SQLSyntax), (DefaultPersistentTagService.this.tagAlias.field("label"): scalikejdbc.interpolation.SQLSyntax))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
91 20356 3443 - 3483 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTags.map[List[org.make.core.tag.Tag]](((x$5: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$5.map[org.make.core.tag.Tag](((x$6: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$6.toTag))))(context)
95 19888 3599 - 3619 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
96 21437 3682 - 3931 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.in[org.make.core.tag.TagId]((DefaultPersistentTagService.this.tagAlias.field("id"): scalikejdbc.interpolation.SQLSyntax), tagsIds.distinct)(org.make.api.technical.ScalikeSupport.tagIdBinders))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
104 20517 3939 - 3979 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTags.map[List[org.make.core.tag.Tag]](((x$7: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$7.map[org.make.core.tag.Tag](((x$8: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$8.toTag))))(context)
108 19542 4078 - 4098 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
109 21635 4161 - 4831 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).leftJoin(org.make.api.tagtype.DefaultPersistentTagTypeServiceComponent.PersistentTagType.as(DefaultPersistentTagService.this.tagTypeAlias)).on((DefaultPersistentTagService.this.tagAlias.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax), (DefaultPersistentTagService.this.tagTypeAlias.field("id"): scalikejdbc.interpolation.SQLSyntax)).where(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagDisplay.Displayed.type]((DefaultPersistentTagService.this.tagAlias.field("display"): scalikejdbc.interpolation.SQLSyntax), org.make.core.tag.TagDisplay.Displayed)(org.make.api.technical.ScalikeSupport.stringEnumEntryParameterBinderFactory[org.make.core.tag.TagDisplay.Displayed.type, org.make.core.tag.TagDisplay.Displayed.type]).or(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagDisplay.Inherit.type]((DefaultPersistentTagService.this.tagAlias.field("display"): scalikejdbc.interpolation.SQLSyntax), org.make.core.tag.TagDisplay.Inherit)(org.make.api.technical.ScalikeSupport.stringEnumEntryParameterBinderFactory[org.make.core.tag.TagDisplay.Inherit.type, org.make.core.tag.TagDisplay.Inherit.type]).and(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagDisplay.Displayed.type]((DefaultPersistentTagService.this.tagTypeAlias.field("display"): scalikejdbc.interpolation.SQLSyntax), org.make.core.tag.TagDisplay.Displayed)(org.make.api.technical.ScalikeSupport.stringEnumEntryParameterBinderFactory[org.make.core.tag.TagDisplay.Displayed.type, org.make.core.tag.TagDisplay.Displayed.type])))).orderBy((DefaultPersistentTagService.this.tagAlias.field("weight"): scalikejdbc.interpolation.SQLSyntax), (DefaultPersistentTagService.this.tagAlias.field("label"): scalikejdbc.interpolation.SQLSyntax))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
128 20604 4839 - 4879 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTags.map[List[org.make.core.tag.Tag]](((x$9: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$9.map[org.make.core.tag.Tag](((x$10: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$10.toTag))))(context)
132 19671 4977 - 4997 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
133 21250 5032 - 5057 Apply java.lang.String.replace label.replace("%", "\\%")
134 20364 5120 - 5369 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.eq[String]((DefaultPersistentTagService.this.tagAlias.field("label"): scalikejdbc.interpolation.SQLSyntax), preparedLabel)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
142 19803 5377 - 5417 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTags.map[List[org.make.core.tag.Tag]](((x$11: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$11.map[org.make.core.tag.Tag](((x$12: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$12.toTag))))(context)
146 21405 5526 - 5546 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
147 20553 5588 - 5620 Apply java.lang.String.replace partialLabel.replace("%", "\\%")
148 19497 5683 - 5947 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.from[Nothing](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.like((DefaultPersistentTagService.this.tagAlias.field("label"): scalikejdbc.interpolation.SQLSyntax), ("%".+(preparedPartialLabel).+("%"): String)))).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
156 21593 5955 - 5995 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTags.map[List[org.make.core.tag.Tag]](((x$13: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$13.map[org.make.core.tag.Tag](((x$14: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$14.toTag))))(context)
160 20609 6088 - 6109 Select org.make.api.extensions.MakeDBExecutionContextComponent.writeExecutionContext org.scalatest.testsuite DefaultPersistentTagServiceComponent.this.writeExecutionContext
161 19648 6145 - 6161 Apply org.make.core.DefaultDateHelper.now org.scalatest.testsuite org.make.core.DateHelper.now()
178 21359 6168 - 6781 ApplyToImplicitArgs scala.concurrent.Future.map org.scalatest.testsuite scala.concurrent.Future.apply[Boolean]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Boolean @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.insert.into(org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag).namedValues((DefaultPersistentTagService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.tag.TagId](tag.tagId)(org.make.api.technical.ScalikeSupport.tagIdBinders), (DefaultPersistentTagService.this.column.field("label"): scalikejdbc.interpolation.SQLSyntax).->[String](tag.label)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory), (DefaultPersistentTagService.this.column.field("display"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.tag.TagDisplay](tag.display)(org.make.api.technical.ScalikeSupport.stringEnumBinders[org.make.core.tag.TagDisplay]((TagDisplay: enumeratum.values.StringEnum[org.make.core.tag.TagDisplay]))), (DefaultPersistentTagService.this.column.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.tag.TagTypeId](tag.tagTypeId)(org.make.api.technical.ScalikeSupport.tagTypeIdBinders), (DefaultPersistentTagService.this.column.field("operationId"): scalikejdbc.interpolation.SQLSyntax).->[Option[org.make.core.operation.OperationId]](tag.operationId)(scalikejdbc.this.ParameterBinderFactory.optionalParameterBinderFactory[org.make.core.operation.OperationId](org.make.api.technical.ScalikeSupport.operationIdBinders)), (DefaultPersistentTagService.this.column.field("questionId"): scalikejdbc.interpolation.SQLSyntax).->[Option[org.make.core.question.QuestionId]](tag.questionId)(scalikejdbc.this.ParameterBinderFactory.optionalParameterBinderFactory[org.make.core.question.QuestionId](org.make.api.technical.ScalikeSupport.questionIdBinders)), (DefaultPersistentTagService.this.column.field("weight"): scalikejdbc.interpolation.SQLSyntax).->[Float](tag.weight)(scalikejdbc.this.ParameterBinderFactory.floatParameterBinderFactory), (DefaultPersistentTagService.this.column.field("createdAt"): scalikejdbc.interpolation.SQLSyntax).->[java.time.ZonedDateTime](nowDate)(scalikejdbc.this.ParameterBinderFactory.javaTimeZonedDateTimeParameterBinderFactory), (DefaultPersistentTagService.this.column.field("updatedAt"): scalikejdbc.interpolation.SQLSyntax).->[java.time.ZonedDateTime](nowDate)(scalikejdbc.this.ParameterBinderFactory.javaTimeZonedDateTimeParameterBinderFactory))).execute.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Boolean] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Boolean](x$4); qual$1.retryableTx[Boolean](x$4)(x$5) })(context).map[org.make.core.tag.Tag](((x$15: Boolean) => tag))(context)
182 20371 6877 - 6898 Select org.make.api.extensions.MakeDBExecutionContextComponent.writeExecutionContext DefaultPersistentTagServiceComponent.this.writeExecutionContext
183 19930 6934 - 6950 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
199 21412 6957 - 7667 ApplyToImplicitArgs scala.concurrent.Future.map scala.concurrent.Future.apply[Int]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Int @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.update.apply(org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag).set((DefaultPersistentTagService.this.column.field("label"): scalikejdbc.interpolation.SQLSyntax).->[String](tag.label)(scalikejdbc.this.ParameterBinderFactory.stringParameterBinderFactory), (DefaultPersistentTagService.this.column.field("display"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.tag.TagDisplay](tag.display)(org.make.api.technical.ScalikeSupport.stringEnumBinders[org.make.core.tag.TagDisplay]((TagDisplay: enumeratum.values.StringEnum[org.make.core.tag.TagDisplay]))), (DefaultPersistentTagService.this.column.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax).->[org.make.core.tag.TagTypeId](tag.tagTypeId)(org.make.api.technical.ScalikeSupport.tagTypeIdBinders), (DefaultPersistentTagService.this.column.field("operationId"): scalikejdbc.interpolation.SQLSyntax).->[Option[org.make.core.operation.OperationId]](tag.operationId)(scalikejdbc.this.ParameterBinderFactory.optionalParameterBinderFactory[org.make.core.operation.OperationId](org.make.api.technical.ScalikeSupport.operationIdBinders)), (DefaultPersistentTagService.this.column.field("questionId"): scalikejdbc.interpolation.SQLSyntax).->[Option[org.make.core.question.QuestionId]](tag.questionId)(scalikejdbc.this.ParameterBinderFactory.optionalParameterBinderFactory[org.make.core.question.QuestionId](org.make.api.technical.ScalikeSupport.questionIdBinders)), (DefaultPersistentTagService.this.column.field("weight"): scalikejdbc.interpolation.SQLSyntax).->[Float](tag.weight)(scalikejdbc.this.ParameterBinderFactory.floatParameterBinderFactory), (DefaultPersistentTagService.this.column.field("updatedAt"): scalikejdbc.interpolation.SQLSyntax).->[java.time.ZonedDateTime](nowDate)(scalikejdbc.this.ParameterBinderFactory.javaTimeZonedDateTimeParameterBinderFactory)).where(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagId]((DefaultPersistentTagService.this.column.field("id"): scalikejdbc.interpolation.SQLSyntax), tag.tagId)(org.make.api.technical.ScalikeSupport.tagIdBinders))).executeUpdate.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Int] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Int](x$4); qual$1.retryableTx[Int](x$4)(x$5) })(ctx).map[Option[org.make.core.tag.Tag]](((x0$1: Int) => x0$1 match { case 1 => scala.Some.apply[org.make.core.tag.Tag](tag) case 0 => { DefaultPersistentTagService.this.logger.error(("Tag \'".+(tag.tagId.value).+("\' not found"): String)); scala.None } }))(ctx)
208 20512 7763 - 7784 Select org.make.api.extensions.MakeDBExecutionContextComponent.writeExecutionContext DefaultPersistentTagServiceComponent.this.writeExecutionContext
209 19611 7817 - 8031 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[Int]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("WRITE") = "WRITE"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("WRITE", x$2); scalikejdbc.NamedDB.apply("WRITE", x$2)(x$3) }); <artifact> val x$4: scalikejdbc.DBSession => Int @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => scalikejdbc.`package`.withSQL.apply[scalikejdbc.UpdateOperation](scalikejdbc.`package`.delete.from(org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagId]((DefaultPersistentTagService.this.tagAlias.field("id"): scalikejdbc.interpolation.SQLSyntax), tagId)(org.make.api.technical.ScalikeSupport.tagIdBinders))).update.apply()(session)); <artifact> val x$5: scalikejdbc.TxBoundary[Int] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Int](x$4); qual$1.retryableTx[Int](x$4)(x$5) })(context)
217 21085 8039 - 8449 ApplyToImplicitArgs scala.concurrent.Future.onComplete result.onComplete[Unit](((x0$1: scala.util.Try[Int]) => x0$1 match { case (value: Int): scala.util.Success[Int](0) => DefaultPersistentTagService.this.logger.info(("Expected 1 row to be removed and get 0 rows with tag ".+(tagId.value): String)) case (value: Int): scala.util.Success[Int]((rows @ _)) => if (rows.!=(1)) DefaultPersistentTagService.this.logger.warn(("Expected 1 row to be removed and get ".+(rows).+(" rows with tag ").+(tagId.value): String)) else DefaultPersistentTagService.this.logger.debug(("Remove of tag ".+(tagId.value).+(" success"): String)) case _ => () }))(context)
239 20727 8756 - 8776 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
241 19709 8840 - 10375 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToList[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ val query: scalikejdbc.PagingSQLBuilder[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = scalikejdbc.`package`.select.from[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag](org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).leftJoin(org.make.api.tagtype.DefaultPersistentTagTypeServiceComponent.PersistentTagType.as(DefaultPersistentTagService.this.tagTypeAlias)).on((DefaultPersistentTagService.this.tagAlias.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax), (DefaultPersistentTagService.this.tagTypeAlias.field("id"): scalikejdbc.interpolation.SQLSyntax)).where(scalikejdbc.`package`.sqls.toAndConditionOpt(persistentTagFilter.tagIds.map[scalikejdbc.interpolation.SQLSyntax](((tIds: Seq[org.make.core.tag.TagId]) => scalikejdbc.`package`.sqls.in[org.make.core.tag.TagId]((DefaultPersistentTagService.this.tagAlias.field("id"): scalikejdbc.interpolation.SQLSyntax), tIds)(org.make.api.technical.ScalikeSupport.tagIdBinders))), persistentTagFilter.label.map[scalikejdbc.interpolation.SQLSyntax](((label: String) => scalikejdbc.`package`.sqls.like(scalikejdbc.`package`.scalikejdbcSQLInterpolationImplicitDef(scala.StringContext.apply("lower(", ")")).sqls((DefaultPersistentTagService.this.tagAlias.field("label"): scalikejdbc.interpolation.SQLSyntax)), ("%".+(label.toLowerCase().replace("%", "\\%")).+("%"): String)))), persistentTagFilter.tagTypeId.map[scalikejdbc.interpolation.SQLSyntax](((tagTypeId: org.make.core.tag.TagTypeId) => scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagTypeId]((DefaultPersistentTagService.this.tagAlias.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax), tagTypeId)(org.make.api.technical.ScalikeSupport.tagTypeIdBinders))), persistentTagFilter.questionIds.map[scalikejdbc.interpolation.SQLSyntax](((qIds: Seq[org.make.core.question.QuestionId]) => scalikejdbc.`package`.sqls.in[org.make.core.question.QuestionId]((DefaultPersistentTagService.this.tagAlias.field("questionId"): scalikejdbc.interpolation.SQLSyntax), qIds)(org.make.api.technical.ScalikeSupport.questionIdBinders))), if (onlyDisplayed) scala.Some.apply[scalikejdbc.interpolation.SQLSyntax](scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagDisplay.Displayed.type]((DefaultPersistentTagService.this.tagAlias.field("display"): scalikejdbc.interpolation.SQLSyntax), org.make.core.tag.TagDisplay.Displayed)(org.make.api.technical.ScalikeSupport.stringEnumEntryParameterBinderFactory[org.make.core.tag.TagDisplay.Displayed.type, org.make.core.tag.TagDisplay.Displayed.type]).or(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagDisplay.Inherit.type]((DefaultPersistentTagService.this.tagAlias.field("display"): scalikejdbc.interpolation.SQLSyntax), org.make.core.tag.TagDisplay.Inherit)(org.make.api.technical.ScalikeSupport.stringEnumEntryParameterBinderFactory[org.make.core.tag.TagDisplay.Inherit.type, org.make.core.tag.TagDisplay.Inherit.type]).and(scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagDisplay.Displayed.type]((DefaultPersistentTagService.this.tagTypeAlias.field("display"): scalikejdbc.interpolation.SQLSyntax), org.make.core.tag.TagDisplay.Displayed)(org.make.api.technical.ScalikeSupport.stringEnumEntryParameterBinderFactory[org.make.core.tag.TagDisplay.Displayed.type, org.make.core.tag.TagDisplay.Displayed.type])))) else scala.None)); org.make.api.technical.PersistentServiceUtils.sortOrderQuery[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag, org.make.core.tag.Tag](offset, end, sort, order, query)(org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) }).map[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]({ <synthetic> val eta$0$1: scalikejdbc.ResultName[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag] = org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply$default$1; ((resultSet: scalikejdbc.WrappedResultSet) => org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply(eta$0$1)(resultSet)) }).list; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) } }); <artifact> val x$8: scalikejdbc.TxBoundary[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7); qual$1.retryableTx[List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]](x$7)(x$8) })(context)
278 21366 10383 - 10423 ApplyToImplicitArgs scala.concurrent.Future.map futurePersistentTags.map[List[org.make.core.tag.Tag]](((x$16: List[org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag]) => x$16.map[org.make.core.tag.Tag](((x$17: org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag) => x$17.toTag))))(context)
282 20413 10546 - 10566 Select org.make.api.extensions.MakeDBExecutionContextComponent.readExecutionContext DefaultPersistentTagServiceComponent.this.readExecutionContext
284 19933 10574 - 11359 ApplyToImplicitArgs scala.concurrent.Future.apply scala.concurrent.Future.apply[Int]({ <artifact> val qual$1: org.make.api.technical.DatabaseTransactions.RichDatabase = org.make.api.technical.DatabaseTransactions.RichDatabase({ <artifact> val x$1: String("READ") = "READ"; <artifact> val x$2: scalikejdbc.SettingsProvider = scalikejdbc.NamedDB.apply$default$2; <artifact> val x$3: scalikejdbc.ConnectionPoolContext = scalikejdbc.NamedDB.apply$default$3("READ", x$2); scalikejdbc.NamedDB.apply("READ", x$2)(x$3) }); <artifact> val x$7: scalikejdbc.DBSession => Int @scala.reflect.internal.annotations.uncheckedBounds = ((implicit session: scalikejdbc.DBSession) => { <synthetic> <stable> <artifact> val stabilizer$1: scalikejdbc.SQLToOption[Int,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = scalikejdbc.`package`.withSQL.apply[Nothing](scalikejdbc.`package`.select.apply[Nothing](scalikejdbc.`package`.sqls.count).from(org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.as(DefaultPersistentTagService.this.tagAlias)).where(scalikejdbc.`package`.sqls.toAndConditionOpt(persistentTagFilter.tagIds.map[scalikejdbc.interpolation.SQLSyntax](((tIds: Seq[org.make.core.tag.TagId]) => scalikejdbc.`package`.sqls.in[org.make.core.tag.TagId]((DefaultPersistentTagService.this.tagAlias.field("id"): scalikejdbc.interpolation.SQLSyntax), tIds)(org.make.api.technical.ScalikeSupport.tagIdBinders))), persistentTagFilter.label.map[scalikejdbc.interpolation.SQLSyntax](((label: String) => scalikejdbc.`package`.sqls.like(scalikejdbc.`package`.scalikejdbcSQLInterpolationImplicitDef(scala.StringContext.apply("lower(", ")")).sqls((DefaultPersistentTagService.this.tagAlias.field("label"): scalikejdbc.interpolation.SQLSyntax)), ("%".+(label.toLowerCase().replace("%", "\\%")).+("%"): String)))), persistentTagFilter.tagTypeId.map[scalikejdbc.interpolation.SQLSyntax](((tagTypeId: org.make.core.tag.TagTypeId) => scalikejdbc.`package`.sqls.eq[org.make.core.tag.TagTypeId]((DefaultPersistentTagService.this.tagAlias.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax), tagTypeId)(org.make.api.technical.ScalikeSupport.tagTypeIdBinders))), persistentTagFilter.questionIds.map[scalikejdbc.interpolation.SQLSyntax](((qIds: Seq[org.make.core.question.QuestionId]) => scalikejdbc.`package`.sqls.in[org.make.core.question.QuestionId]((DefaultPersistentTagService.this.tagAlias.field("questionId"): scalikejdbc.interpolation.SQLSyntax), qIds)(org.make.api.technical.ScalikeSupport.questionIdBinders)))))).map[Int](((x$18: scalikejdbc.WrappedResultSet) => x$18.int(1))).single; { <artifact> val x$4: scalikejdbc.DBSession = session; <artifact> val x$5: scalikejdbc.SQL[Int,scalikejdbc.HasExtractor] =:= scalikejdbc.SQL[Int,scalikejdbc.HasExtractor] @scala.reflect.internal.annotations.uncheckedBounds = GeneralizedTypeConstraintsForWithExtractor.this.=:=.tpEquals[scalikejdbc.SQL[Int,scalikejdbc.HasExtractor]]; <artifact> val x$6: scalikejdbc.ConnectionPoolContext = stabilizer$1.apply$default$2(); stabilizer$1.apply()(x$4, x$6, x$5) }.getOrElse[Int](0) }); <artifact> val x$8: scalikejdbc.TxBoundary[Int] @scala.reflect.internal.annotations.uncheckedBounds = qual$1.retryableTx$default$2[Int](x$7); qual$1.retryableTx[Int](x$7)(x$8) })(context)
320 19591 11713 - 11975 Apply org.make.core.tag.Tag.apply org.make.core.tag.Tag.apply(x$1, x$2, x$3, x$4, x$7, x$5, x$6)
321 20515 11734 - 11743 Apply org.make.core.tag.TagId.apply org.make.core.tag.TagId.apply(PersistentTag.this.id)
321 21521 11740 - 11742 Select org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.id PersistentTag.this.id
322 19613 11761 - 11766 Select org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.label PersistentTag.this.label
323 21173 11786 - 11793 Select org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.display PersistentTag.this.display
324 20733 11825 - 11834 Select org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.tagTypeId PersistentTag.this.tagTypeId
324 19686 11815 - 11835 Apply org.make.core.tag.TagTypeId.apply org.make.core.tag.TagTypeId.apply(PersistentTag.this.tagTypeId)
325 20362 11859 - 11890 Apply scala.Option.map PersistentTag.this.operationId.map[org.make.core.operation.OperationId](((x$19: String) => org.make.core.operation.OperationId.apply(x$19)))
325 21332 11875 - 11889 Apply org.make.core.operation.OperationId.apply org.make.core.operation.OperationId.apply(x$19)
326 21529 11913 - 11942 Apply scala.Option.map PersistentTag.this.questionId.map[org.make.core.question.QuestionId](((x$20: String) => org.make.core.question.QuestionId.apply(x$20)))
326 19845 11928 - 11941 Apply org.make.core.question.QuestionId.apply org.make.core.question.QuestionId.apply(x$20)
327 20521 11961 - 11967 Select org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.weight PersistentTag.this.weight
334 21176 12147 - 12260 Apply scala.collection.SeqFactory.Delegate.apply org.scalatest.testsuite scala.`package`.Seq.apply[String]("id", "label", "display", "tag_type_id", "operation_id", "weight", "created_at", "updated_at", "question_id")
336 20649 12306 - 12390 Literal <nosymbol> "id,label,display,tag_type_id,operation_id,weight,created_at,updated_at,question_id"
338 19687 12429 - 12434 Literal <nosymbol> org.scalatest.testsuite "tag"
347 20282 12765 - 13364 Apply org.make.api.tag.DefaultPersistentTagServiceComponent.PersistentTag.apply DefaultPersistentTagServiceComponent.this.PersistentTag.apply(resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("id"): scalikejdbc.interpolation.SQLSyntax))), resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("label"): scalikejdbc.interpolation.SQLSyntax))), org.make.core.tag.TagDisplay.apply(resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("display"): scalikejdbc.interpolation.SQLSyntax)))), resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax))), resultSet.stringOpt(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("operationId"): scalikejdbc.interpolation.SQLSyntax))), resultSet.stringOpt(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("questionId"): scalikejdbc.interpolation.SQLSyntax))), resultSet.float(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("weight"): scalikejdbc.interpolation.SQLSyntax))), resultSet.zonedDateTime(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("createdAt"): scalikejdbc.interpolation.SQLSyntax))), resultSet.zonedDateTime(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("updatedAt"): scalikejdbc.interpolation.SQLSyntax))))
348 21337 12816 - 12832 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("id"): scalikejdbc.interpolation.SQLSyntax))
348 20317 12799 - 12833 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("id"): scalikejdbc.interpolation.SQLSyntax)))
349 21511 12851 - 12888 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("label"): scalikejdbc.interpolation.SQLSyntax)))
349 21956 12868 - 12887 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("label"): scalikejdbc.interpolation.SQLSyntax))
350 20481 12936 - 12957 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("display"): scalikejdbc.interpolation.SQLSyntax))
350 21135 12908 - 12959 Apply org.make.core.technical.enumeratum.FallbackingCirceEnum.apply org.make.core.tag.TagDisplay.apply(resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("display"): scalikejdbc.interpolation.SQLSyntax))))
350 19502 12919 - 12958 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("display"): scalikejdbc.interpolation.SQLSyntax)))
351 19651 12981 - 13022 Apply scalikejdbc.WrappedResultSet.string resultSet.string(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax)))
351 20655 12998 - 13021 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("tagTypeId"): scalikejdbc.interpolation.SQLSyntax))
352 20320 13046 - 13092 Apply scalikejdbc.WrappedResultSet.stringOpt resultSet.stringOpt(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("operationId"): scalikejdbc.interpolation.SQLSyntax)))
352 21293 13066 - 13091 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("operationId"): scalikejdbc.interpolation.SQLSyntax))
353 21518 13115 - 13160 Apply scalikejdbc.WrappedResultSet.stringOpt resultSet.stringOpt(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("questionId"): scalikejdbc.interpolation.SQLSyntax)))
353 21927 13135 - 13159 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("questionId"): scalikejdbc.interpolation.SQLSyntax))
354 19474 13179 - 13216 Apply scalikejdbc.WrappedResultSet.float resultSet.float(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("weight"): scalikejdbc.interpolation.SQLSyntax)))
354 20440 13195 - 13215 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("weight"): scalikejdbc.interpolation.SQLSyntax))
355 20138 13238 - 13286 Apply scalikejdbc.WrappedResultSet.zonedDateTime resultSet.zonedDateTime(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("createdAt"): scalikejdbc.interpolation.SQLSyntax)))
355 21141 13262 - 13285 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("createdAt"): scalikejdbc.interpolation.SQLSyntax))
356 21329 13308 - 13356 Apply scalikejdbc.WrappedResultSet.zonedDateTime resultSet.zonedDateTime(scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("updatedAt"): scalikejdbc.interpolation.SQLSyntax)))
356 19768 13332 - 13355 ApplyImplicitView scalikejdbc.interpolation.Implicits.scalikejdbcSQLSyntaxToStringImplicitDef scalikejdbc.`package`.scalikejdbcSQLSyntaxToStringImplicitDef((tagResultName.field("updatedAt"): scalikejdbc.interpolation.SQLSyntax))