aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Uspensky <v.uspenskiy@icloud.com>2017-09-26 19:18:13 -0700
committerGitHub <noreply@github.com>2017-09-26 19:18:13 -0700
commit9e631cb74e9ad7ed33965e27c64e23a851cf7673 (patch)
tree8452f8ad4933ee070552af4ca7d21b32376effee
parent7bb4873042d1bc557a7f2e78b15a44d3ba182bf5 (diff)
parentcd1e685b22db2c69ad3d418b6b24b65fd63472fa (diff)
downloadrest-query-0.3.20.tar.gz
rest-query-0.3.20.tar.bz2
rest-query-0.3.20.zip
Merge pull request #30 from drivergroup/eq-parserv0.3.20
Make number filter parsing attempt first, because number parsers are more specific
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/db/QueryBuilder.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala4
3 files changed, 8 insertions, 4 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/db/QueryBuilder.scala b/src/main/scala/xyz/driver/pdsuicommon/db/QueryBuilder.scala
index aa32166..0bf1ed6 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/db/QueryBuilder.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/db/QueryBuilder.scala
@@ -57,10 +57,10 @@ sealed trait QueryBuilderParameters {
def toSql(countQuery: Boolean, fields: Set[String], namingStrategy: NamingStrategy): (String, QueryBuilder.Binder) = {
val escapedTableName = namingStrategy.table(tableData.tableName)
val fieldsSql: String = if (countQuery) {
- val suffix: String = (tableData.lastUpdateFieldName match {
+ val suffix: String = tableData.lastUpdateFieldName match {
case Some(lastUpdateField) => s", max($escapedTableName.${namingStrategy.column(lastUpdateField)})"
case None => ""
- })
+ }
"count(*)" + suffix
} else {
if (fields == QueryBuilderParameters.AllFields) {
diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
index 8aff397..7e86eae 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala
@@ -93,8 +93,8 @@ object SearchFilterParser {
private val binaryAtomParser: Parser[SearchFilterExpr.Atom.Binary] = P(
dimensionParser ~ whitespaceParser ~ (
- (commonOperatorParser.! ~/ whitespaceParser ~/ AnyChar.rep(min = 1).!)
- | (numericOperatorParser.! ~/ whitespaceParser ~/ numberParser.!)
+ (numericOperatorParser.! ~/ whitespaceParser ~/ numberParser.!) |
+ (commonOperatorParser.! ~/ whitespaceParser ~/ AnyChar.rep(min = 1).!)
) ~ End
).map {
case BinaryAtomFromTuple(atom) => atom
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
index 1f73184..839fead 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
@@ -14,6 +14,8 @@ import xyz.driver.pdsuicommon.validation.Validators
import xyz.driver.pdsuicommon.validation.Validators.Validator
import xyz.driver.pdsuidomain.entities.Document.Meta
+import scalaz.Equal
+
final case class ProviderType(id: LongId[ProviderType], name: String)
object ProviderType {
@@ -124,6 +126,8 @@ object DocumentType {
}
}
+ implicit def equal: Equal[DocumentType] = Equal.equal[DocumentType](_ == _)
+
implicit def toPhiString(x: DocumentType): PhiString = {
import x._
phi"DocumentType(id=$id, name=${Unsafe(name)})"