Build Logs

mrumkovskis/tresql • 3.8.0-RC2:2025-11-27

Errors

3

Warnings

1965

Total Lines

2347

1##################################
2Clonning https://github.com/mrumkovskis/tresql.git into /build/repo using revision v13.0.0
3##################################
4Note: switching to '4831fe1fa491a565b9bdf6e5cfde31904eacc5b5'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Using target Scala version for migration: 3.7.4
22Migrating project for -source:3.4 using Scala 3.7.4
23----
24Preparing build for 3.7.4
25Would try to apply common scalacOption (best-effort, sbt/mill only):
26Append: -rewrite,REQUIRE:-source:3.4-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28
29Try apply source patch:
30Path: build.sbt
31Pattern: sys.error("Java 11 is required for this project
32Replacement: println("Java 11 is required for this project
33Starting compilation server
34Compiling project (Scala 3.7.3, JVM (21))
35Compiled project (Scala 3.7.3, JVM (21))
36Successfully applied pattern 'sys.error("Java 11 is required for this project' in build.sbt
37----
38Starting build for 3.7.4
39Execute tests: false
40sbt project found:
41No prepare script found for project mrumkovskis/tresql
42##################################
43Scala version: 3.7.4
44Targets: org.tresql%tresql
45Project projectConfig: {"projects":{"exclude":[],"overrides":{"tresql":{"tests":"disabled"}}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"sys.error(\"Java 11 is required for this project","replaceWith":"println(\"Java 11 is required for this project"}]}
46##################################
47Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
48Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
49[sbt_options] declare -a sbt_options=()
50[process_args] java_version = '21'
51[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
52# Executing command line:
53java
54-Dfile.encoding=UTF-8
55-Dcommunitybuild.scala=3.7.4
56-Dcommunitybuild.project.dependencies.add=
57-Xmx7G
58-Xms4G
59-Xss8M
60-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
61-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
62-jar
63/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
64"setCrossScalaVersions 3.7.4"
65"++3.7.4 -v"
66"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
67"set every credentials := Nil"
68"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
69"removeScalacOptionsStartingWith -P:wartremover"
70
71moduleMappings
72"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{"tresql":{"tests":"disabled"}}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"sys.error(\"Java 11 is required for this project","replaceWith":"println(\"Java 11 is required for this project"}]}""" org.tresql%tresql"
73
74[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
75[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 21)
76[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
77[info] loading project definition from /build/repo/project
78[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
79[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
80[info] Compilation completed in 8.592s.
81[info] done compiling
82[info] loading settings for project tresql from build.sbt, version.sbt...
83Java 11 is required for this project. Found 21 instead
84[info] set current project to tresql (in build file:/build/repo/)
85Execute setCrossScalaVersions: 3.7.4
86Java 11 is required for this project. Found 21 instead
87OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in core/crossScalaVersions
88OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in tresql/crossScalaVersions
89OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in macros/crossScalaVersions
90OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in it/crossScalaVersions
91[info] set current project to tresql (in build file:/build/repo/)
92[info] Setting Scala version to 3.7.4 on 4 projects.
93[info] Switching Scala version on:
94[info] * tresql (3.7.4, 2.13.17, 2.12.20)
95[info] core (3.7.4, 2.13.17, 2.12.20)
96[info] macros (3.7.4, 2.13.17, 2.12.20)
97[info] it (3.7.4, 2.13.17, 2.12.20)
98[info] Excluding projects:
99[info] Reapplying settings...
100Java 11 is required for this project. Found 21 instead
101[info] set current project to tresql (in build file:/build/repo/)
102Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
103[info] Reapplying settings...
104Java 11 is required for this project. Found 21 instead
105[info] set current project to tresql (in build file:/build/repo/)
106[info] Defining Global / credentials, core / credentials and 2 others.
107[info] The new values will be used by allCredentials, core / allCredentials and 17 others.
108[info] Run `last` for details.
109[info] Reapplying settings...
110Java 11 is required for this project. Found 21 instead
111[info] set current project to tresql (in build file:/build/repo/)
112Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
113[info] Reapplying settings...
114OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
115
116 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
117 Did you mean allExcludeDependencies ?
118 , retry without global scopes
119[info] Reapplying settings...
120Java 11 is required for this project. Found 21 instead
121[info] set current project to tresql (in build file:/build/repo/)
122Execute removeScalacOptionsStartingWith: -P:wartremover
123[info] Reapplying settings...
124Java 11 is required for this project. Found 21 instead
125[info] set current project to tresql (in build file:/build/repo/)
126[success] Total time: 0 s, completed Nov 27, 2025, 9:47:25 PM
127Build config: {"projects":{"exclude":[],"overrides":{"tresql":{"tests":"disabled"}}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"sys.error(\"Java 11 is required for this project","replaceWith":"println(\"Java 11 is required for this project"}]}
128Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map(tresql -> ProjectOverrides(Some(Disabled)))),CompileOnly,List()))
129Starting build...
130Projects: Set(tresql, core, macros)
131Starting build for ProjectRef(file:/build/repo/,tresql) (tresql)... [0/3]
132OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
133OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
134OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
135OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
136Compile scalacOptions: -unchecked, -language:dynamics, -language:postfixOps, -language:implicitConversions, -language:reflectiveCalls, -language:existentials, -explain, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
137[info] compiling 28 Scala sources and 1 Java source to /build/repo/core/target/scala-3.7.4/classes ...
138[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:68:64
139[warn] 68 | def qualifiedIdent: MemParser[Ident] = rep1sep(ident, ".") ^^ Ident named "qualified-ident"
140[warn] | ^^^^^
141[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Ident.apply` explicitly.
142[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:69:73
143[warn] 69 | def qualifiedIdentAll: MemParser[IdentAll] = qualifiedIdent <~ ".*" ^^ IdentAll named "ident-all"
144[warn] | ^^^^^^^^
145[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.IdentAll.apply` explicitly.
146[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:94:56
147[warn] 94 | def braces: MemParser[Braces] = "(" ~> expr <~ ")" ^^ Braces named "braces"
148[warn] | ^^^^^^
149[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Braces.apply` explicitly.
150[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:135:65
151[warn] 135 | def array: MemParser[Arr] = "[" ~> repsep(expr, ",") <~ "]" ^^ Arr named "array"
152[warn] | ^^^
153[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Arr.apply` explicitly.
154[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:148:51
155[warn] 148 | def filters: MemParser[Filters] = rep(filter) ^^ Filters named "filters"
156[warn] | ^^^^^^^
157[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Filters.apply` explicitly.
158[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:270:81
159[warn] 270 | def order: MemParser[Ord] = ("#" ~ "(") ~> rep1sep(orderMember, ",") <~ ")" ^^ Ord named "order"
160[warn] | ^^^
161[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Ord.apply` explicitly.
162[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:343:57
163[warn] 343 | def values: MemParser[Values] = rep1sep(array, ",") ^^ Values named "values"
164[warn] | ^^^^^^
165[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Values.apply` explicitly.
166[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:357:94
167[warn] 357 | opt(opt(ident|NULL) <~ ":") ^^ (_.map(_.map { case Null => null case s: String => s }.map(Db).getOrElse(Db("")))) named "opt-db"
168[warn] | ^^
169[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Db.apply` explicitly.
170[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/Env.scala:421:59
171[warn] 421 | protected def defaultDialect: CoreTypes.Dialect = { case e => e.defaultSQL }
172[warn] | ^
173[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
174[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:146:19
175[warn] 146 | case VarExpr(n, Nil, opt, allowArrBind) => VarExpr("keys", List(i.toString, n), opt, allowArrBind)
176[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
177[warn] | Unreachable case
178[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:458:49
179[warn] 458 | if (keyVals.nonEmpty) keyVals.partition(_._1.isInstanceOf[RefKeyCol]) match {
180[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181[warn] | match may not be exhaustive.
182[warn] |
183[warn] | It would fail on pattern case: (_, _)
184[warn] |---------------------------------------------------------------------------
185[warn] | Explanation (enabled by `-explain`)
186[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
187[warn] | There are several ways to make the match exhaustive:
188[warn] | - Add missing cases as shown in the warning
189[warn] | - If an extractor always return Some(...), write Some[X] for its return type
190[warn] | - Add a case _ => ... at the end to match all remaining cases
191[warn] ---------------------------------------------------------------------------
192[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:600:6
193[warn] 600 | ctx.view.properties.flatMap {
194[warn] | ^
195[warn] | match may not be exhaustive.
196[warn] |
197[warn] | It would fail on pattern case: (_, _)
198[warn] 601 | case OrtMetadata.Property(col, _, _, _, _) if refsAndPk.exists(_.name == col) => Nil
199[warn] 602 | case OrtMetadata.Property(col, KeyValue(_, TresqlValue(valueTresql), updValOpt), _, forInsert, forUpdate) =>
200[warn] 603 | List(ColVal(table.colOption(col).map(_.name).orNull,
201[warn] 604 | valueTresql, forInsert, forUpdate, updValOpt.map(_.tresql)))
202[warn] 605 | case OrtMetadata.Property(col, KeyValue(_, AutoValue(valueTresql), updValOpt), _, forInsert, forUpdate) =>
203[warn] 606 | List(ColVal(table.colOption(col).map(_.name).orNull,
204[warn] 607 | autoValue(table, col, valueTresql, false), forInsert, forUpdate,
205[warn] 608 | updValOpt.map {
206[warn] 609 | case AutoValue(v) => autoValue(table, col, v, true)
207[warn] 610 | case v => v.tresql
208[warn] 611 | }))
209[warn] 612 | case OrtMetadata.Property(col, TresqlValue(tresql), _, forInsert, forUpdate) =>
210[warn] 613 | val (t, c) = col.split("\\.") match {
211[warn] 614 | case Array(a, b) => (a, b)
212[warn] 615 | case Array(a) => (table.name, a)
213[warn] 616 | case a => (a.dropRight(1).mkString("."), a.last)
214[warn] 617 | }
215[warn] 618 | if (t == table.name)
216[warn] 619 | List(ColVal(table.colOption(c).map(_.name).orNull, tresql, forInsert, forUpdate))
217[warn] 620 | else Nil
218[warn] 621 | case OrtMetadata.Property(prop, ViewValue(v, so), optional, forInsert, forUpdate) =>
219[warn] 622 | if (children_save_tresql != null) {
220[warn] 623 | val isOptional = optional || hasOptionalFields(v)
221[warn] 624 | val chtresql = children_save_tresql(prop, v,
222[warn] 625 | ParentRef(table.name, ctx.refToParent) :: ctx.parents, so, isOptional, forInsert, forUpdate)
223[warn] 626 | val chtresql_alias = Option(prop).map(p => s" '$p'").mkString
224[warn] 627 | List(ColVal(Option(chtresql).map(_ + chtresql_alias).orNull, null, forInsert, forUpdate))
225[warn] 628 | } else Nil
226[warn] 629 | case OrtMetadata.Property(refColName, LookupViewValue(propName, lookupView), optional, forInsert, forUpdate) =>
227[warn] 630 | (for {
228[warn] 631 | // check whether refColName exists in table, only then generate lookup tresql
229[warn] 632 | _ <- table.colOption(refColName)
230[warn] 633 | lookupTableName <- lookupView.saveTo.headOption.map(_.table)
231[warn] 634 | lookupTable <- tresqlMetadata(lookupView.db).tableOption(lookupTableName)
232[warn] 635 | } yield {
233[warn] 636 | def pkCol(t: metadata.Table) = t.key.cols match { case List(c) => c case _ => null }
234[warn] 637 | def saveTo(v: View, tn: String) = v.saveTo.find(_.table == tn)
235[warn] 638 | def idSelExpr(v: View, t: metadata.Table) = {
236[warn] 639 | def key_val(v: View, tn: String) = {
237[warn] 640 | val key = saveTo(v, tn).map(_.key.toSet).getOrElse(Set())
238[warn] 641 | v.properties.flatMap {
239[warn] 642 | case OrtMetadata.Property(col, TresqlValue(v), _, _, _) if key.contains(col) =>
240[warn] 643 | List((col, v))
241[warn] 644 | case OrtMetadata.Property(col, KeyValue(where, _, _), _, _, _) if key.contains(col) =>
242[warn] 645 | List((col, where))
243[warn] 646 | case _ => Nil
244[warn] 647 | }
245[warn] 648 | }
246[warn] 649 | val pk_col = pkCol(t)
247[warn] 650 | if (pk_col != null) {
248[warn] 651 | val where = s"${key_val(v, t.name).map { case (k, v) => s"$k = $v"}.mkString(" & ") }"
249[warn] 652 | if (where.nonEmpty) s"(${t.name}[$where]{$pk_col})"
250[warn] 653 | else "null"
251[warn] 654 | } else "null"
252[warn] 655 | }
253[warn] 656 | def idProp(v: View, t: metadata.Table) = {
254[warn] 657 | Option(pkCol(t)).flatMap { pk =>
255[warn] 658 | v.properties.collectFirst {
256[warn] 659 | case OrtMetadata.Property(`pk`, TresqlValue(v), _, _, _) =>
257[warn] 660 | if (v.startsWith(":")) v.substring(1) else pk
258[warn] 661 | case OrtMetadata.Property(`pk`, KeyValue(_, ov, _), _, _, _) =>
259[warn] 662 | val v = ov.tresql
260[warn] 663 | if (v.startsWith(":")) v.substring(1) else pk
261[warn] 664 | }
262[warn] 665 | }.orNull
263[warn] 666 | }
264[warn] 667 | val idPropName = idProp(lookupView, lookupTable)
265[warn] 668 | val update = save_tresql(null, lookupView, Nil,
266[warn] 669 | SaveOptions(true, false, true), false, true, true, update_tresql)
267[warn] 670 | val insert = save_tresql(null, lookupView, Nil,
268[warn] 671 | SaveOptions(true, false, true), false ,true, true, insert_tresql)
269[warn] 672 | val lookupUpsert = {
270[warn] 673 | val tr = s"|_upsert($update, $insert)"
271[warn] 674 | if (hasOptionalFields(lookupView)) s"_deferred_build($tr)"
272[warn] 675 | else tr
273[warn] 676 | }
274[warn] 677 | val lookupIdSel = idSelExpr(lookupView, lookupTable)
275[warn] 678 | val (lookupTresql, refColTresql) = {
276[warn] 679 | val tr = s":$refColName = |_lookup_upsert('$propName', ${
277[warn] 680 | if (idPropName == null) "null" else s"'$idPropName'"}, $lookupUpsert, $lookupIdSel)"
278[warn] 681 | if (optional)
279[warn] 682 | (s"_deferred_build(if_defined(:$propName?, $tr))", s"if_defined(:$propName?, :$refColName)")
280[warn] 683 | else
281[warn] 684 | (tr, s":$refColName")
282[warn] 685 | }
283[warn] 686 | // TODO lookupTresql will be executed always regardless of forInsert, forUpdate settings
284[warn] 687 | List(lookupTresql, ColVal(refColName, refColTresql, forInsert, forUpdate))
285[warn] 688 | }).getOrElse(Nil)
286[warn] 689 | case OrtMetadata.Property(col, AutoValue(tresql), _, forInsert, forUpdate) =>
287[warn] 690 | List(ColVal(table.colOption(col).map(_.name).orNull,
288[warn] 691 | autoValue(table, col, tresql, false), forInsert, forUpdate))
289[warn] 692 | }.partition(_.isInstanceOf[String]) match {
290[warn] |---------------------------------------------------------------------------
291[warn] | Explanation (enabled by `-explain`)
292[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
293[warn] | There are several ways to make the match exhaustive:
294[warn] | - Add missing cases as shown in the warning
295[warn] | - If an extractor always return Some(...), write Some[X] for its return type
296[warn] | - Add a case _ => ... at the end to match all remaining cases
297[warn] ---------------------------------------------------------------------------
298[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:679:66
299[warn] 679 | if (filter != null) filter foreach (transform (_, {case id: BaseVarExpr => id(); id}))
300[warn] | ^^^^^^^^^^^^^^^
301[warn] | Unreachable case
302[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1155:21
303[warn] 1155 | case ie @ IdentExpr(id1 :: id2 :: rest) =>
304[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
305[warn] | Unreachable case
306[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1236:13
307[warn] 1236 | case ArrExpr(List(b @ ConstExpr(true | false))) => b
308[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
309[warn] | Unreachable case
310[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1237:13
311[warn] 1237 | case a @ ArrExpr(List(_: ConstExpr | _: VarExpr | _: ResExpr)) => BinExpr("=",
312[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
313[warn] | Unreachable case
314[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1241:13
315[warn] 1241 | case a: ArrExpr if a.elements.size > 1 => InExpr(IdentExpr(List(pkTable.aliasOrName,
316[warn] | ^^^^^^^^^^
317[warn] | Unreachable case
318[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1243:13
319[warn] 1243 | case ArrExpr(List(f)) => f
320[warn] | ^^^^^^^^^^^^^^^^
321[warn] | Unreachable case
322[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1270:15
323[warn] 1270 | case v: QueryBuilder#BaseVarExpr =>
324[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
325[warn] | Unreachable case
326[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:9:11
327[warn] 9 | case e if e.builder != this => e.builder.transform(e, f)
328[warn] | ^
329[warn] | Unreachable case
330[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:11:11
331[warn] 11 | case ArrExpr(e) => ArrExpr(e map cf)
332[warn] | ^^^^^^^^^^
333[warn] | Unreachable case
334[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:12:11
335[warn] 12 | case BinExpr(o, lop, rop) => BinExpr(o, cf(lop), cf(rop))
336[warn] | ^^^^^^^^^^^^^^^^^^^^
337[warn] | Unreachable case
338[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:13:11
339[warn] 13 | case BracesExpr(b) => BracesExpr(cf(b))
340[warn] | ^^^^^^^^^^^^^
341[warn] | Unreachable case
342[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:14:11
343[warn] 14 | case ColExpr(col, alias, sepQuery, hidden) => ColExpr(cf(col), alias, sepQuery, hidden)
344[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
345[warn] | Unreachable case
346[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:15:11
347[warn] 15 | case cols: ColsExpr => cols.copy(cols = (cols.cols map cf).asInstanceOf[List[ColExpr]])
348[warn] | ^^^^^^^^^^^^^^
349[warn] | Unreachable case
350[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:16:11
351[warn] 16 | case FunExpr(n, p, d, o, f) => FunExpr(n, p map cf, d, o map cf, f map cf)
352[warn] | ^^^^^^^^^^^^^^^^^^^^^^
353[warn] | Unreachable case
354[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:17:11
355[warn] 17 | case FunAsTableExpr(e, cd, ord) => FunAsTableExpr(cf(e), cd.map(cf(_).asInstanceOf[TableColDefsExpr]), ord)
356[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
357[warn] | Unreachable case
358[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:18:11
359[warn] 18 | case TableColDefsExpr(tcd) => TableColDefsExpr(tcd.map(cf(_).asInstanceOf[TableColDefExpr]))
360[warn] | ^^^^^^^^^^^^^^^^^^^^^
361[warn] | Unreachable case
362[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:19:11
363[warn] 19 | case Group(e, h) => Group(e map cf, cf(h))
364[warn] | ^^^^^^^^^^^
365[warn] | Unreachable case
366[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:20:11
367[warn] 20 | case HiddenColRefExpr(e, typ) => HiddenColRefExpr(cf(e), typ)
368[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
369[warn] | Unreachable case
370[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:21:11
371[warn] 21 | case InExpr(lop, rop, not) => InExpr(cf(lop), rop map cf, not)
372[warn] | ^^^^^^^^^^^^^^^^^^^^^
373[warn] | Unreachable case
374[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:22:11
375[warn] 22 | case wi: WithInsertExpr => new WithInsertExpr(
376[warn] | ^^^^^^^^^^^^^^^^^^
377[warn] | Unreachable case
378[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:24:11
379[warn] 24 | case i: InsertExpr => new InsertExpr(cf(i.table).asInstanceOf[IdentExpr], i.alias,
380[warn] | ^^^^^^^^^^^^^
381[warn] | Unreachable case
382[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:27:11
383[warn] 27 | case Order(exprs) => Order(exprs map (e => (cf(e._1), cf(e._2), cf(e._3))))
384[warn] | ^^^^^^^^^^^^
385[warn] | Unreachable case
386[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:28:11
387[warn] 28 | case SelectExpr(tables, filter, cols, distinct, group, order,
388[warn] | ^
389[warn] | Unreachable case
390[warn] 29 | offset, limit, aliases, parentJoin) =>
391[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:33:11
392[warn] 33 | case Table(texpr, alias, join, outerJoin, nullable, schema) =>
393[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
394[warn] | Unreachable case
395[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:35:11
396[warn] 35 | case TableJoin(default, expr, noJoin, defaultJoinCols) =>
397[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
398[warn] | Unreachable case
399[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:37:11
400[warn] 37 | case WithTableExpr(n, c, r, q) => WithTableExpr(n, c, r, cf(q))
401[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^
402[warn] | Unreachable case
403[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:38:11
404[warn] 38 | case WithSelectExpr(tables, query) =>
405[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
406[warn] | Unreachable case
407[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:40:11
408[warn] 40 | case WithBinExpr(tables, query) =>
409[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
410[warn] | Unreachable case
411[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:42:11
412[warn] 42 | case UnExpr(o, op) => UnExpr(o, cf(op))
413[warn] | ^^^^^^^^^^^^^
414[warn] | Unreachable case
415[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:43:11
416[warn] 43 | case CastExpr(e, t) => CastExpr(cf(e), t)
417[warn] | ^^^^^^^^^^^^^^
418[warn] | Unreachable case
419[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:44:11
420[warn] 44 | case u: UpdateExpr => new UpdateExpr(cf(u.table).asInstanceOf[IdentExpr], u.alias,
421[warn] | ^^^^^^^^^^^^^
422[warn] | Unreachable case
423[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:46:11
424[warn] 46 | case d: DeleteExpr => //put delete at the end since it is superclass of insert and update
425[warn] | ^^^^^^^^^^^^^
426[warn] | Unreachable case
427[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:49:11
428[warn] 49 | case ValuesExpr(vals) => ValuesExpr(vals map cf)
429[warn] | ^^^^^^^^^^^^^^^^
430[warn] | Unreachable case
431[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:50:11
432[warn] 50 | case vfs: ValuesFromSelectExpr => vfs.copy(select = cf(vfs.select).asInstanceOf[SelectExpr])
433[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^
434[warn] | Unreachable case
435[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:51:11
436[warn] 51 | case InsertConflictExpr(ct, cfl, c, v, f, a, cd) =>
437[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
438[warn] | Unreachable case
439[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:53:11
440[warn] 53 | case e => e
441[warn] | ^
442[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
443[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/compiling/Compiler.scala:584:8
444[warn] 584 | dml match {
445[warn] | ^^^
446[warn] |match may not be exhaustive.
447[warn] |
448[warn] |It would fail on pattern case: org.tresql.ast.CompilerAst.WithDMLDef(_, _)
449[warn] |---------------------------------------------------------------------------
450[warn] | Explanation (enabled by `-explain`)
451[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
452[warn] | There are several ways to make the match exhaustive:
453[warn] | - Add missing cases as shown in the warning
454[warn] | - If an extractor always return Some(...), write Some[X] for its return type
455[warn] | - Add a case _ => ... at the end to match all remaining cases
456[warn] ---------------------------------------------------------------------------
457[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:22:9
458[warn] 22 | case v: QueryBuilder#VarExpr => v.defaultSQL match {
459[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
460[warn] | Unreachable case
461[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:31:9
462[warn] 31 | case r: QueryBuilder#ResExpr => r.defaultSQL + s"/*${r.name}*/"
463[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
464[warn] | Unreachable case
465[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:32:9
466[warn] 32 | case id: QueryBuilder#IdExpr => id.defaultSQL + s"/*#${id.seqName}*/"
467[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
468[warn] | Unreachable case
469[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:33:9
470[warn] 33 | case idref: QueryBuilder#IdRefExpr => idref.defaultSQL + s"/*:#${idref.seqName}*/"
471[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
472[warn] | Unreachable case
473[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:34:9
474[warn] 34 | case idrefid: ORT#IdRefIdExpr => idrefid.defaultSQL + s"/*:#${idrefid.idRefSeq}#${idrefid.idSeq}*/"
475[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
476[warn] | Unreachable case
477[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:38:9
478[warn] 38 | case _: QueryBuilder#SQLVendorExpr => vendor
479[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
480[warn] | Unreachable case
481[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:39:9
482[warn] 39 | case f: QueryBuilder#FunExpr
483[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
484[warn] | Unreachable case
485[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:46:9
486[warn] 46 | case f: QueryBuilder#FunExpr if f.name == "lower" && f.params.size == 1 => "lcase(" + f.params.head.sql + ")"
487[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
488[warn] | Unreachable case
489[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:47:9
490[warn] 47 | case f: QueryBuilder#FunExpr if f.name == "translate" && f.params.size == 3 =>
491[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
492[warn] | Unreachable case
493[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:51:9
494[warn] 51 | case f: QueryBuilder#FunExpr if f.name == "nextval" && f.params.size == 1 =>
495[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
496[warn] | Unreachable case
497[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:55:9
498[warn] 55 | case c: QueryBuilder#CastExpr => s"cast(${c.exp.sql} as ${c.builder.env.metadata.to_sql_type("hsqldb", c.typ) match {
499[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
500[warn] | Unreachable case
501[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:60:9
502[warn] 60 | case c: QueryBuilder#TableColDefExpr => c.name
503[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
504[warn] | Unreachable case
505[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:61:9
506[warn] 61 | case b: QueryBuilder#BinExpr if b.op == "`~`" => s"regexp_matches(${b.lop.sql}, ${b.rop.sql})"
507[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
508[warn] | Unreachable case
509[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:62:9
510[warn] 62 | case s: QueryBuilder#SelectExpr if s.tables.size == 1 &&
511[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
512[warn] | Unreachable case
513[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:69:9
514[warn] 69 | case i: QueryBuilder#InsertExpr if i.insertConflict != null =>
515[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
516[warn] | Unreachable case
517[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:130:10
518[warn] 130 | e match {
519[warn] | ^
520[warn] |match may not be exhaustive.
521[warn] |
522[warn] |It would fail on pattern case: org.tresql.QueryBuilder#SelectExpr(_, _, _, _, _, _, _, _, _, _)
523[warn] |---------------------------------------------------------------------------
524[warn] | Explanation (enabled by `-explain`)
525[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
526[warn] | There are several ways to make the match exhaustive:
527[warn] | - Add missing cases as shown in the warning
528[warn] | - If an extractor always return Some(...), write Some[X] for its return type
529[warn] | - Add a case _ => ... at the end to match all remaining cases
530[warn] ---------------------------------------------------------------------------
531[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:100:6
532[warn] 100 | e match {
533[warn] | ^
534[warn] |match may not be exhaustive.
535[warn] |
536[warn] |It would fail on pattern case: _: org.tresql.QueryBuilder#PrimitiveExpr
537[warn] |---------------------------------------------------------------------------
538[warn] | Explanation (enabled by `-explain`)
539[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
540[warn] | There are several ways to make the match exhaustive:
541[warn] | - Add missing cases as shown in the warning
542[warn] | - If an extractor always return Some(...), write Some[X] for its return type
543[warn] | - Add a case _ => ... at the end to match all remaining cases
544[warn] ---------------------------------------------------------------------------
545[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:159:47
546[warn] 159 | val colNames = i.cols.collect { case b.ColExpr(b.IdentExpr(name), _, _, _) => name.last } toSet
547[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
548[warn] | Unreachable case
549[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:141:9
550[warn] 141 | case c: QueryBuilder#ColExpr if c.alias != null => Option(c.col).map(_.sql).getOrElse("null") + " as " + c.alias
551[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
552[warn] | Unreachable case
553[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:142:9
554[warn] 142 | case c: QueryBuilder#CastExpr => c.exp.sql + "::" + c.builder.env.metadata.to_sql_type("postgresql", c.typ)
555[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
556[warn] | Unreachable case
557[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:143:9
558[warn] 143 | case c: QueryBuilder#TableColDefExpr => c.name +
559[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
560[warn] | Unreachable case
561[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:145:9
562[warn] 145 | case f: QueryBuilder#FunExpr if f.name == "decode" && f.params.size > 2 =>
563[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
564[warn] | Unreachable case
565[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:150:9
566[warn] 150 | case i: QueryBuilder#InsertExpr =>
567[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
568[warn] | Unreachable case
569[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/macro.scala:191:13
570[warn] 191 | case b.IdentExpr(n) => n.mkString(".")
571[warn] | ^^^^^^^^^^^^^^
572[warn] | Unreachable case
573[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/macro.scala:192:13
574[warn] 192 | case x => sys.error(s"Unrecognized key type - $x")
575[warn] | ^
576[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
577[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:62:9
578[warn] 62 | case i: Int => IntConst(i)
579[warn] | ^^^^^^
580[warn] | Unreachable case
581[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:63:9
582[warn] 63 | case x => sys.error(s"Unexpected const value: '$x'. Expected `String` or `Boolean` or `BigDecimal` or `Int`")
583[warn] | ^
584[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
585[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:73:4
586[warn] 73 | case "?" => Variable("?", Nil, opt = false)
587[warn] | ^
588[warn] | match may not be exhaustive.
589[warn] |
590[warn] | It would fail on pattern case: Parsers.this.~(Nil, _), _: String
591[warn] |----------------------------------------------------------------------------
592[warn] | Explanation (enabled by `-explain`)
593[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
594[warn] | There are several ways to make the match exhaustive:
595[warn] | - Add missing cases as shown in the warning
596[warn] | - If an extractor always return Some(...), write Some[X] for its return type
597[warn] | - Add a case _ => ... at the end to match all remaining cases
598[warn] ----------------------------------------------------------------------------
599[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:140:6
600[warn] 140 | case ";" => NoJoin
601[warn] | ^
602[warn] | match may not be exhaustive.
603[warn] |
604[warn] | It would fail on pattern case: Parsers.this.~(_, _), _: String
605[warn] |---------------------------------------------------------------------------
606[warn] | Explanation (enabled by `-explain`)
607[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
608[warn] | There are several ways to make the match exhaustive:
609[warn] | - Add missing cases as shown in the warning
610[warn] | - If an extractor always return Some(...), write Some[X] for its return type
611[warn] | - Add a case _ => ... at the end to match all remaining cases
612[warn] ---------------------------------------------------------------------------
613[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:285:6
614[warn] 285 | case Null ~ Filters(Nil) ~ None ~ None ~ None => Null //null literal
615[warn] | ^
616[warn] |match may not be exhaustive.
617[warn] |
618[warn] |It would fail on pattern case: Parsers.this.~(~(_, _), org.tresql.ast.Filters(_)), Parsers.this.~(org.tresql.ast.Cols(_, _), None), Parsers.this.~(org.tresql.ast.Cols(_, _), Some(_))
619[warn] |---------------------------------------------------------------------------
620[warn] | Explanation (enabled by `-explain`)
621[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
622[warn] | There are several ways to make the match exhaustive:
623[warn] | - Add missing cases as shown in the warning
624[warn] | - If an extractor always return Some(...), write Some[X] for its return type
625[warn] | - Add a case _ => ... at the end to match all remaining cases
626[warn] ---------------------------------------------------------------------------
627[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:333:6
628[warn] 333 | case name ~ distinct ~ (cols: List[String@unchecked]) ~ exp => WithTable(name, cols, distinct.isEmpty, exp)
629[warn] | ^
630[warn] | match may not be exhaustive.
631[warn] |
632[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _)
633[warn] |---------------------------------------------------------------------------
634[warn] | Explanation (enabled by `-explain`)
635[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
636[warn] | There are several ways to make the match exhaustive:
637[warn] | - Add missing cases as shown in the warning
638[warn] | - If an extractor always return Some(...), write Some[X] for its return type
639[warn] | - Add a case _ => ... at the end to match all remaining cases
640[warn] ---------------------------------------------------------------------------
641[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:376:11
642[warn] 376 | case x => sys.error(s"Unexpected insert parse result: $x")
643[warn] | ^
644[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
645[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:413:8
646[warn] 413 | case (db: Option[Db@unchecked]) ~ (t: Ident) ~ (a: Option[String@unchecked] ) ~ f ~ c ~ v ~ maybeCols =>
647[warn] | ^
648[warn] | match may not be exhaustive.
649[warn] |
650[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _)
651[warn] |---------------------------------------------------------------------------
652[warn] | Explanation (enabled by `-explain`)
653[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
654[warn] | There are several ways to make the match exhaustive:
655[warn] | - Add missing cases as shown in the warning
656[warn] | - If an extractor always return Some(...), write Some[X] for its return type
657[warn] | - Add a case _ => ... at the end to match all remaining cases
658[warn] ---------------------------------------------------------------------------
659[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:500:6
660[warn] 500 | case (objs: List[Obj@unchecked]) ~ _ ~ _ => "Delete tables clause must as the first element have " +
661[warn] | ^
662[warn] |match may not be exhaustive.
663[warn] |
664[warn] |It would fail on pattern case: Parsers.this.~(Parsers.this.~(~(_, _), org.tresql.ast.Arr(_)), _)
665[warn] |---------------------------------------------------------------------------
666[warn] | Explanation (enabled by `-explain`)
667[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
668[warn] | There are several ways to make the match exhaustive:
669[warn] | - Add missing cases as shown in the warning
670[warn] | - If an extractor always return Some(...), write Some[X] for its return type
671[warn] | - Add a case _ => ... at the end to match all remaining cases
672[warn] ---------------------------------------------------------------------------
673[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:534:4
674[warn] 534 | case lop ~ "in" ~ "(" ~ rop => In(lop, rop, not = false)
675[warn] | ^
676[warn] | match may not be exhaustive.
677[warn] |
678[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _: List)
679[warn] |---------------------------------------------------------------------------
680[warn] | Explanation (enabled by `-explain`)
681[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
682[warn] | There are several ways to make the match exhaustive:
683[warn] | - Add missing cases as shown in the warning
684[warn] | - If an extractor always return Some(...), write Some[X] for its return type
685[warn] | - Add a case _ => ... at the end to match all remaining cases
686[warn] ---------------------------------------------------------------------------
687[info] [patched file /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala]
688[info] [patched file /build/repo/core/src/main/scala/org/tresql/java_api/Query.scala]
689[info] [patched file /build/repo/core/src/main/scala/org/tresql/metadata/JDBCMetadata.scala]
690[info] [patched file /build/repo/core/src/main/scala/org/tresql/ast/Ast.scala]
691[info] [patched file /build/repo/core/src/main/scala/org/tresql/Result.scala]
692[info] [patched file /build/repo/core/src/main/scala/org/tresql/CoreTypes.scala]
693[info] [patched file /build/repo/core/src/main/scala/org/tresql/resources/ResourceLoader.scala]
694[info] [patched file /build/repo/core/src/main/scala/org/tresql/ORT.scala]
695[info] [patched file /build/repo/core/src/main/scala/org/tresql/compiling/Compiler.scala]
696[info] [patched file /build/repo/core/src/main/scala/org/tresql/Scala3Macro.scala]
697[info] [patched file /build/repo/core/src/main/scala/org/tresql/typed.scala]
698[info] [patched file /build/repo/core/src/main/scala/org/tresql/TypeMapper.scala]
699[info] [patched file /build/repo/core/src/main/scala/org/tresql/parsing/ExpTransformer.scala]
700[info] [patched file /build/repo/core/src/main/scala/org/tresql/Env.scala]
701[info] [patched file /build/repo/core/src/main/scala/org/tresql/dialects.scala]
702[info] [patched file /build/repo/core/src/main/scala/org/tresql/Metadata.scala]
703[info] [patched file /build/repo/core/src/main/scala/org/tresql/macro.scala]
704[info] [patched file /build/repo/core/src/main/scala/org/tresql/compiling/CompilerMetadata.scala]
705[info] [patched file /build/repo/core/src/main/scala/org/tresql/parsing/MemParsers.scala]
706[info] [patched file /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala]
707[info] [patched file /build/repo/core/src/main/scala/org/tresql/Query.scala]
708[warn] there were 55 deprecation warnings; re-run with -deprecation for details
709[warn] 85 warnings found
710[info] done compiling
711[info] compiling 28 Scala sources and 1 Java source to /build/repo/core/target/scala-3.7.4/classes ...
712[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:68:64
713[warn] 68 | def qualifiedIdent: MemParser[Ident] = rep1sep(ident, ".") ^^ Ident named "qualified-ident"
714[warn] | ^^^^^
715[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Ident.apply` explicitly.
716[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:69:73
717[warn] 69 | def qualifiedIdentAll: MemParser[IdentAll] = qualifiedIdent <~ ".*" ^^ IdentAll named "ident-all"
718[warn] | ^^^^^^^^
719[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.IdentAll.apply` explicitly.
720[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:94:56
721[warn] 94 | def braces: MemParser[Braces] = "(" ~> expr <~ ")" ^^ Braces named "braces"
722[warn] | ^^^^^^
723[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Braces.apply` explicitly.
724[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:135:65
725[warn] 135 | def array: MemParser[Arr] = "[" ~> repsep(expr, ",") <~ "]" ^^ Arr named "array"
726[warn] | ^^^
727[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Arr.apply` explicitly.
728[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:148:51
729[warn] 148 | def filters: MemParser[Filters] = rep(filter) ^^ Filters named "filters"
730[warn] | ^^^^^^^
731[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Filters.apply` explicitly.
732[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:270:81
733[warn] 270 | def order: MemParser[Ord] = ("#" ~ "(") ~> rep1sep(orderMember, ",") <~ ")" ^^ Ord named "order"
734[warn] | ^^^
735[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Ord.apply` explicitly.
736[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:343:57
737[warn] 343 | def values: MemParser[Values] = rep1sep(array, ",") ^^ Values named "values"
738[warn] | ^^^^^^
739[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Values.apply` explicitly.
740[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:357:94
741[warn] 357 | opt(opt(ident|NULL) <~ ":") ^^ (_.map(_.map { case Null => null case s: String => s }.map(Db).getOrElse(Db("")))) named "opt-db"
742[warn] | ^^
743[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Db.apply` explicitly.
744[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/Env.scala:421:59
745[warn] 421 | protected def defaultDialect: CoreTypes.Dialect = { case e => e.defaultSQL }
746[warn] | ^
747[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
748[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:146:19
749[warn] 146 | case VarExpr(n, Nil, opt, allowArrBind) => VarExpr("keys", List(i.toString, n), opt, allowArrBind)
750[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
751[warn] | Unreachable case
752[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:458:49
753[warn] 458 | if (keyVals.nonEmpty) keyVals.partition(_._1.isInstanceOf[RefKeyCol]) match {
754[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
755[warn] | match may not be exhaustive.
756[warn] |
757[warn] | It would fail on pattern case: (_, _)
758[warn] |---------------------------------------------------------------------------
759[warn] | Explanation (enabled by `-explain`)
760[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
761[warn] | There are several ways to make the match exhaustive:
762[warn] | - Add missing cases as shown in the warning
763[warn] | - If an extractor always return Some(...), write Some[X] for its return type
764[warn] | - Add a case _ => ... at the end to match all remaining cases
765[warn] ---------------------------------------------------------------------------
766[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:600:6
767[warn] 600 | ctx.view.properties.flatMap {
768[warn] | ^
769[warn] | match may not be exhaustive.
770[warn] |
771[warn] | It would fail on pattern case: (_, _)
772[warn] 601 | case OrtMetadata.Property(col, _, _, _, _) if refsAndPk.exists(_.name == col) => Nil
773[warn] 602 | case OrtMetadata.Property(col, KeyValue(_, TresqlValue(valueTresql), updValOpt), _, forInsert, forUpdate) =>
774[warn] 603 | List(ColVal(table.colOption(col).map(_.name).orNull,
775[warn] 604 | valueTresql, forInsert, forUpdate, updValOpt.map(_.tresql)))
776[warn] 605 | case OrtMetadata.Property(col, KeyValue(_, AutoValue(valueTresql), updValOpt), _, forInsert, forUpdate) =>
777[warn] 606 | List(ColVal(table.colOption(col).map(_.name).orNull,
778[warn] 607 | autoValue(table, col, valueTresql, false), forInsert, forUpdate,
779[warn] 608 | updValOpt.map {
780[warn] 609 | case AutoValue(v) => autoValue(table, col, v, true)
781[warn] 610 | case v => v.tresql
782[warn] 611 | }))
783[warn] 612 | case OrtMetadata.Property(col, TresqlValue(tresql), _, forInsert, forUpdate) =>
784[warn] 613 | val (t, c) = col.split("\\.") match {
785[warn] 614 | case Array(a, b) => (a, b)
786[warn] 615 | case Array(a) => (table.name, a)
787[warn] 616 | case a => (a.dropRight(1).mkString("."), a.last)
788[warn] 617 | }
789[warn] 618 | if (t == table.name)
790[warn] 619 | List(ColVal(table.colOption(c).map(_.name).orNull, tresql, forInsert, forUpdate))
791[warn] 620 | else Nil
792[warn] 621 | case OrtMetadata.Property(prop, ViewValue(v, so), optional, forInsert, forUpdate) =>
793[warn] 622 | if (children_save_tresql != null) {
794[warn] 623 | val isOptional = optional || hasOptionalFields(v)
795[warn] 624 | val chtresql = children_save_tresql(prop, v,
796[warn] 625 | ParentRef(table.name, ctx.refToParent) :: ctx.parents, so, isOptional, forInsert, forUpdate)
797[warn] 626 | val chtresql_alias = Option(prop).map(p => s" '$p'").mkString
798[warn] 627 | List(ColVal(Option(chtresql).map(_ + chtresql_alias).orNull, null, forInsert, forUpdate))
799[warn] 628 | } else Nil
800[warn] 629 | case OrtMetadata.Property(refColName, LookupViewValue(propName, lookupView), optional, forInsert, forUpdate) =>
801[warn] 630 | (for {
802[warn] 631 | // check whether refColName exists in table, only then generate lookup tresql
803[warn] 632 | _ <- table.colOption(refColName)
804[warn] 633 | lookupTableName <- lookupView.saveTo.headOption.map(_.table)
805[warn] 634 | lookupTable <- tresqlMetadata(lookupView.db).tableOption(lookupTableName)
806[warn] 635 | } yield {
807[warn] 636 | def pkCol(t: metadata.Table) = t.key.cols match { case List(c) => c case _ => null }
808[warn] 637 | def saveTo(v: View, tn: String) = v.saveTo.find(_.table == tn)
809[warn] 638 | def idSelExpr(v: View, t: metadata.Table) = {
810[warn] 639 | def key_val(v: View, tn: String) = {
811[warn] 640 | val key = saveTo(v, tn).map(_.key.toSet).getOrElse(Set())
812[warn] 641 | v.properties.flatMap {
813[warn] 642 | case OrtMetadata.Property(col, TresqlValue(v), _, _, _) if key.contains(col) =>
814[warn] 643 | List((col, v))
815[warn] 644 | case OrtMetadata.Property(col, KeyValue(where, _, _), _, _, _) if key.contains(col) =>
816[warn] 645 | List((col, where))
817[warn] 646 | case _ => Nil
818[warn] 647 | }
819[warn] 648 | }
820[warn] 649 | val pk_col = pkCol(t)
821[warn] 650 | if (pk_col != null) {
822[warn] 651 | val where = s"${key_val(v, t.name).map { case (k, v) => s"$k = $v"}.mkString(" & ") }"
823[warn] 652 | if (where.nonEmpty) s"(${t.name}[$where]{$pk_col})"
824[warn] 653 | else "null"
825[warn] 654 | } else "null"
826[warn] 655 | }
827[warn] 656 | def idProp(v: View, t: metadata.Table) = {
828[warn] 657 | Option(pkCol(t)).flatMap { pk =>
829[warn] 658 | v.properties.collectFirst {
830[warn] 659 | case OrtMetadata.Property(`pk`, TresqlValue(v), _, _, _) =>
831[warn] 660 | if (v.startsWith(":")) v.substring(1) else pk
832[warn] 661 | case OrtMetadata.Property(`pk`, KeyValue(_, ov, _), _, _, _) =>
833[warn] 662 | val v = ov.tresql
834[warn] 663 | if (v.startsWith(":")) v.substring(1) else pk
835[warn] 664 | }
836[warn] 665 | }.orNull
837[warn] 666 | }
838[warn] 667 | val idPropName = idProp(lookupView, lookupTable)
839[warn] 668 | val update = save_tresql(null, lookupView, Nil,
840[warn] 669 | SaveOptions(true, false, true), false, true, true, update_tresql)
841[warn] 670 | val insert = save_tresql(null, lookupView, Nil,
842[warn] 671 | SaveOptions(true, false, true), false ,true, true, insert_tresql)
843[warn] 672 | val lookupUpsert = {
844[warn] 673 | val tr = s"|_upsert($update, $insert)"
845[warn] 674 | if (hasOptionalFields(lookupView)) s"_deferred_build($tr)"
846[warn] 675 | else tr
847[warn] 676 | }
848[warn] 677 | val lookupIdSel = idSelExpr(lookupView, lookupTable)
849[warn] 678 | val (lookupTresql, refColTresql) = {
850[warn] 679 | val tr = s":$refColName = |_lookup_upsert('$propName', ${
851[warn] 680 | if (idPropName == null) "null" else s"'$idPropName'"}, $lookupUpsert, $lookupIdSel)"
852[warn] 681 | if (optional)
853[warn] 682 | (s"_deferred_build(if_defined(:$propName?, $tr))", s"if_defined(:$propName?, :$refColName)")
854[warn] 683 | else
855[warn] 684 | (tr, s":$refColName")
856[warn] 685 | }
857[warn] 686 | // TODO lookupTresql will be executed always regardless of forInsert, forUpdate settings
858[warn] 687 | List(lookupTresql, ColVal(refColName, refColTresql, forInsert, forUpdate))
859[warn] 688 | }).getOrElse(Nil)
860[warn] 689 | case OrtMetadata.Property(col, AutoValue(tresql), _, forInsert, forUpdate) =>
861[warn] 690 | List(ColVal(table.colOption(col).map(_.name).orNull,
862[warn] 691 | autoValue(table, col, tresql, false), forInsert, forUpdate))
863[warn] 692 | }.partition(_.isInstanceOf[String]) match {
864[warn] |---------------------------------------------------------------------------
865[warn] | Explanation (enabled by `-explain`)
866[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
867[warn] | There are several ways to make the match exhaustive:
868[warn] | - Add missing cases as shown in the warning
869[warn] | - If an extractor always return Some(...), write Some[X] for its return type
870[warn] | - Add a case _ => ... at the end to match all remaining cases
871[warn] ---------------------------------------------------------------------------
872[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:679:66
873[warn] 679 | if (filter != null) filter foreach (transform (_, {case id: BaseVarExpr => id(); id}))
874[warn] | ^^^^^^^^^^^^^^^
875[warn] | Unreachable case
876[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1155:21
877[warn] 1155 | case ie @ IdentExpr(id1 :: id2 :: rest) =>
878[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
879[warn] | Unreachable case
880[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1236:13
881[warn] 1236 | case ArrExpr(List(b @ ConstExpr(true | false))) => b
882[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
883[warn] | Unreachable case
884[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1237:13
885[warn] 1237 | case a @ ArrExpr(List(_: ConstExpr | _: VarExpr | _: ResExpr)) => BinExpr("=",
886[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
887[warn] | Unreachable case
888[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1241:13
889[warn] 1241 | case a: ArrExpr if a.elements.size > 1 => InExpr(IdentExpr(List(pkTable.aliasOrName,
890[warn] | ^^^^^^^^^^
891[warn] | Unreachable case
892[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1243:13
893[warn] 1243 | case ArrExpr(List(f)) => f
894[warn] | ^^^^^^^^^^^^^^^^
895[warn] | Unreachable case
896[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1270:15
897[warn] 1270 | case v: QueryBuilder#BaseVarExpr =>
898[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
899[warn] | Unreachable case
900[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:9:11
901[warn] 9 | case e if e.builder != this => e.builder.transform(e, f)
902[warn] | ^
903[warn] | Unreachable case
904[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:11:11
905[warn] 11 | case ArrExpr(e) => ArrExpr(e map cf)
906[warn] | ^^^^^^^^^^
907[warn] | Unreachable case
908[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:12:11
909[warn] 12 | case BinExpr(o, lop, rop) => BinExpr(o, cf(lop), cf(rop))
910[warn] | ^^^^^^^^^^^^^^^^^^^^
911[warn] | Unreachable case
912[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:13:11
913[warn] 13 | case BracesExpr(b) => BracesExpr(cf(b))
914[warn] | ^^^^^^^^^^^^^
915[warn] | Unreachable case
916[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:14:11
917[warn] 14 | case ColExpr(col, alias, sepQuery, hidden) => ColExpr(cf(col), alias, sepQuery, hidden)
918[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
919[warn] | Unreachable case
920[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:15:11
921[warn] 15 | case cols: ColsExpr => cols.copy(cols = (cols.cols map cf).asInstanceOf[List[ColExpr]])
922[warn] | ^^^^^^^^^^^^^^
923[warn] | Unreachable case
924[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:16:11
925[warn] 16 | case FunExpr(n, p, d, o, f) => FunExpr(n, p map cf, d, o map cf, f map cf)
926[warn] | ^^^^^^^^^^^^^^^^^^^^^^
927[warn] | Unreachable case
928[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:17:11
929[warn] 17 | case FunAsTableExpr(e, cd, ord) => FunAsTableExpr(cf(e), cd.map(cf(_).asInstanceOf[TableColDefsExpr]), ord)
930[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
931[warn] | Unreachable case
932[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:18:11
933[warn] 18 | case TableColDefsExpr(tcd) => TableColDefsExpr(tcd.map(cf(_).asInstanceOf[TableColDefExpr]))
934[warn] | ^^^^^^^^^^^^^^^^^^^^^
935[warn] | Unreachable case
936[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:19:11
937[warn] 19 | case Group(e, h) => Group(e map cf, cf(h))
938[warn] | ^^^^^^^^^^^
939[warn] | Unreachable case
940[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:20:11
941[warn] 20 | case HiddenColRefExpr(e, typ) => HiddenColRefExpr(cf(e), typ)
942[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
943[warn] | Unreachable case
944[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:21:11
945[warn] 21 | case InExpr(lop, rop, not) => InExpr(cf(lop), rop map cf, not)
946[warn] | ^^^^^^^^^^^^^^^^^^^^^
947[warn] | Unreachable case
948[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:22:11
949[warn] 22 | case wi: WithInsertExpr => new WithInsertExpr(
950[warn] | ^^^^^^^^^^^^^^^^^^
951[warn] | Unreachable case
952[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:24:11
953[warn] 24 | case i: InsertExpr => new InsertExpr(cf(i.table).asInstanceOf[IdentExpr], i.alias,
954[warn] | ^^^^^^^^^^^^^
955[warn] | Unreachable case
956[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:27:11
957[warn] 27 | case Order(exprs) => Order(exprs map (e => (cf(e._1), cf(e._2), cf(e._3))))
958[warn] | ^^^^^^^^^^^^
959[warn] | Unreachable case
960[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:28:11
961[warn] 28 | case SelectExpr(tables, filter, cols, distinct, group, order,
962[warn] | ^
963[warn] | Unreachable case
964[warn] 29 | offset, limit, aliases, parentJoin) =>
965[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:33:11
966[warn] 33 | case Table(texpr, alias, join, outerJoin, nullable, schema) =>
967[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
968[warn] | Unreachable case
969[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:35:11
970[warn] 35 | case TableJoin(default, expr, noJoin, defaultJoinCols) =>
971[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
972[warn] | Unreachable case
973[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:37:11
974[warn] 37 | case WithTableExpr(n, c, r, q) => WithTableExpr(n, c, r, cf(q))
975[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^
976[warn] | Unreachable case
977[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:38:11
978[warn] 38 | case WithSelectExpr(tables, query) =>
979[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
980[warn] | Unreachable case
981[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:40:11
982[warn] 40 | case WithBinExpr(tables, query) =>
983[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
984[warn] | Unreachable case
985[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:42:11
986[warn] 42 | case UnExpr(o, op) => UnExpr(o, cf(op))
987[warn] | ^^^^^^^^^^^^^
988[warn] | Unreachable case
989[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:43:11
990[warn] 43 | case CastExpr(e, t) => CastExpr(cf(e), t)
991[warn] | ^^^^^^^^^^^^^^
992[warn] | Unreachable case
993[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:44:11
994[warn] 44 | case u: UpdateExpr => new UpdateExpr(cf(u.table).asInstanceOf[IdentExpr], u.alias,
995[warn] | ^^^^^^^^^^^^^
996[warn] | Unreachable case
997[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:46:11
998[warn] 46 | case d: DeleteExpr => //put delete at the end since it is superclass of insert and update
999[warn] | ^^^^^^^^^^^^^
1000[warn] | Unreachable case
1001[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:49:11
1002[warn] 49 | case ValuesExpr(vals) => ValuesExpr(vals map cf)
1003[warn] | ^^^^^^^^^^^^^^^^
1004[warn] | Unreachable case
1005[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:50:11
1006[warn] 50 | case vfs: ValuesFromSelectExpr => vfs.copy(select = cf(vfs.select).asInstanceOf[SelectExpr])
1007[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^
1008[warn] | Unreachable case
1009[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:51:11
1010[warn] 51 | case InsertConflictExpr(ct, cfl, c, v, f, a, cd) =>
1011[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1012[warn] | Unreachable case
1013[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:53:11
1014[warn] 53 | case e => e
1015[warn] | ^
1016[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1017[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/compiling/Compiler.scala:584:8
1018[warn] 584 | dml match {
1019[warn] | ^^^
1020[warn] |match may not be exhaustive.
1021[warn] |
1022[warn] |It would fail on pattern case: org.tresql.ast.CompilerAst.WithDMLDef(_, _)
1023[warn] |---------------------------------------------------------------------------
1024[warn] | Explanation (enabled by `-explain`)
1025[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1026[warn] | There are several ways to make the match exhaustive:
1027[warn] | - Add missing cases as shown in the warning
1028[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1029[warn] | - Add a case _ => ... at the end to match all remaining cases
1030[warn] ---------------------------------------------------------------------------
1031[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:22:9
1032[warn] 22 | case v: QueryBuilder#VarExpr => v.defaultSQL match {
1033[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1034[warn] | Unreachable case
1035[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:31:9
1036[warn] 31 | case r: QueryBuilder#ResExpr => r.defaultSQL + s"/*${r.name}*/"
1037[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1038[warn] | Unreachable case
1039[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:32:9
1040[warn] 32 | case id: QueryBuilder#IdExpr => id.defaultSQL + s"/*#${id.seqName}*/"
1041[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1042[warn] | Unreachable case
1043[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:33:9
1044[warn] 33 | case idref: QueryBuilder#IdRefExpr => idref.defaultSQL + s"/*:#${idref.seqName}*/"
1045[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1046[warn] | Unreachable case
1047[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:34:9
1048[warn] 34 | case idrefid: ORT#IdRefIdExpr => idrefid.defaultSQL + s"/*:#${idrefid.idRefSeq}#${idrefid.idSeq}*/"
1049[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
1050[warn] | Unreachable case
1051[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:38:9
1052[warn] 38 | case _: QueryBuilder#SQLVendorExpr => vendor
1053[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1054[warn] | Unreachable case
1055[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:39:9
1056[warn] 39 | case f: QueryBuilder#FunExpr
1057[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1058[warn] | Unreachable case
1059[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:46:9
1060[warn] 46 | case f: QueryBuilder#FunExpr if f.name == "lower" && f.params.size == 1 => "lcase(" + f.params.head.sql + ")"
1061[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1062[warn] | Unreachable case
1063[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:47:9
1064[warn] 47 | case f: QueryBuilder#FunExpr if f.name == "translate" && f.params.size == 3 =>
1065[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1066[warn] | Unreachable case
1067[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:51:9
1068[warn] 51 | case f: QueryBuilder#FunExpr if f.name == "nextval" && f.params.size == 1 =>
1069[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1070[warn] | Unreachable case
1071[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:55:9
1072[warn] 55 | case c: QueryBuilder#CastExpr => s"cast(${c.exp.sql} as ${c.builder.env.metadata.to_sql_type("hsqldb", c.typ) match {
1073[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
1074[warn] | Unreachable case
1075[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:60:9
1076[warn] 60 | case c: QueryBuilder#TableColDefExpr => c.name
1077[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1078[warn] | Unreachable case
1079[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:61:9
1080[warn] 61 | case b: QueryBuilder#BinExpr if b.op == "`~`" => s"regexp_matches(${b.lop.sql}, ${b.rop.sql})"
1081[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1082[warn] | Unreachable case
1083[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:62:9
1084[warn] 62 | case s: QueryBuilder#SelectExpr if s.tables.size == 1 &&
1085[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
1086[warn] | Unreachable case
1087[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:69:9
1088[warn] 69 | case i: QueryBuilder#InsertExpr if i.insertConflict != null =>
1089[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
1090[warn] | Unreachable case
1091[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:130:10
1092[warn] 130 | e match {
1093[warn] | ^
1094[warn] |match may not be exhaustive.
1095[warn] |
1096[warn] |It would fail on pattern case: org.tresql.QueryBuilder#SelectExpr(_, _, _, _, _, _, _, _, _, _)
1097[warn] |---------------------------------------------------------------------------
1098[warn] | Explanation (enabled by `-explain`)
1099[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1100[warn] | There are several ways to make the match exhaustive:
1101[warn] | - Add missing cases as shown in the warning
1102[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1103[warn] | - Add a case _ => ... at the end to match all remaining cases
1104[warn] ---------------------------------------------------------------------------
1105[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:100:6
1106[warn] 100 | e match {
1107[warn] | ^
1108[warn] |match may not be exhaustive.
1109[warn] |
1110[warn] |It would fail on pattern case: _: org.tresql.QueryBuilder#PrimitiveExpr
1111[warn] |---------------------------------------------------------------------------
1112[warn] | Explanation (enabled by `-explain`)
1113[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1114[warn] | There are several ways to make the match exhaustive:
1115[warn] | - Add missing cases as shown in the warning
1116[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1117[warn] | - Add a case _ => ... at the end to match all remaining cases
1118[warn] ---------------------------------------------------------------------------
1119[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:159:47
1120[warn] 159 | val colNames = i.cols.collect { case b.ColExpr(b.IdentExpr(name), _, _, _) => name.last } toSet
1121[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1122[warn] | Unreachable case
1123[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:141:9
1124[warn] 141 | case c: QueryBuilder#ColExpr if c.alias != null => Option(c.col).map(_.sql).getOrElse("null") + " as " + c.alias
1125[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1126[warn] | Unreachable case
1127[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:142:9
1128[warn] 142 | case c: QueryBuilder#CastExpr => c.exp.sql + "::" + c.builder.env.metadata.to_sql_type("postgresql", c.typ)
1129[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
1130[warn] | Unreachable case
1131[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:143:9
1132[warn] 143 | case c: QueryBuilder#TableColDefExpr => c.name +
1133[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1134[warn] | Unreachable case
1135[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:145:9
1136[warn] 145 | case f: QueryBuilder#FunExpr if f.name == "decode" && f.params.size > 2 =>
1137[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1138[warn] | Unreachable case
1139[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:150:9
1140[warn] 150 | case i: QueryBuilder#InsertExpr =>
1141[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
1142[warn] | Unreachable case
1143[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/macro.scala:191:13
1144[warn] 191 | case b.IdentExpr(n) => n.mkString(".")
1145[warn] | ^^^^^^^^^^^^^^
1146[warn] | Unreachable case
1147[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/macro.scala:192:13
1148[warn] 192 | case x => sys.error(s"Unrecognized key type - $x")
1149[warn] | ^
1150[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1151[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:62:9
1152[warn] 62 | case i: Int => IntConst(i)
1153[warn] | ^^^^^^
1154[warn] | Unreachable case
1155[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:63:9
1156[warn] 63 | case x => sys.error(s"Unexpected const value: '$x'. Expected `String` or `Boolean` or `BigDecimal` or `Int`")
1157[warn] | ^
1158[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1159[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:73:4
1160[warn] 73 | case "?" => Variable("?", Nil, opt = false)
1161[warn] | ^
1162[warn] | match may not be exhaustive.
1163[warn] |
1164[warn] | It would fail on pattern case: Parsers.this.~(Nil, _), _: String
1165[warn] |----------------------------------------------------------------------------
1166[warn] | Explanation (enabled by `-explain`)
1167[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1168[warn] | There are several ways to make the match exhaustive:
1169[warn] | - Add missing cases as shown in the warning
1170[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1171[warn] | - Add a case _ => ... at the end to match all remaining cases
1172[warn] ----------------------------------------------------------------------------
1173[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:140:6
1174[warn] 140 | case ";" => NoJoin
1175[warn] | ^
1176[warn] | match may not be exhaustive.
1177[warn] |
1178[warn] | It would fail on pattern case: Parsers.this.~(_, _), _: String
1179[warn] |---------------------------------------------------------------------------
1180[warn] | Explanation (enabled by `-explain`)
1181[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1182[warn] | There are several ways to make the match exhaustive:
1183[warn] | - Add missing cases as shown in the warning
1184[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1185[warn] | - Add a case _ => ... at the end to match all remaining cases
1186[warn] ---------------------------------------------------------------------------
1187[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:285:6
1188[warn] 285 | case Null ~ Filters(Nil) ~ None ~ None ~ None => Null //null literal
1189[warn] | ^
1190[warn] |match may not be exhaustive.
1191[warn] |
1192[warn] |It would fail on pattern case: Parsers.this.~(~(_, _), org.tresql.ast.Filters(_)), Parsers.this.~(org.tresql.ast.Cols(_, _), None), Parsers.this.~(org.tresql.ast.Cols(_, _), Some(_))
1193[warn] |---------------------------------------------------------------------------
1194[warn] | Explanation (enabled by `-explain`)
1195[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1196[warn] | There are several ways to make the match exhaustive:
1197[warn] | - Add missing cases as shown in the warning
1198[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1199[warn] | - Add a case _ => ... at the end to match all remaining cases
1200[warn] ---------------------------------------------------------------------------
1201[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:333:6
1202[warn] 333 | case name ~ distinct ~ (cols: List[String@unchecked]) ~ exp => WithTable(name, cols, distinct.isEmpty, exp)
1203[warn] | ^
1204[warn] | match may not be exhaustive.
1205[warn] |
1206[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _)
1207[warn] |---------------------------------------------------------------------------
1208[warn] | Explanation (enabled by `-explain`)
1209[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1210[warn] | There are several ways to make the match exhaustive:
1211[warn] | - Add missing cases as shown in the warning
1212[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1213[warn] | - Add a case _ => ... at the end to match all remaining cases
1214[warn] ---------------------------------------------------------------------------
1215[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:376:11
1216[warn] 376 | case x => sys.error(s"Unexpected insert parse result: $x")
1217[warn] | ^
1218[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1219[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:413:8
1220[warn] 413 | case (db: Option[Db@unchecked]) ~ (t: Ident) ~ (a: Option[String@unchecked] ) ~ f ~ c ~ v ~ maybeCols =>
1221[warn] | ^
1222[warn] | match may not be exhaustive.
1223[warn] |
1224[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _)
1225[warn] |---------------------------------------------------------------------------
1226[warn] | Explanation (enabled by `-explain`)
1227[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1228[warn] | There are several ways to make the match exhaustive:
1229[warn] | - Add missing cases as shown in the warning
1230[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1231[warn] | - Add a case _ => ... at the end to match all remaining cases
1232[warn] ---------------------------------------------------------------------------
1233[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:500:6
1234[warn] 500 | case (objs: List[Obj@unchecked]) ~ _ ~ _ => "Delete tables clause must as the first element have " +
1235[warn] | ^
1236[warn] |match may not be exhaustive.
1237[warn] |
1238[warn] |It would fail on pattern case: Parsers.this.~(Parsers.this.~(~(_, _), org.tresql.ast.Arr(_)), _)
1239[warn] |---------------------------------------------------------------------------
1240[warn] | Explanation (enabled by `-explain`)
1241[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1242[warn] | There are several ways to make the match exhaustive:
1243[warn] | - Add missing cases as shown in the warning
1244[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1245[warn] | - Add a case _ => ... at the end to match all remaining cases
1246[warn] ---------------------------------------------------------------------------
1247[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:534:4
1248[warn] 534 | case lop ~ "in" ~ "(" ~ rop => In(lop, rop, not = false)
1249[warn] | ^
1250[warn] | match may not be exhaustive.
1251[warn] |
1252[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _: List)
1253[warn] |---------------------------------------------------------------------------
1254[warn] | Explanation (enabled by `-explain`)
1255[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1256[warn] | There are several ways to make the match exhaustive:
1257[warn] | - Add missing cases as shown in the warning
1258[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1259[warn] | - Add a case _ => ... at the end to match all remaining cases
1260[warn] ---------------------------------------------------------------------------
1261[warn] there were 55 deprecation warnings; re-run with -deprecation for details
1262[warn] 85 warnings found
1263[info] done compiling
1264[info] compiling 1 Scala source to /build/repo/core/target/scala-3.7.4/test-classes ...
1265[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/test/scala/Macros.scala:67:11
1266[warn] 67 | case s@b.SelectExpr(
1267[warn] | ^
1268[warn] | Unreachable case
1269[warn] 68 | b.Table(_, _,
1270[warn] 69 | b.TableJoin(_, b.ArrExpr(List(b.FunExpr("build_values_cursor", _, _, _, _))), _, _)
1271[warn] 70 | , _, _, _
1272[warn] 71 | ) :: _,
1273[warn] 72 | _, _, _, _, _, _, _, _, _
1274[warn] 73 | ) =>
1275[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/test/scala/Macros.scala:93:11
1276[warn] 93 | case b.WithSelectExpr(tables, q) =>
1277[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1278[warn] | Unreachable case
1279[info] [patched file /build/repo/core/src/test/scala/Macros.scala]
1280[warn] two warnings found
1281[info] done compiling
1282[info] compiling 3 Scala sources and 1 Java source to /build/repo/target/scala-3.7.4/test-classes ...
1283[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2720:4
1284[warn] 2720 | assertResult(2.34)(tresql"round(2.33555, 2)")
1285[warn] | ^
1286[warn] | Line is indented too far to the left, or a `}` is missing
1287[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2721:4
1288[warn] 2721 | assertResult((2.34, 3, 14))(tresql"round(2.33555, 2), round(3.1,0), 5 + 9")
1289[warn] | ^
1290[warn] | Line is indented too far to the left, or a `}` is missing
1291[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2722:4
1292[warn] 2722 | assertResult(7.3)(tresql"1 + 4 - 0 + round(2.3, 5)")
1293[warn] | ^
1294[warn] | Line is indented too far to the left, or a `}` is missing
1295[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2723:4
1296[warn] 2723 | assertResult((3,3,2,(2,2))) {
1297[warn] | ^
1298[warn] | Line is indented too far to the left, or a `}` is missing
1299[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2730:4
1300[warn] 2730 | assertResult((true,false)) {
1301[warn] | ^
1302[warn] | Line is indented too far to the left, or a `}` is missing
1303[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2734:4
1304[warn] 2734 | assertResult((0,"null",'x',4,false,true)){
1305[warn] | ^
1306[warn] | Line is indented too far to the left, or a `}` is missing
1307[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2741:4
1308[warn] 2741 | assertResult(true)(tresql"1" + tresql"2 + 3" == tresql"6")
1309[warn] | ^
1310[warn] | Line is indented too far to the left, or a `}` is missing
1311[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2742:4
1312[warn] 2742 | assertResult(true) {
1313[warn] | ^
1314[warn] | Line is indented too far to the left, or a `}` is missing
1315[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2746:4
1316[warn] 2746 | assertResult(java.sql.Timestamp.valueOf("2009-02-22 00:00:00.0"))(
1317[warn] | ^
1318[warn] | Line is indented too far to the left, or a `}` is missing
1319[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2749:4
1320[warn] 2749 | assertResult(6000)(tresql"1000 + (emp[ename = 'KING']{sal})")
1321[warn] | ^
1322[warn] | Line is indented too far to the left, or a `}` is missing
1323[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2751:4
1324[warn] 2751 | assertResult("ACCOUNTING")(tresql"macro_interpolator_test4(dept, dname)".map(_.dname).toList.head)
1325[warn] | ^
1326[warn] | Line is indented too far to the left, or a `}` is missing
1327[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2753:4
1328[warn] 2753 | assertResult(List(("RESEARCH(8)",
1329[warn] | ^
1330[warn] | Line is indented too far to the left, or a `}` is missing
1331[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2765:4
1332[warn] 2765 | assertResult(List("ACCOUNTING")) {
1333[warn] | ^
1334[warn] | Line is indented too far to the left, or a `}` is missing
1335[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2771:4
1336[warn] 2771 | assertResult(List(3)) {
1337[warn] | ^
1338[warn] | Line is indented too far to the left, or a `}` is missing
1339[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2776:4
1340[warn] 2776 | assertResult(List("yes")) {
1341[warn] | ^
1342[warn] | Line is indented too far to the left, or a `}` is missing
1343[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2781:4
1344[warn] 2781 | assertResult((1, 2, 3)) {
1345[warn] | ^
1346[warn] | Line is indented too far to the left, or a `}` is missing
1347[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2784:4
1348[warn] 2784 | assertResult("abc") {
1349[warn] | ^
1350[warn] | Line is indented too far to the left, or a `}` is missing
1351[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2787:4
1352[warn] 2787 | assertResult((List(1, 2), List(3))) {
1353[warn] | ^
1354[warn] | Line is indented too far to the left, or a `}` is missing
1355[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2794:4
1356[warn] 2794 | val isScala3 = try { Class.forName("scala.Selectable"); true } catch { case ex: ClassNotFoundException => false }
1357[warn] | ^
1358[warn] | Line is indented too far to the left, or a `}` is missing
1359[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2795:4
1360[warn] 2795 | if (isScala3) {
1361[warn] | ^
1362[warn] | Line is indented too far to the left, or a `}` is missing
1363[warn] -- [E030] Match case Unreachable Warning: /build/repo/src/test/scala/org/tresql/test/QueryTest.scala:68:13
1364[warn] 68 | case f: QueryBuilder#FunExpr if f.name == "current_time" && f.params.isEmpty => "current_time"
1365[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1366[warn] | Unreachable case
1367[info] [patched file /build/repo/src/test/scala/org/tresql/test/QueryTest.scala]
1368[info] [patched file /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala]
1369[warn] there were 125 deprecation warnings; re-run with -deprecation for details
1370[warn] 22 warnings found
1371[warn] /build/repo/src/test/java/org/tresql/test/TresqlJavaApiTest.java:62:25: unchecked cast
1372[warn] required: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
1373[warn] found: java.lang.Object
1374[warn] r
1375[warn] .get("emps")
1376[warn] ^
1377[info] done compiling
1378[info] compiling 1 Scala source to /build/repo/core/target/scala-3.7.4/test-classes ...
1379[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/test/scala/Macros.scala:67:11
1380[warn] 67 | case s@b.SelectExpr(
1381[warn] | ^
1382[warn] | Unreachable case
1383[warn] 68 | b.Table(_, _,
1384[warn] 69 | b.TableJoin(_, b.ArrExpr(List(b.FunExpr("build_values_cursor", _, _, _, _))), _, _)
1385[warn] 70 | , _, _, _
1386[warn] 71 | ) :: _,
1387[warn] 72 | _, _, _, _, _, _, _, _, _
1388[warn] 73 | ) =>
1389[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/test/scala/Macros.scala:93:11
1390[warn] 93 | case b.WithSelectExpr(tables, q) =>
1391[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1392[warn] | Unreachable case
1393[warn] two warnings found
1394[info] done compiling
1395[info] compiling 2 Scala sources to /build/repo/target/scala-3.7.4/test-classes ...
1396[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2720:4
1397[warn] 2720 | assertResult(2.34)(tresql"round(2.33555, 2)")
1398[warn] | ^
1399[warn] | Line is indented too far to the left, or a `}` is missing
1400[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2721:4
1401[warn] 2721 | assertResult((2.34, 3, 14))(tresql"round(2.33555, 2), round(3.1,0), 5 + 9")
1402[warn] | ^
1403[warn] | Line is indented too far to the left, or a `}` is missing
1404[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2722:4
1405[warn] 2722 | assertResult(7.3)(tresql"1 + 4 - 0 + round(2.3, 5)")
1406[warn] | ^
1407[warn] | Line is indented too far to the left, or a `}` is missing
1408[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2723:4
1409[warn] 2723 | assertResult((3,3,2,(2,2))) {
1410[warn] | ^
1411[warn] | Line is indented too far to the left, or a `}` is missing
1412[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2730:4
1413[warn] 2730 | assertResult((true,false)) {
1414[warn] | ^
1415[warn] | Line is indented too far to the left, or a `}` is missing
1416[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2734:4
1417[warn] 2734 | assertResult((0,"null",'x',4,false,true)){
1418[warn] | ^
1419[warn] | Line is indented too far to the left, or a `}` is missing
1420[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2741:4
1421[warn] 2741 | assertResult(true)(tresql"1" + tresql"2 + 3" == tresql"6")
1422[warn] | ^
1423[warn] | Line is indented too far to the left, or a `}` is missing
1424[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2742:4
1425[warn] 2742 | assertResult(true) {
1426[warn] | ^
1427[warn] | Line is indented too far to the left, or a `}` is missing
1428[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2746:4
1429[warn] 2746 | assertResult(java.sql.Timestamp.valueOf("2009-02-22 00:00:00.0"))(
1430[warn] | ^
1431[warn] | Line is indented too far to the left, or a `}` is missing
1432[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2749:4
1433[warn] 2749 | assertResult(6000)(tresql"1000 + (emp[ename = 'KING']{sal})")
1434[warn] | ^
1435[warn] | Line is indented too far to the left, or a `}` is missing
1436[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2751:4
1437[warn] 2751 | assertResult("ACCOUNTING")(tresql"macro_interpolator_test4(dept, dname)".map(_.dname).toList.head)
1438[warn] | ^
1439[warn] | Line is indented too far to the left, or a `}` is missing
1440[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2753:4
1441[warn] 2753 | assertResult(List(("RESEARCH(8)",
1442[warn] | ^
1443[warn] | Line is indented too far to the left, or a `}` is missing
1444[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2765:4
1445[warn] 2765 | assertResult(List("ACCOUNTING")) {
1446[warn] | ^
1447[warn] | Line is indented too far to the left, or a `}` is missing
1448[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2771:4
1449[warn] 2771 | assertResult(List(3)) {
1450[warn] | ^
1451[warn] | Line is indented too far to the left, or a `}` is missing
1452[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2776:4
1453[warn] 2776 | assertResult(List("yes")) {
1454[warn] | ^
1455[warn] | Line is indented too far to the left, or a `}` is missing
1456[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2781:4
1457[warn] 2781 | assertResult((1, 2, 3)) {
1458[warn] | ^
1459[warn] | Line is indented too far to the left, or a `}` is missing
1460[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2784:4
1461[warn] 2784 | assertResult("abc") {
1462[warn] | ^
1463[warn] | Line is indented too far to the left, or a `}` is missing
1464[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2787:4
1465[warn] 2787 | assertResult((List(1, 2), List(3))) {
1466[warn] | ^
1467[warn] | Line is indented too far to the left, or a `}` is missing
1468[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2794:4
1469[warn] 2794 | val isScala3 = try { Class.forName("scala.Selectable"); true } catch { case ex: ClassNotFoundException => false }
1470[warn] | ^
1471[warn] | Line is indented too far to the left, or a `}` is missing
1472[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2795:4
1473[warn] 2795 | if (isScala3) {
1474[warn] | ^
1475[warn] | Line is indented too far to the left, or a `}` is missing
1476[warn] -- [E030] Match case Unreachable Warning: /build/repo/src/test/scala/org/tresql/test/QueryTest.scala:68:13
1477[warn] 68 | case f: QueryBuilder#FunExpr if f.name == "current_time" && f.params.isEmpty => "current_time"
1478[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1479[warn] | Unreachable case
1480[warn] there were 125 deprecation warnings; re-run with -deprecation for details
1481[warn] 22 warnings found
1482[info] done compiling
1483Starting build for ProjectRef(file:/build/repo/,core) (tresql-core)... [1/3]
1484Compile scalacOptions: -unchecked, -language:dynamics, -language:postfixOps, -language:implicitConversions, -language:reflectiveCalls, -language:existentials, -explain, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
1485Starting build for ProjectRef(file:/build/repo/,macros) (tresql-interpolator-macro)... [2/3]
1486Compile scalacOptions: -unchecked, -language:dynamics, -language:postfixOps, -language:implicitConversions, -language:reflectiveCalls, -language:existentials, -explain, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
1487
1488************************
1489Build summary:
1490[{
1491 "module": "tresql",
1492 "compile": {"status": "ok", "tookMs": 33865, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1493 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1494 "test-compile": {"status": "skipped", "tookMs": 0, "warnings": 0, "errors": 0},
1495 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1496 "publish": {"status": "skipped", "tookMs": 0},
1497 "metadata": {
1498 "crossScalaVersions": ["3.3.7", "2.13.17", "2.12.20"]
1499}
1500},{
1501 "module": "tresql-core",
1502 "compile": {"status": "ok", "tookMs": 73, "warnings": 84, "errors": 0, "sourceVersion": "3.4-migration"},
1503 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1504 "test-compile": {"status": "ok", "tookMs": 89, "warnings": 2, "errors": 0, "sourceVersion": "3.4-migration"},
1505 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1506 "publish": {"status": "ok", "tookMs": 4},
1507 "metadata": {
1508 "crossScalaVersions": ["3.3.7", "2.13.17", "2.12.20"]
1509}
1510},{
1511 "module": "tresql-interpolator-macro",
1512 "compile": {"status": "ok", "tookMs": 108, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1513 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1514 "test-compile": {"status": "ok", "tookMs": 142, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1515 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1516 "publish": {"status": "ok", "tookMs": 4},
1517 "metadata": {
1518 "crossScalaVersions": ["3.3.7", "2.13.17", "2.12.20"]
1519}
1520}]
1521************************
1522[success] Total time: 112 s (0:01:52.0), completed Nov 27, 2025, 9:49:18 PM
1523[0JChecking patch project/plugins.sbt...
1524Checking patch build.sbt...
1525Applied patch project/plugins.sbt cleanly.
1526Applied patch build.sbt cleanly.
1527Commit migration rewrites
1528Switched to a new branch 'opencb/migrate-source-3.4'
1529[opencb/migrate-source-3.4 205e7ae6] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4
1530 24 files changed, 257 insertions(+), 257 deletions(-)
1531----
1532Preparing build for 3.8.0-RC2
1533Scala binary version found: 3.8
1534Implicitly using source version 3.8
1535Scala binary version found: 3.8
1536Implicitly using source version 3.8
1537Would try to apply common scalacOption (best-effort, sbt/mill only):
1538Append: ,REQUIRE:-source:3.8
1539Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
1540
1541Try apply source patch:
1542Path: build.sbt
1543Pattern: sys.error("Java 11 is required for this project
1544Replacement: println("Java 11 is required for this project
1545Successfully applied pattern 'sys.error("Java 11 is required for this project' in build.sbt
1546----
1547Starting build for 3.8.0-RC2
1548Execute tests: false
1549sbt project found:
1550No prepare script found for project mrumkovskis/tresql
1551##################################
1552Scala version: 3.8.0-RC2
1553Targets: org.tresql%tresql
1554Project projectConfig: {"projects":{"exclude":[],"overrides":{"tresql":{"tests":"disabled"}}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"sys.error(\"Java 11 is required for this project","replaceWith":"println(\"Java 11 is required for this project"}]}
1555##################################
1556Using extra scalacOptions: ,REQUIRE:-source:3.8
1557Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
1558[sbt_options] declare -a sbt_options=()
1559[process_args] java_version = '21'
1560[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
1561# Executing command line:
1562java
1563-Dfile.encoding=UTF-8
1564-Dcommunitybuild.scala=3.8.0-RC2
1565-Dcommunitybuild.project.dependencies.add=
1566-Xmx7G
1567-Xms4G
1568-Xss8M
1569-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
1570-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
1571-jar
1572/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
1573"setCrossScalaVersions 3.8.0-RC2"
1574"++3.8.0-RC2 -v"
1575"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
1576"set every credentials := Nil"
1577"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
1578"removeScalacOptionsStartingWith -P:wartremover"
1579
1580moduleMappings
1581"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{"tresql":{"tests":"disabled"}}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"sys.error(\"Java 11 is required for this project","replaceWith":"println(\"Java 11 is required for this project"}]}""" org.tresql%tresql"
1582
1583[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 21)
1584[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
1585[info] loading project definition from /build/repo/project
1586[info] loading settings for project tresql from build.sbt, version.sbt...
1587Java 11 is required for this project. Found 21 instead
1588[info] set current project to tresql (in build file:/build/repo/)
1589Execute setCrossScalaVersions: 3.8.0-RC2
1590OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in core/crossScalaVersions
1591OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in it/crossScalaVersions
1592Java 11 is required for this project. Found 21 instead
1593OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in tresql/crossScalaVersions
1594OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in macros/crossScalaVersions
1595[info] set current project to tresql (in build file:/build/repo/)
1596[info] Setting Scala version to 3.8.0-RC2 on 4 projects.
1597[info] Switching Scala version on:
1598[info] * tresql (3.8.0-RC2, 2.13.17, 2.12.20)
1599[info] core (3.8.0-RC2, 2.13.17, 2.12.20)
1600[info] macros (3.8.0-RC2, 2.13.17, 2.12.20)
1601[info] it (3.8.0-RC2, 2.13.17, 2.12.20)
1602[info] Excluding projects:
1603[info] Reapplying settings...
1604Java 11 is required for this project. Found 21 instead
1605[info] set current project to tresql (in build file:/build/repo/)
1606Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
1607[info] Reapplying settings...
1608Java 11 is required for this project. Found 21 instead
1609[info] set current project to tresql (in build file:/build/repo/)
1610[info] Defining Global / credentials, core / credentials and 2 others.
1611[info] The new values will be used by allCredentials, core / allCredentials and 17 others.
1612[info] Run `last` for details.
1613[info] Reapplying settings...
1614Java 11 is required for this project. Found 21 instead
1615[info] set current project to tresql (in build file:/build/repo/)
1616Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
1617[info] Reapplying settings...
1618OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
1619
1620 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
1621 Did you mean allExcludeDependencies ?
1622 , retry without global scopes
1623[info] Reapplying settings...
1624Java 11 is required for this project. Found 21 instead
1625[info] set current project to tresql (in build file:/build/repo/)
1626Execute removeScalacOptionsStartingWith: -P:wartremover
1627[info] Reapplying settings...
1628Java 11 is required for this project. Found 21 instead
1629[info] set current project to tresql (in build file:/build/repo/)
1630[success] Total time: 0 s, completed Nov 27, 2025, 9:49:33 PM
1631Build config: {"projects":{"exclude":[],"overrides":{"tresql":{"tests":"disabled"}}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"sys.error(\"Java 11 is required for this project","replaceWith":"println(\"Java 11 is required for this project"}]}
1632Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map(tresql -> ProjectOverrides(Some(Disabled)))),CompileOnly,List()))
1633Starting build...
1634Projects: Set(tresql, core, macros)
1635Starting build for ProjectRef(file:/build/repo/,tresql) (tresql)... [0/3]
1636OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
1637OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
1638OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
1639Compile scalacOptions: -unchecked, -language:dynamics, -language:postfixOps, -language:implicitConversions, -language:reflectiveCalls, -language:existentials, -explain, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1640[info] compiling 28 Scala sources and 1 Java source to /build/repo/core/target/scala-3.8.0-RC2/classes ...
1641[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:68:64
1642[warn] 68 | def qualifiedIdent: MemParser[Ident] = rep1sep(ident, ".") ^^ Ident named "qualified-ident"
1643[warn] | ^^^^^
1644[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Ident.apply` explicitly.
1645[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:69:73
1646[warn] 69 | def qualifiedIdentAll: MemParser[IdentAll] = qualifiedIdent <~ ".*" ^^ IdentAll named "ident-all"
1647[warn] | ^^^^^^^^
1648[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.IdentAll.apply` explicitly.
1649[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:94:56
1650[warn] 94 | def braces: MemParser[Braces] = "(" ~> expr <~ ")" ^^ Braces named "braces"
1651[warn] | ^^^^^^
1652[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Braces.apply` explicitly.
1653[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:135:65
1654[warn] 135 | def array: MemParser[Arr] = "[" ~> repsep(expr, ",") <~ "]" ^^ Arr named "array"
1655[warn] | ^^^
1656[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Arr.apply` explicitly.
1657[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:148:51
1658[warn] 148 | def filters: MemParser[Filters] = rep(filter) ^^ Filters named "filters"
1659[warn] | ^^^^^^^
1660[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Filters.apply` explicitly.
1661[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:270:81
1662[warn] 270 | def order: MemParser[Ord] = ("#" ~ "(") ~> rep1sep(orderMember, ",") <~ ")" ^^ Ord named "order"
1663[warn] | ^^^
1664[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Ord.apply` explicitly.
1665[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:343:57
1666[warn] 343 | def values: MemParser[Values] = rep1sep(array, ",") ^^ Values named "values"
1667[warn] | ^^^^^^
1668[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Values.apply` explicitly.
1669[warn] -- Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:357:94
1670[warn] 357 | opt(opt(ident|NULL) <~ ":") ^^ (_.map(_.map { case Null => null case s: String => s }.map(Db).getOrElse(Db("")))) named "opt-db"
1671[warn] | ^^
1672[warn] |The method `apply` is inserted. The auto insertion will be deprecated, please write `org.tresql.ast.Db.apply` explicitly.
1673[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/Env.scala:421:59
1674[warn] 421 | protected def defaultDialect: CoreTypes.Dialect = { case e => e.defaultSQL }
1675[warn] | ^
1676[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1677[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:146:19
1678[warn] 146 | case VarExpr(n, Nil, opt, allowArrBind) => VarExpr("keys", List(i.toString, n), opt, allowArrBind)
1679[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1680[warn] | Unreachable case
1681[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:458:49
1682[warn] 458 | if (keyVals.nonEmpty) keyVals.partition(_._1.isInstanceOf[RefKeyCol]) match {
1683[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1684[warn] | match may not be exhaustive.
1685[warn] |
1686[warn] | It would fail on pattern case: (_, _)
1687[warn] |---------------------------------------------------------------------------
1688[warn] | Explanation (enabled by `-explain`)
1689[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1690[warn] | There are several ways to make the match exhaustive:
1691[warn] | - Add missing cases as shown in the warning
1692[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1693[warn] | - Add a case _ => ... at the end to match all remaining cases
1694[warn] ---------------------------------------------------------------------------
1695[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/ORT.scala:600:6
1696[warn] 600 | ctx.view.properties.flatMap {
1697[warn] | ^
1698[warn] | match may not be exhaustive.
1699[warn] |
1700[warn] | It would fail on pattern case: (_, _)
1701[warn] 601 | case OrtMetadata.Property(col, _, _, _, _) if refsAndPk.exists(_.name == col) => Nil
1702[warn] 602 | case OrtMetadata.Property(col, KeyValue(_, TresqlValue(valueTresql), updValOpt), _, forInsert, forUpdate) =>
1703[warn] 603 | List(ColVal(table.colOption(col).map(_.name).orNull,
1704[warn] 604 | valueTresql, forInsert, forUpdate, updValOpt.map(_.tresql)))
1705[warn] 605 | case OrtMetadata.Property(col, KeyValue(_, AutoValue(valueTresql), updValOpt), _, forInsert, forUpdate) =>
1706[warn] 606 | List(ColVal(table.colOption(col).map(_.name).orNull,
1707[warn] 607 | autoValue(table, col, valueTresql, false), forInsert, forUpdate,
1708[warn] 608 | updValOpt.map {
1709[warn] 609 | case AutoValue(v) => autoValue(table, col, v, true)
1710[warn] 610 | case v => v.tresql
1711[warn] 611 | }))
1712[warn] 612 | case OrtMetadata.Property(col, TresqlValue(tresql), _, forInsert, forUpdate) =>
1713[warn] 613 | val (t, c) = col.split("\\.") match {
1714[warn] 614 | case Array(a, b) => (a, b)
1715[warn] 615 | case Array(a) => (table.name, a)
1716[warn] 616 | case a => (a.dropRight(1).mkString("."), a.last)
1717[warn] 617 | }
1718[warn] 618 | if (t == table.name)
1719[warn] 619 | List(ColVal(table.colOption(c).map(_.name).orNull, tresql, forInsert, forUpdate))
1720[warn] 620 | else Nil
1721[warn] 621 | case OrtMetadata.Property(prop, ViewValue(v, so), optional, forInsert, forUpdate) =>
1722[warn] 622 | if (children_save_tresql != null) {
1723[warn] 623 | val isOptional = optional || hasOptionalFields(v)
1724[warn] 624 | val chtresql = children_save_tresql(prop, v,
1725[warn] 625 | ParentRef(table.name, ctx.refToParent) :: ctx.parents, so, isOptional, forInsert, forUpdate)
1726[warn] 626 | val chtresql_alias = Option(prop).map(p => s" '$p'").mkString
1727[warn] 627 | List(ColVal(Option(chtresql).map(_ + chtresql_alias).orNull, null, forInsert, forUpdate))
1728[warn] 628 | } else Nil
1729[warn] 629 | case OrtMetadata.Property(refColName, LookupViewValue(propName, lookupView), optional, forInsert, forUpdate) =>
1730[warn] 630 | (for {
1731[warn] 631 | // check whether refColName exists in table, only then generate lookup tresql
1732[warn] 632 | _ <- table.colOption(refColName)
1733[warn] 633 | lookupTableName <- lookupView.saveTo.headOption.map(_.table)
1734[warn] 634 | lookupTable <- tresqlMetadata(lookupView.db).tableOption(lookupTableName)
1735[warn] 635 | } yield {
1736[warn] 636 | def pkCol(t: metadata.Table) = t.key.cols match { case List(c) => c case _ => null }
1737[warn] 637 | def saveTo(v: View, tn: String) = v.saveTo.find(_.table == tn)
1738[warn] 638 | def idSelExpr(v: View, t: metadata.Table) = {
1739[warn] 639 | def key_val(v: View, tn: String) = {
1740[warn] 640 | val key = saveTo(v, tn).map(_.key.toSet).getOrElse(Set())
1741[warn] 641 | v.properties.flatMap {
1742[warn] 642 | case OrtMetadata.Property(col, TresqlValue(v), _, _, _) if key.contains(col) =>
1743[warn] 643 | List((col, v))
1744[warn] 644 | case OrtMetadata.Property(col, KeyValue(where, _, _), _, _, _) if key.contains(col) =>
1745[warn] 645 | List((col, where))
1746[warn] 646 | case _ => Nil
1747[warn] 647 | }
1748[warn] 648 | }
1749[warn] 649 | val pk_col = pkCol(t)
1750[warn] 650 | if (pk_col != null) {
1751[warn] 651 | val where = s"${key_val(v, t.name).map { case (k, v) => s"$k = $v"}.mkString(" & ") }"
1752[warn] 652 | if (where.nonEmpty) s"(${t.name}[$where]{$pk_col})"
1753[warn] 653 | else "null"
1754[warn] 654 | } else "null"
1755[warn] 655 | }
1756[warn] 656 | def idProp(v: View, t: metadata.Table) = {
1757[warn] 657 | Option(pkCol(t)).flatMap { pk =>
1758[warn] 658 | v.properties.collectFirst {
1759[warn] 659 | case OrtMetadata.Property(`pk`, TresqlValue(v), _, _, _) =>
1760[warn] 660 | if (v.startsWith(":")) v.substring(1) else pk
1761[warn] 661 | case OrtMetadata.Property(`pk`, KeyValue(_, ov, _), _, _, _) =>
1762[warn] 662 | val v = ov.tresql
1763[warn] 663 | if (v.startsWith(":")) v.substring(1) else pk
1764[warn] 664 | }
1765[warn] 665 | }.orNull
1766[warn] 666 | }
1767[warn] 667 | val idPropName = idProp(lookupView, lookupTable)
1768[warn] 668 | val update = save_tresql(null, lookupView, Nil,
1769[warn] 669 | SaveOptions(true, false, true), false, true, true, update_tresql)
1770[warn] 670 | val insert = save_tresql(null, lookupView, Nil,
1771[warn] 671 | SaveOptions(true, false, true), false ,true, true, insert_tresql)
1772[warn] 672 | val lookupUpsert = {
1773[warn] 673 | val tr = s"|_upsert($update, $insert)"
1774[warn] 674 | if (hasOptionalFields(lookupView)) s"_deferred_build($tr)"
1775[warn] 675 | else tr
1776[warn] 676 | }
1777[warn] 677 | val lookupIdSel = idSelExpr(lookupView, lookupTable)
1778[warn] 678 | val (lookupTresql, refColTresql) = {
1779[warn] 679 | val tr = s":$refColName = |_lookup_upsert('$propName', ${
1780[warn] 680 | if (idPropName == null) "null" else s"'$idPropName'"}, $lookupUpsert, $lookupIdSel)"
1781[warn] 681 | if (optional)
1782[warn] 682 | (s"_deferred_build(if_defined(:$propName?, $tr))", s"if_defined(:$propName?, :$refColName)")
1783[warn] 683 | else
1784[warn] 684 | (tr, s":$refColName")
1785[warn] 685 | }
1786[warn] 686 | // TODO lookupTresql will be executed always regardless of forInsert, forUpdate settings
1787[warn] 687 | List(lookupTresql, ColVal(refColName, refColTresql, forInsert, forUpdate))
1788[warn] 688 | }).getOrElse(Nil)
1789[warn] 689 | case OrtMetadata.Property(col, AutoValue(tresql), _, forInsert, forUpdate) =>
1790[warn] 690 | List(ColVal(table.colOption(col).map(_.name).orNull,
1791[warn] 691 | autoValue(table, col, tresql, false), forInsert, forUpdate))
1792[warn] 692 | }.partition(_.isInstanceOf[String]) match {
1793[warn] |---------------------------------------------------------------------------
1794[warn] | Explanation (enabled by `-explain`)
1795[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1796[warn] | There are several ways to make the match exhaustive:
1797[warn] | - Add missing cases as shown in the warning
1798[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1799[warn] | - Add a case _ => ... at the end to match all remaining cases
1800[warn] ---------------------------------------------------------------------------
1801[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:679:66
1802[warn] 679 | if (filter != null) filter foreach (transform (_, {case id: BaseVarExpr => id(); id}))
1803[warn] | ^^^^^^^^^^^^^^^
1804[warn] | Unreachable case
1805[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1155:21
1806[warn] 1155 | case ie @ IdentExpr(id1 :: id2 :: rest) =>
1807[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1808[warn] | Unreachable case
1809[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1236:13
1810[warn] 1236 | case ArrExpr(List(b @ ConstExpr(true | false))) => b
1811[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1812[warn] | Unreachable case
1813[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1237:13
1814[warn] 1237 | case a @ ArrExpr(List(_: ConstExpr | _: VarExpr | _: ResExpr)) => BinExpr("=",
1815[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1816[warn] | Unreachable case
1817[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1241:13
1818[warn] 1241 | case a: ArrExpr if a.elements.size > 1 => InExpr(IdentExpr(List(pkTable.aliasOrName,
1819[warn] | ^^^^^^^^^^
1820[warn] | Unreachable case
1821[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1243:13
1822[warn] 1243 | case ArrExpr(List(f)) => f
1823[warn] | ^^^^^^^^^^^^^^^^
1824[warn] | Unreachable case
1825[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/QueryBuilder.scala:1270:15
1826[warn] 1270 | case v: QueryBuilder#BaseVarExpr =>
1827[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1828[warn] | Unreachable case
1829[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:9:11
1830[warn] 9 | case e if e.builder != this => e.builder.transform(e, f)
1831[warn] | ^
1832[warn] | Unreachable case
1833[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:11:11
1834[warn] 11 | case ArrExpr(e) => ArrExpr(e map cf)
1835[warn] | ^^^^^^^^^^
1836[warn] | Unreachable case
1837[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:12:11
1838[warn] 12 | case BinExpr(o, lop, rop) => BinExpr(o, cf(lop), cf(rop))
1839[warn] | ^^^^^^^^^^^^^^^^^^^^
1840[warn] | Unreachable case
1841[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:13:11
1842[warn] 13 | case BracesExpr(b) => BracesExpr(cf(b))
1843[warn] | ^^^^^^^^^^^^^
1844[warn] | Unreachable case
1845[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:14:11
1846[warn] 14 | case ColExpr(col, alias, sepQuery, hidden) => ColExpr(cf(col), alias, sepQuery, hidden)
1847[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1848[warn] | Unreachable case
1849[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:15:11
1850[warn] 15 | case cols: ColsExpr => cols.copy(cols = (cols.cols map cf).asInstanceOf[List[ColExpr]])
1851[warn] | ^^^^^^^^^^^^^^
1852[warn] | Unreachable case
1853[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:16:11
1854[warn] 16 | case FunExpr(n, p, d, o, f) => FunExpr(n, p map cf, d, o map cf, f map cf)
1855[warn] | ^^^^^^^^^^^^^^^^^^^^^^
1856[warn] | Unreachable case
1857[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:17:11
1858[warn] 17 | case FunAsTableExpr(e, cd, ord) => FunAsTableExpr(cf(e), cd.map(cf(_).asInstanceOf[TableColDefsExpr]), ord)
1859[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
1860[warn] | Unreachable case
1861[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:18:11
1862[warn] 18 | case TableColDefsExpr(tcd) => TableColDefsExpr(tcd.map(cf(_).asInstanceOf[TableColDefExpr]))
1863[warn] | ^^^^^^^^^^^^^^^^^^^^^
1864[warn] | Unreachable case
1865[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:19:11
1866[warn] 19 | case Group(e, h) => Group(e map cf, cf(h))
1867[warn] | ^^^^^^^^^^^
1868[warn] | Unreachable case
1869[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:20:11
1870[warn] 20 | case HiddenColRefExpr(e, typ) => HiddenColRefExpr(cf(e), typ)
1871[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
1872[warn] | Unreachable case
1873[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:21:11
1874[warn] 21 | case InExpr(lop, rop, not) => InExpr(cf(lop), rop map cf, not)
1875[warn] | ^^^^^^^^^^^^^^^^^^^^^
1876[warn] | Unreachable case
1877[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:22:11
1878[warn] 22 | case wi: WithInsertExpr => new WithInsertExpr(
1879[warn] | ^^^^^^^^^^^^^^^^^^
1880[warn] | Unreachable case
1881[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:24:11
1882[warn] 24 | case i: InsertExpr => new InsertExpr(cf(i.table).asInstanceOf[IdentExpr], i.alias,
1883[warn] | ^^^^^^^^^^^^^
1884[warn] | Unreachable case
1885[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:27:11
1886[warn] 27 | case Order(exprs) => Order(exprs map (e => (cf(e._1), cf(e._2), cf(e._3))))
1887[warn] | ^^^^^^^^^^^^
1888[warn] | Unreachable case
1889[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:28:11
1890[warn] 28 | case SelectExpr(tables, filter, cols, distinct, group, order,
1891[warn] | ^
1892[warn] | Unreachable case
1893[warn] 29 | offset, limit, aliases, parentJoin) =>
1894[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:33:11
1895[warn] 33 | case Table(texpr, alias, join, outerJoin, nullable, schema) =>
1896[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1897[warn] | Unreachable case
1898[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:35:11
1899[warn] 35 | case TableJoin(default, expr, noJoin, defaultJoinCols) =>
1900[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1901[warn] | Unreachable case
1902[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:37:11
1903[warn] 37 | case WithTableExpr(n, c, r, q) => WithTableExpr(n, c, r, cf(q))
1904[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^
1905[warn] | Unreachable case
1906[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:38:11
1907[warn] 38 | case WithSelectExpr(tables, query) =>
1908[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1909[warn] | Unreachable case
1910[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:40:11
1911[warn] 40 | case WithBinExpr(tables, query) =>
1912[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
1913[warn] | Unreachable case
1914[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:42:11
1915[warn] 42 | case UnExpr(o, op) => UnExpr(o, cf(op))
1916[warn] | ^^^^^^^^^^^^^
1917[warn] | Unreachable case
1918[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:43:11
1919[warn] 43 | case CastExpr(e, t) => CastExpr(cf(e), t)
1920[warn] | ^^^^^^^^^^^^^^
1921[warn] | Unreachable case
1922[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:44:11
1923[warn] 44 | case u: UpdateExpr => new UpdateExpr(cf(u.table).asInstanceOf[IdentExpr], u.alias,
1924[warn] | ^^^^^^^^^^^^^
1925[warn] | Unreachable case
1926[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:46:11
1927[warn] 46 | case d: DeleteExpr => //put delete at the end since it is superclass of insert and update
1928[warn] | ^^^^^^^^^^^^^
1929[warn] | Unreachable case
1930[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:49:11
1931[warn] 49 | case ValuesExpr(vals) => ValuesExpr(vals map cf)
1932[warn] | ^^^^^^^^^^^^^^^^
1933[warn] | Unreachable case
1934[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:50:11
1935[warn] 50 | case vfs: ValuesFromSelectExpr => vfs.copy(select = cf(vfs.select).asInstanceOf[SelectExpr])
1936[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^
1937[warn] | Unreachable case
1938[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:51:11
1939[warn] 51 | case InsertConflictExpr(ct, cfl, c, v, f, a, cd) =>
1940[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1941[warn] | Unreachable case
1942[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/Transformer.scala:53:11
1943[warn] 53 | case e => e
1944[warn] | ^
1945[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1946[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/compiling/Compiler.scala:584:8
1947[warn] 584 | dml match {
1948[warn] | ^^^
1949[warn] |match may not be exhaustive.
1950[warn] |
1951[warn] |It would fail on pattern case: org.tresql.ast.CompilerAst.WithDMLDef(_, _)
1952[warn] |---------------------------------------------------------------------------
1953[warn] | Explanation (enabled by `-explain`)
1954[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1955[warn] | There are several ways to make the match exhaustive:
1956[warn] | - Add missing cases as shown in the warning
1957[warn] | - If an extractor always return Some(...), write Some[X] for its return type
1958[warn] | - Add a case _ => ... at the end to match all remaining cases
1959[warn] ---------------------------------------------------------------------------
1960[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:22:9
1961[warn] 22 | case v: QueryBuilder#VarExpr => v.defaultSQL match {
1962[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1963[warn] | Unreachable case
1964[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:31:9
1965[warn] 31 | case r: QueryBuilder#ResExpr => r.defaultSQL + s"/*${r.name}*/"
1966[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1967[warn] | Unreachable case
1968[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:32:9
1969[warn] 32 | case id: QueryBuilder#IdExpr => id.defaultSQL + s"/*#${id.seqName}*/"
1970[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1971[warn] | Unreachable case
1972[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:33:9
1973[warn] 33 | case idref: QueryBuilder#IdRefExpr => idref.defaultSQL + s"/*:#${idref.seqName}*/"
1974[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1975[warn] | Unreachable case
1976[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:34:9
1977[warn] 34 | case idrefid: ORT#IdRefIdExpr => idrefid.defaultSQL + s"/*:#${idrefid.idRefSeq}#${idrefid.idSeq}*/"
1978[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
1979[warn] | Unreachable case
1980[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:38:9
1981[warn] 38 | case _: QueryBuilder#SQLVendorExpr => vendor
1982[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1983[warn] | Unreachable case
1984[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:39:9
1985[warn] 39 | case f: QueryBuilder#FunExpr
1986[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1987[warn] | Unreachable case
1988[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:46:9
1989[warn] 46 | case f: QueryBuilder#FunExpr if f.name == "lower" && f.params.size == 1 => "lcase(" + f.params.head.sql + ")"
1990[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1991[warn] | Unreachable case
1992[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:47:9
1993[warn] 47 | case f: QueryBuilder#FunExpr if f.name == "translate" && f.params.size == 3 =>
1994[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1995[warn] | Unreachable case
1996[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:51:9
1997[warn] 51 | case f: QueryBuilder#FunExpr if f.name == "nextval" && f.params.size == 1 =>
1998[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
1999[warn] | Unreachable case
2000[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:55:9
2001[warn] 55 | case c: QueryBuilder#CastExpr => s"cast(${c.exp.sql} as ${c.builder.env.metadata.to_sql_type("hsqldb", c.typ) match {
2002[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
2003[warn] | Unreachable case
2004[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:60:9
2005[warn] 60 | case c: QueryBuilder#TableColDefExpr => c.name
2006[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2007[warn] | Unreachable case
2008[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:61:9
2009[warn] 61 | case b: QueryBuilder#BinExpr if b.op == "`~`" => s"regexp_matches(${b.lop.sql}, ${b.rop.sql})"
2010[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
2011[warn] | Unreachable case
2012[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:62:9
2013[warn] 62 | case s: QueryBuilder#SelectExpr if s.tables.size == 1 &&
2014[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2015[warn] | Unreachable case
2016[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:69:9
2017[warn] 69 | case i: QueryBuilder#InsertExpr if i.insertConflict != null =>
2018[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2019[warn] | Unreachable case
2020[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:130:10
2021[warn] 130 | e match {
2022[warn] | ^
2023[warn] |match may not be exhaustive.
2024[warn] |
2025[warn] |It would fail on pattern case: org.tresql.QueryBuilder#SelectExpr(_, _, _, _, _, _, _, _, _, _)
2026[warn] |---------------------------------------------------------------------------
2027[warn] | Explanation (enabled by `-explain`)
2028[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2029[warn] | There are several ways to make the match exhaustive:
2030[warn] | - Add missing cases as shown in the warning
2031[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2032[warn] | - Add a case _ => ... at the end to match all remaining cases
2033[warn] ---------------------------------------------------------------------------
2034[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:100:6
2035[warn] 100 | e match {
2036[warn] | ^
2037[warn] |match may not be exhaustive.
2038[warn] |
2039[warn] |It would fail on pattern case: _: org.tresql.QueryBuilder#PrimitiveExpr
2040[warn] |---------------------------------------------------------------------------
2041[warn] | Explanation (enabled by `-explain`)
2042[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2043[warn] | There are several ways to make the match exhaustive:
2044[warn] | - Add missing cases as shown in the warning
2045[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2046[warn] | - Add a case _ => ... at the end to match all remaining cases
2047[warn] ---------------------------------------------------------------------------
2048[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:159:47
2049[warn] 159 | val colNames = i.cols.collect { case b.ColExpr(b.IdentExpr(name), _, _, _) => name.last } toSet
2050[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2051[warn] | Unreachable case
2052[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:141:9
2053[warn] 141 | case c: QueryBuilder#ColExpr if c.alias != null => Option(c.col).map(_.sql).getOrElse("null") + " as " + c.alias
2054[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
2055[warn] | Unreachable case
2056[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:142:9
2057[warn] 142 | case c: QueryBuilder#CastExpr => c.exp.sql + "::" + c.builder.env.metadata.to_sql_type("postgresql", c.typ)
2058[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^
2059[warn] | Unreachable case
2060[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:143:9
2061[warn] 143 | case c: QueryBuilder#TableColDefExpr => c.name +
2062[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2063[warn] | Unreachable case
2064[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:145:9
2065[warn] 145 | case f: QueryBuilder#FunExpr if f.name == "decode" && f.params.size > 2 =>
2066[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
2067[warn] | Unreachable case
2068[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/dialects.scala:150:9
2069[warn] 150 | case i: QueryBuilder#InsertExpr =>
2070[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2071[warn] | Unreachable case
2072[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/macro.scala:191:13
2073[warn] 191 | case b.IdentExpr(n) => n.mkString(".")
2074[warn] | ^^^^^^^^^^^^^^
2075[warn] | Unreachable case
2076[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/macro.scala:192:13
2077[warn] 192 | case x => sys.error(s"Unrecognized key type - $x")
2078[warn] | ^
2079[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
2080[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:62:9
2081[warn] 62 | case i: Int => IntConst(i)
2082[warn] | ^^^^^^
2083[warn] | Unreachable case
2084[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:63:9
2085[warn] 63 | case x => sys.error(s"Unexpected const value: '$x'. Expected `String` or `Boolean` or `BigDecimal` or `Int`")
2086[warn] | ^
2087[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
2088[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:73:4
2089[warn] 73 | case "?" => Variable("?", Nil, opt = false)
2090[warn] | ^
2091[warn] | match may not be exhaustive.
2092[warn] |
2093[warn] | It would fail on pattern case: Parsers.this.~(Nil, _), _: String
2094[warn] |----------------------------------------------------------------------------
2095[warn] | Explanation (enabled by `-explain`)
2096[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2097[warn] | There are several ways to make the match exhaustive:
2098[warn] | - Add missing cases as shown in the warning
2099[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2100[warn] | - Add a case _ => ... at the end to match all remaining cases
2101[warn] ----------------------------------------------------------------------------
2102[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:140:6
2103[warn] 140 | case ";" => NoJoin
2104[warn] | ^
2105[warn] | match may not be exhaustive.
2106[warn] |
2107[warn] | It would fail on pattern case: Parsers.this.~(_, _), _: String
2108[warn] |---------------------------------------------------------------------------
2109[warn] | Explanation (enabled by `-explain`)
2110[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2111[warn] | There are several ways to make the match exhaustive:
2112[warn] | - Add missing cases as shown in the warning
2113[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2114[warn] | - Add a case _ => ... at the end to match all remaining cases
2115[warn] ---------------------------------------------------------------------------
2116[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:285:6
2117[warn] 285 | case Null ~ Filters(Nil) ~ None ~ None ~ None => Null //null literal
2118[warn] | ^
2119[warn] |match may not be exhaustive.
2120[warn] |
2121[warn] |It would fail on pattern case: Parsers.this.~(~(_, _), org.tresql.ast.Filters(_)), Parsers.this.~(org.tresql.ast.Cols(_, _), Some(_)), Parsers.this.~(org.tresql.ast.Cols(_, _), None)
2122[warn] |---------------------------------------------------------------------------
2123[warn] | Explanation (enabled by `-explain`)
2124[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2125[warn] | There are several ways to make the match exhaustive:
2126[warn] | - Add missing cases as shown in the warning
2127[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2128[warn] | - Add a case _ => ... at the end to match all remaining cases
2129[warn] ---------------------------------------------------------------------------
2130[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:333:6
2131[warn] 333 | case name ~ distinct ~ (cols: List[String@unchecked]) ~ exp => WithTable(name, cols, distinct.isEmpty, exp)
2132[warn] | ^
2133[warn] | match may not be exhaustive.
2134[warn] |
2135[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _)
2136[warn] |---------------------------------------------------------------------------
2137[warn] | Explanation (enabled by `-explain`)
2138[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2139[warn] | There are several ways to make the match exhaustive:
2140[warn] | - Add missing cases as shown in the warning
2141[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2142[warn] | - Add a case _ => ... at the end to match all remaining cases
2143[warn] ---------------------------------------------------------------------------
2144[warn] -- [E121] Pattern Match Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:376:11
2145[warn] 376 | case x => sys.error(s"Unexpected insert parse result: $x")
2146[warn] | ^
2147[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
2148[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:413:8
2149[warn] 413 | case (db: Option[Db@unchecked]) ~ (t: Ident) ~ (a: Option[String@unchecked] ) ~ f ~ c ~ v ~ maybeCols =>
2150[warn] | ^
2151[warn] | match may not be exhaustive.
2152[warn] |
2153[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _)
2154[warn] |---------------------------------------------------------------------------
2155[warn] | Explanation (enabled by `-explain`)
2156[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2157[warn] | There are several ways to make the match exhaustive:
2158[warn] | - Add missing cases as shown in the warning
2159[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2160[warn] | - Add a case _ => ... at the end to match all remaining cases
2161[warn] ---------------------------------------------------------------------------
2162[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:500:6
2163[warn] 500 | case (objs: List[Obj@unchecked]) ~ _ ~ _ => "Delete tables clause must as the first element have " +
2164[warn] | ^
2165[warn] |match may not be exhaustive.
2166[warn] |
2167[warn] |It would fail on pattern case: Parsers.this.~(Parsers.this.~(~(_, _), org.tresql.ast.Arr(_)), _)
2168[warn] |---------------------------------------------------------------------------
2169[warn] | Explanation (enabled by `-explain`)
2170[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2171[warn] | There are several ways to make the match exhaustive:
2172[warn] | - Add missing cases as shown in the warning
2173[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2174[warn] | - Add a case _ => ... at the end to match all remaining cases
2175[warn] ---------------------------------------------------------------------------
2176[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/core/src/main/scala/org/tresql/parsing/QueryParsers.scala:534:4
2177[warn] 534 | case lop ~ "in" ~ "(" ~ rop => In(lop, rop, not = false)
2178[warn] | ^
2179[warn] | match may not be exhaustive.
2180[warn] |
2181[warn] | It would fail on pattern case: Parsers.this.~(~(_, _), _: List)
2182[warn] |---------------------------------------------------------------------------
2183[warn] | Explanation (enabled by `-explain`)
2184[warn] |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2185[warn] | There are several ways to make the match exhaustive:
2186[warn] | - Add missing cases as shown in the warning
2187[warn] | - If an extractor always return Some(...), write Some[X] for its return type
2188[warn] | - Add a case _ => ... at the end to match all remaining cases
2189[warn] ---------------------------------------------------------------------------
2190[warn] there were 55 deprecation warnings; re-run with -deprecation for details
2191[warn] 85 warnings found
2192[info] done compiling
2193[info] compiling 1 Scala source to /build/repo/core/target/scala-3.8.0-RC2/test-classes ...
2194[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/test/scala/Macros.scala:67:11
2195[warn] 67 | case s@b.SelectExpr(
2196[warn] | ^
2197[warn] | Unreachable case
2198[warn] 68 | b.Table(_, _,
2199[warn] 69 | b.TableJoin(_, b.ArrExpr(List(b.FunExpr("build_values_cursor", _, _, _, _))), _, _)
2200[warn] 70 | , _, _, _
2201[warn] 71 | ) :: _,
2202[warn] 72 | _, _, _, _, _, _, _, _, _
2203[warn] 73 | ) =>
2204[warn] -- [E030] Match case Unreachable Warning: /build/repo/core/src/test/scala/Macros.scala:93:11
2205[warn] 93 | case b.WithSelectExpr(tables, q) =>
2206[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2207[warn] | Unreachable case
2208[warn] two warnings found
2209[info] done compiling
2210[info] compiling 3 Scala sources and 1 Java source to /build/repo/target/scala-3.8.0-RC2/test-classes ...
2211[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2720:4
2212[warn] 2720 | assertResult(2.34)(tresql"round(2.33555, 2)")
2213[warn] | ^
2214[warn] | Line is indented too far to the left, or a `}` is missing
2215[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2721:4
2216[warn] 2721 | assertResult((2.34, 3, 14))(tresql"round(2.33555, 2), round(3.1,0), 5 + 9")
2217[warn] | ^
2218[warn] | Line is indented too far to the left, or a `}` is missing
2219[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2722:4
2220[warn] 2722 | assertResult(7.3)(tresql"1 + 4 - 0 + round(2.3, 5)")
2221[warn] | ^
2222[warn] | Line is indented too far to the left, or a `}` is missing
2223[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2723:4
2224[warn] 2723 | assertResult((3,3,2,(2,2))) {
2225[warn] | ^
2226[warn] | Line is indented too far to the left, or a `}` is missing
2227[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2730:4
2228[warn] 2730 | assertResult((true,false)) {
2229[warn] | ^
2230[warn] | Line is indented too far to the left, or a `}` is missing
2231[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2734:4
2232[warn] 2734 | assertResult((0,"null",'x',4,false,true)){
2233[warn] | ^
2234[warn] | Line is indented too far to the left, or a `}` is missing
2235[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2741:4
2236[warn] 2741 | assertResult(true)(tresql"1" + tresql"2 + 3" == tresql"6")
2237[warn] | ^
2238[warn] | Line is indented too far to the left, or a `}` is missing
2239[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2742:4
2240[warn] 2742 | assertResult(true) {
2241[warn] | ^
2242[warn] | Line is indented too far to the left, or a `}` is missing
2243[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2746:4
2244[warn] 2746 | assertResult(java.sql.Timestamp.valueOf("2009-02-22 00:00:00.0"))(
2245[warn] | ^
2246[warn] | Line is indented too far to the left, or a `}` is missing
2247[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2749:4
2248[warn] 2749 | assertResult(6000)(tresql"1000 + (emp[ename = 'KING']{sal})")
2249[warn] | ^
2250[warn] | Line is indented too far to the left, or a `}` is missing
2251[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2751:4
2252[warn] 2751 | assertResult("ACCOUNTING")(tresql"macro_interpolator_test4(dept, dname)".map(_.dname).toList.head)
2253[warn] | ^
2254[warn] | Line is indented too far to the left, or a `}` is missing
2255[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2753:4
2256[warn] 2753 | assertResult(List(("RESEARCH(8)",
2257[warn] | ^
2258[warn] | Line is indented too far to the left, or a `}` is missing
2259[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2765:4
2260[warn] 2765 | assertResult(List("ACCOUNTING")) {
2261[warn] | ^
2262[warn] | Line is indented too far to the left, or a `}` is missing
2263[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2771:4
2264[warn] 2771 | assertResult(List(3)) {
2265[warn] | ^
2266[warn] | Line is indented too far to the left, or a `}` is missing
2267[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2776:4
2268[warn] 2776 | assertResult(List("yes")) {
2269[warn] | ^
2270[warn] | Line is indented too far to the left, or a `}` is missing
2271[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2781:4
2272[warn] 2781 | assertResult((1, 2, 3)) {
2273[warn] | ^
2274[warn] | Line is indented too far to the left, or a `}` is missing
2275[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2784:4
2276[warn] 2784 | assertResult("abc") {
2277[warn] | ^
2278[warn] | Line is indented too far to the left, or a `}` is missing
2279[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2787:4
2280[warn] 2787 | assertResult((List(1, 2), List(3))) {
2281[warn] | ^
2282[warn] | Line is indented too far to the left, or a `}` is missing
2283[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2794:4
2284[warn] 2794 | val isScala3 = try { Class.forName("scala.Selectable"); true } catch { case ex: ClassNotFoundException => false }
2285[warn] | ^
2286[warn] | Line is indented too far to the left, or a `}` is missing
2287[warn] -- Warning: /build/repo/src/test/scala/org/tresql/test/CompilerMacroDependantTests.scala:2795:4
2288[warn] 2795 | if (isScala3) {
2289[warn] | ^
2290[warn] | Line is indented too far to the left, or a `}` is missing
2291[warn] -- [E030] Match case Unreachable Warning: /build/repo/src/test/scala/org/tresql/test/QueryTest.scala:68:13
2292[warn] 68 | case f: QueryBuilder#FunExpr if f.name == "current_time" && f.params.isEmpty => "current_time"
2293[warn] | ^^^^^^^^^^^^^^^^^^^^^^^
2294[warn] | Unreachable case
2295[warn] there were 125 deprecation warnings; re-run with -deprecation for details
2296[warn] 22 warnings found
2297[warn] /build/repo/src/test/java/org/tresql/test/TresqlJavaApiTest.java:62:25: unchecked cast
2298[warn] required: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
2299[warn] found: java.lang.Object
2300[warn] r
2301[warn] .get("emps")
2302[warn] ^
2303[info] done compiling
2304Starting build for ProjectRef(file:/build/repo/,core) (tresql-core)... [1/3]
2305Compile scalacOptions: -unchecked, -language:dynamics, -language:postfixOps, -language:implicitConversions, -language:reflectiveCalls, -language:existentials, -explain, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2306Starting build for ProjectRef(file:/build/repo/,macros) (tresql-interpolator-macro)... [2/3]
2307Compile scalacOptions: -unchecked, -language:dynamics, -language:postfixOps, -language:implicitConversions, -language:reflectiveCalls, -language:existentials, -explain, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2308
2309************************
2310Build summary:
2311[{
2312 "module": "tresql",
2313 "compile": {"status": "ok", "tookMs": 35426, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2314 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2315 "test-compile": {"status": "skipped", "tookMs": 0, "warnings": 0, "errors": 0},
2316 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
2317 "publish": {"status": "skipped", "tookMs": 0},
2318 "metadata": {
2319 "crossScalaVersions": ["3.3.7", "2.13.17", "2.12.20"]
2320}
2321},{
2322 "module": "tresql-core",
2323 "compile": {"status": "ok", "tookMs": 159, "warnings": 84, "errors": 0, "sourceVersion": "3.8"},
2324 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2325 "test-compile": {"status": "ok", "tookMs": 162, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
2326 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
2327 "publish": {"status": "ok", "tookMs": 6},
2328 "metadata": {
2329 "crossScalaVersions": ["3.3.7", "2.13.17", "2.12.20"]
2330}
2331},{
2332 "module": "tresql-interpolator-macro",
2333 "compile": {"status": "ok", "tookMs": 180, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2334 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2335 "test-compile": {"status": "ok", "tookMs": 212, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2336 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
2337 "publish": {"status": "ok", "tookMs": 5},
2338 "metadata": {
2339 "crossScalaVersions": ["3.3.7", "2.13.17", "2.12.20"]
2340}
2341}]
2342************************
2343[success] Total time: 77 s (0:01:17.0), completed Nov 27, 2025, 9:50:50 PM
2344[0JChecking patch project/plugins.sbt...
2345Checking patch build.sbt...
2346Applied patch project/plugins.sbt cleanly.
2347Applied patch build.sbt cleanly.