Build Logs

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

Errors

3

Warnings

2021

Total Lines

2461

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