ing-bank / scruid

Scala + Druid: Scruid. A library that allows you to compose queries in Scala, and parse the result back into typesafe classes.
Apache License 2.0
115 stars 29 forks source link

Updates DQL API to improve numeric values support to In and Eq operators #56

Closed anskarl closed 5 years ago

anskarl commented 5 years ago

Adds/improves numeric args for in and === operators.

For example, the user can now write

'dimName in (1, 2, 3)

instead of

'dimName in ("1", "2", "3")

Similarly, the user can now write

'dimName === 5

instead of

'dimName === "5"
anskarl commented 5 years ago

While on my laptop scruid can be successfully build and tested, it looks like the build fails on CircleCI. For some reason the following SBT plugins cannot be found:

[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scoverage#sbt-scoverage;1.5.1: not found
[warn]  :: com.codacy#sbt-codacy-coverage;1.3.12: not found
[warn]  :: com.lucidchart#sbt-scalafmt;1.15: not found
[warn]  :: net.vonbuchholtz#sbt-dependency-check;0.2.4: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      org.scoverage:sbt-scoverage:1.5.1 (scalaVersion=2.12, sbtVersion=1.0)
[warn]      com.codacy:sbt-codacy-coverage:1.3.12 (scalaVersion=2.12, sbtVersion=1.0)
[warn]      com.lucidchart:sbt-scalafmt:1.15 (scalaVersion=2.12, sbtVersion=1.0)
[warn]      net.vonbuchholtz:sbt-dependency-check:0.2.4 (scalaVersion=2.12, sbtVersion=1.0)
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scoverage:sbt-scoverage:1.5.1 (scalaVersion=2.12, sbtVersion=1.0) (/home/ubuntu/scruid/project/plugins.sbt#L26-27)
[warn]        +- default:scruid-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[warn]      com.codacy:sbt-codacy-coverage:1.3.12 (scalaVersion=2.12, sbtVersion=1.0) (/home/ubuntu/scruid/project/plugins.sbt#L28-29)
[warn]        +- default:scruid-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[warn]      com.lucidchart:sbt-scalafmt:1.15 (scalaVersion=2.12, sbtVersion=1.0) (/home/ubuntu/scruid/project/plugins.sbt#L32-33)
[warn]        +- default:scruid-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[warn]      net.vonbuchholtz:sbt-dependency-check:0.2.4 (scalaVersion=2.12, sbtVersion=1.0) (/home/ubuntu/scruid/project/plugins.sbt#L36-37)
[warn]        +- default:scruid-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: org.scoverage#sbt-scoverage;1.5.1: not found
[error] unresolved dependency: com.codacy#sbt-codacy-coverage;1.3.12: not found
[error] unresolved dependency: com.lucidchart#sbt-scalafmt;1.15: not found
[error] unresolved dependency: net.vonbuchholtz#sbt-dependency-check;0.2.4: not found
[error]     at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error]     at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error]     at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error]     at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error]     at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error]     at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
[error]     at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
[error]     at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
[error]     at xsbt.boot.Using$.withResource(Using.scala:10)
[error]     at xsbt.boot.Using$.apply(Using.scala:9)
[error]     at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
[error]     at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
[error]     at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error]     at xsbt.boot.Locks$.apply(Locks.scala:28)
[error]     at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error]     at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error]     at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error]     at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error]     at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error]     at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error]     at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error]     at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:45)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error]     at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error]     at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error]     at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error]     at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error]     at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error]     at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2550)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error]     at sbt.std.Transform$$anon$4.work(System.scala:67)
[error]     at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]     at sbt.Execute.work(Execute.scala:278)
[error]     at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error]     at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error]     at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[error]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[error]     at java.lang.Thread.run(Thread.java:745)
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.scoverage#sbt-scoverage;1.5.1: not found
[error] unresolved dependency: com.codacy#sbt-codacy-coverage;1.3.12: not found
[error] unresolved dependency: com.lucidchart#sbt-scalafmt;1.15: not found
[error] unresolved dependency: net.vonbuchholtz#sbt-dependency-check;0.2.4: not found
bjgbeelen commented 5 years ago

We need to upgrade circleci, v1 is only supported for two more days. I'll see if I can make some time for this tomorrow

bjgbeelen commented 5 years ago

I'll use this MR to test it ;-)

anskarl commented 5 years ago

Hi, I have rebased the latest changes from master branch (circe and circleci changes) and everything is looking fine