From 01ca0ae5c198a426a889791597e188e6fb30137f Mon Sep 17 00:00:00 2001 From: Richard Newman Date: Mon, 27 Mar 2017 20:36:03 -0700 Subject: [PATCH] Part 2: add an EmptyBecause case for fulltext/non-string type mismatch. --- query-algebrizer/src/cc.rs | 3 +++ query-algebrizer/src/types.rs | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/query-algebrizer/src/cc.rs b/query-algebrizer/src/cc.rs index d1f34e3c..549976ef 100644 --- a/query-algebrizer/src/cc.rs +++ b/query-algebrizer/src/cc.rs @@ -173,6 +173,9 @@ impl Debug for EmptyBecause { &NonNumericArgument => { write!(f, "Non-numeric argument in numeric place") }, + &NonStringFulltextValue => { + write!(f, "Non-string argument for fulltext attribute") + }, &UnresolvedIdent(ref kw) => { write!(f, "Couldn't resolve keyword {}", kw) }, diff --git a/query-algebrizer/src/types.rs b/query-algebrizer/src/types.rs index 3d1f2ce6..6214fa19 100644 --- a/query-algebrizer/src/types.rs +++ b/query-algebrizer/src/types.rs @@ -297,11 +297,12 @@ impl Debug for ColumnConstraint { } } -#[derive(PartialEq)] +#[derive(PartialEq, Clone)] pub enum EmptyBecause { // Var, existing, desired. TypeMismatch(Variable, HashSet, ValueType), NonNumericArgument, + NonStringFulltextValue, UnresolvedIdent(NamespacedKeyword), InvalidAttributeIdent(NamespacedKeyword), InvalidAttributeEntid(Entid),