|
From: <cw...@us...> - 2007-07-16 12:32:25
|
Revision: 471
http://rdfapi-php.svn.sourceforge.net/rdfapi-php/?rev=471&view=rev
Author: cweiske
Date: 2007-07-16 05:32:24 -0700 (Mon, 16 Jul 2007)
Log Message:
-----------
Allow changing the statements't table name in sparqlenginedb by setting
$GLOBALS['RAP']['conf']['database']['tblStatements']
(required for ACL)
Modified Paths:
--------------
trunk/rdfapi-php/api/sparql/SparqlEngineDb/SqlGenerator.php
trunk/rdfapi-php/api/sparql/SparqlEngineDb.php
Modified: trunk/rdfapi-php/api/sparql/SparqlEngineDb/SqlGenerator.php
===================================================================
--- trunk/rdfapi-php/api/sparql/SparqlEngineDb/SqlGenerator.php 2007-07-16 12:31:20 UTC (rev 470)
+++ trunk/rdfapi-php/api/sparql/SparqlEngineDb/SqlGenerator.php 2007-07-16 12:32:24 UTC (rev 471)
@@ -129,8 +129,13 @@
protected $nSqlVariableNameCount = 0;
+ /**
+ * Name of the statements table
+ */
+ protected $tblStatements = 'statements';
+
public function __construct(Query $query, ADOConnection $dbConn, $arModelIds)
{
$this->query = $query;
@@ -410,21 +415,21 @@
*/
if ($this->nUnionTriplePatternCount == 0) {
//first FROM
- $strFrom = 'statements as ' . $strTablePrefix;
+ $strFrom = $this->tblStatements . ' as ' . $strTablePrefix;
} else {
//normal join
if (count($this->arModelIds) == 1) {
- $strFrom = 'LEFT JOIN statements as ' . $strTablePrefix
+ $strFrom = 'LEFT JOIN ' . $this->tblStatements . ' as ' . $strTablePrefix
. ' ON t0.modelID = ' . $strTablePrefix . '.modelID';
} else if (count($this->arModelIds) > 1) {
$arIDs = array();
foreach ($this->arModelIds as $nId) {
$arIDs[] = $strTablePrefix . '.modelID = ' . intval($nId);
}
- $strFrom = 'LEFT JOIN statements as ' . $strTablePrefix
+ $strFrom = 'LEFT JOIN ' . $this->tblStatements . ' as ' . $strTablePrefix
. ' ON (' . implode(' OR ', $arIDs) . ')';
} else {
- $strFrom = 'LEFT JOIN statements as ' . $strTablePrefix
+ $strFrom = 'LEFT JOIN ' . $this->tblStatements . ' as ' . $strTablePrefix
. ' ON t0.modelID = ' . $strTablePrefix . '.modelID';
}
@@ -965,5 +970,12 @@
return $this->arVarAssignments[$strSparqlVar]['sql_type'];
}//protected function getSqlVariableNameDatatype($var)
+
+
+ public function setStatementsTable($tblStatements)
+ {
+ $this->tblStatements = $tblStatements;
+ }//public function setStatementsTable($tblStatements)
+
}//class SparqlEngineDb_SqlGenerator
?>
\ No newline at end of file
Modified: trunk/rdfapi-php/api/sparql/SparqlEngineDb.php
===================================================================
--- trunk/rdfapi-php/api/sparql/SparqlEngineDb.php 2007-07-16 12:31:20 UTC (rev 470)
+++ trunk/rdfapi-php/api/sparql/SparqlEngineDb.php 2007-07-16 12:32:24 UTC (rev 471)
@@ -122,6 +122,7 @@
$this->sg = new SparqlEngineDb_SqlGenerator ($this->query, $this->dbConn, $this->arModelIds);
$this->rc = new SparqlEngineDb_ResultConverter($this->query, $this->sg, $this);
$this->ts = new SparqlEngineDb_TypeSorter ($this->query, $this->dbConn);
+ $this->setOptions();
if($this->query->isEmpty()){
$vartable[0]['patternResult'] = null;
@@ -336,6 +337,21 @@
+ /**
+ * Set options to subobjects like SqlGenerator
+ */
+ protected function setOptions()
+ {
+ //allow changing the statements' table name
+ if (isset($GLOBALS['RAP']['conf']['database']['tblStatements'])) {
+ $this->sg->setStatementsTable(
+ $GLOBALS['RAP']['conf']['database']['tblStatements']
+ );
+ }
+ }//protected function setOptions()
+
+
+
/*
* Dumb getters
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|