|
From: <cw...@us...> - 2007-08-08 13:48:26
|
Revision: 476
http://rdfapi-php.svn.sourceforge.net/rdfapi-php/?rev=476&view=rev
Author: cweiske
Date: 2007-08-08 06:48:22 -0700 (Wed, 08 Aug 2007)
Log Message:
-----------
Make test-B-18 pass
Modified Paths:
--------------
trunk/rdfapi-php/api/sparql/SparqlEngineDb/FilterGenerator.php
trunk/rdfapi-php/api/sparql/SparqlParser.php
Modified: trunk/rdfapi-php/api/sparql/SparqlEngineDb/FilterGenerator.php
===================================================================
--- trunk/rdfapi-php/api/sparql/SparqlEngineDb/FilterGenerator.php 2007-08-08 13:47:51 UTC (rev 475)
+++ trunk/rdfapi-php/api/sparql/SparqlEngineDb/FilterGenerator.php 2007-08-08 13:48:22 UTC (rev 476)
@@ -156,8 +156,8 @@
//convert datetime to datetime if necessary
return self::mkVal(
'(CASE'
- . ' WHEN ' . $this->getIsCol($tree) . ' = "' . self::$typeXsdDateTime . '"'
- . ' THEN ' . $this->getDateConversionSql($this->getValueCol($tree))
+ . ' WHEN ' . $this->getDatatypeCol($tree) . ' = "' . self::$typeXsdBoolean . '"'
+ . ' THEN IF(LOWER(' . $this->getValueCol($tree) . ') = "true", TRUE, FALSE)'
. ' ELSE ' . $this->getValueCol($tree)
. ' END)',
self::$typeVariable
@@ -172,14 +172,17 @@
if ($this->isNumber($tree)) {
return $strValue;
- } else if ($tree['quoted'] === false) {
+ } else if ($tree['quoted'] === false &&
+ (!isset($tree['datatype']) || $tree['datatype'] != self::$typeXsdBoolean)
+ ) {
$strValueNew = $this->sg->query->getFullUri($strValue);
if ($strValueNew === false) {
if ($strValue[0] == '<' && substr($strValue, -1) == '>') {
$strValue = substr($strValue, 1, -1);
} else {
+var_dump($tree);
throw new SparqlEngineDb_SqlGeneratorException(
- 'Unexpected value "' . $strValueNew . '" (expected datatype)'
+ 'Unexpected value "' . $strValue . '" (expected datatype)'
);
}
} else {
Modified: trunk/rdfapi-php/api/sparql/SparqlParser.php
===================================================================
--- trunk/rdfapi-php/api/sparql/SparqlParser.php 2007-08-08 13:47:51 UTC (rev 475)
+++ trunk/rdfapi-php/api/sparql/SparqlParser.php 2007-08-08 13:48:22 UTC (rev 476)
@@ -1017,6 +1017,13 @@
$strQuoted = $tok;
$litQuotes = true;
}
+ } else if ($tok == 'true' || $tok == 'false') {
+ $part[] = array(
+ 'type' => 'value',
+ 'value' => $tok,
+ 'quoted' => false,
+ 'datatype' => 'http://www.w3.org/2001/XMLSchema#boolean'
+ );
} else {
$part[] = array(
'type' => 'value',
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|