Smalyshev has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/297348

Change subject: Better fix for date parsing
......................................................................

Better fix for date parsing

Change-Id: I083c89d1f53e46a6a121046e57cbe5a1118f5aca
---
M 
blazegraph/src/main/java/org/wikidata/query/rdf/blazegraph/constraints/WikibaseDateBOp.java
1 file changed, 7 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikidata/query/rdf 
refs/changes/48/297348/1

diff --git 
a/blazegraph/src/main/java/org/wikidata/query/rdf/blazegraph/constraints/WikibaseDateBOp.java
 
b/blazegraph/src/main/java/org/wikidata/query/rdf/blazegraph/constraints/WikibaseDateBOp.java
index 994e510..50e5344 100644
--- 
a/blazegraph/src/main/java/org/wikidata/query/rdf/blazegraph/constraints/WikibaseDateBOp.java
+++ 
b/blazegraph/src/main/java/org/wikidata/query/rdf/blazegraph/constraints/WikibaseDateBOp.java
@@ -20,6 +20,7 @@
 import com.bigdata.rdf.internal.impl.literal.XSDIntegerIV;
 import com.bigdata.rdf.model.BigdataLiteral;
 import com.bigdata.rdf.sparql.ast.GlobalAnnotations;
+import com.ibm.icu.impl.IllegalIcuArgumentException;
 
 /**
  * A date expression involving a left IValueExpression operand.
@@ -93,7 +94,11 @@
         if (iv instanceof LiteralExtensionIV) {
             return 
WikibaseDate.fromSecondsSinceEpoch(((LiteralExtensionIV)iv).getDelegate().longValue());
         }
-        return 
WikibaseDate.fromString(iv.getValue().stringValue()).cleanWeirdStuff();
+        try {
+            return 
WikibaseDate.fromString(iv.getValue().stringValue()).cleanWeirdStuff();
+        } catch(IllegalArgumentException e) {
+            return null;
+        }
     }
 
     /**
@@ -110,12 +115,11 @@
         }
 
         if (left.isLiteral()) {
-
             BigdataLiteral bl = (BigdataLiteral) left.getValue();
             if (XSD.DATETIME.equals(bl.getDatatype())) {
                 final WikibaseDate date = getWikibaseDate(left);
                 if (date == null) {
-                    return originalOp.get(bs);
+                    throw new SparqlTypeErrorException();
                 }
 
                 switch (op()) {

-- 
To view, visit https://gerrit.wikimedia.org/r/297348
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I083c89d1f53e46a6a121046e57cbe5a1118f5aca
Gerrit-PatchSet: 1
Gerrit-Project: wikidata/query/rdf
Gerrit-Branch: master
Gerrit-Owner: Smalyshev <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to