|
From: <bir...@us...> - 2007-05-01 03:28:56
|
Revision: 109
http://svn.sourceforge.net/mptstore/?rev=109&view=rev
Author: birkland
Date: 2007-04-30 20:28:53 -0700 (Mon, 30 Apr 2007)
Log Message:
-----------
Modified to use DBUtil escaping. Constructor to GraphQuerySQLProvider has changed to indicate backslash escaping. As a result, version bumped
Modified Paths:
--------------
trunk/src/java/org/nsdl/mptstore/MPTStore.properties
trunk/src/java/org/nsdl/mptstore/query/provider/GraphQuerySQLProvider.java
Modified: trunk/src/java/org/nsdl/mptstore/MPTStore.properties
===================================================================
--- trunk/src/java/org/nsdl/mptstore/MPTStore.properties 2007-02-07 18:18:24 UTC (rev 108)
+++ trunk/src/java/org/nsdl/mptstore/MPTStore.properties 2007-05-01 03:28:53 UTC (rev 109)
@@ -1,2 +1,2 @@
-mptstore.version = 0.9.1
+mptstore.version = 0.9.2
mptstore.buildDate = @buildDate@
Modified: trunk/src/java/org/nsdl/mptstore/query/provider/GraphQuerySQLProvider.java
===================================================================
--- trunk/src/java/org/nsdl/mptstore/query/provider/GraphQuerySQLProvider.java 2007-02-07 18:18:24 UTC (rev 108)
+++ trunk/src/java/org/nsdl/mptstore/query/provider/GraphQuerySQLProvider.java 2007-05-01 03:28:53 UTC (rev 109)
@@ -22,6 +22,7 @@
import org.nsdl.mptstore.query.component.TriplePattern;
import org.nsdl.mptstore.rdf.Node;
import org.nsdl.mptstore.rdf.PredicateNode;
+import org.nsdl.mptstore.util.DBUtil;
/**
* Translates a {@link GraphQuery} into a series of SQL statements.
@@ -53,6 +54,8 @@
private final MappingManager manager;
private List<String> targets;
+ private final boolean backslashEscape;
+
private String ordering;
private String orderingDirection;
@@ -65,12 +68,16 @@
*
* @param tableManager the table manager to use for looking up table names.
* @param graphQuery the graph query.
+ * @param backslashIsEscape whether backslash should be escaped in SQL
+ * (Database specific)
*/
public GraphQuerySQLProvider(final TableManager tableManager,
- final GraphQuery graphQuery) {
+ final GraphQuery graphQuery,
+ final boolean backslashIsEscape) {
this.manager = new MappingManager(tableManager);
this.query = graphQuery;
+ this.backslashEscape = backslashIsEscape;
}
@@ -427,7 +434,9 @@
left = getBoundValue(f.getNode(),
variableBindings);
} else {
- left = "'" + f.getNode().getNode() + "'";
+ left = DBUtil.quotedString(
+ f.getNode().getNode().toString(),
+ backslashEscape);
}
if (f.getConstraint().isVariable()
@@ -439,7 +448,9 @@
right = getBoundValue(f.getConstraint(),
variableBindings);
} else {
- right = "'" + f.getConstraint().getNode() + "'";
+ right = DBUtil.quotedString(
+ f.getConstraint().getNode().toString(),
+ backslashEscape);
}
conditions.addCondition(left, f.getOperator(),
@@ -484,8 +495,10 @@
+ "It's probably not legal to be here...");
} else {
valueBindings.get(mappedName).add(
- mappedName + " " + f.getOperator() + " '"
- + f.getConstraint().getNode() + "'");
+ mappedName + " " + f.getOperator() + " "
+ + DBUtil.quotedString(
+ f.getConstraint().getNode().toString(),
+ backslashEscape));
LOG.debug("Remaining Filters: " + mappedName + " "
+ f.getOperator() + " '"
+ f.getConstraint().getNode() + "'" + "\n");
@@ -498,7 +511,8 @@
+ "variable? It's probably not legal to be here...");
} else {
valueBindings.get(mappedName).add(
- "'" + f.getNode().getNode() + "' "
+ DBUtil.quotedString(f.getNode().getNode().toString(),
+ backslashEscape) + " "
+ f.getOperator() + " " + mappedName);
LOG.debug("Remaining Filters: " + "'"
+ f.getNode().getNode() + "' "
@@ -548,7 +562,7 @@
if (n.isVariable()) {
return variableBindings.get(n.getVarName());
} else {
- return "'" + n.getNode().toString() + "'";
+ return DBUtil.quotedString(n.getNode().toString(), backslashEscape);
}
}
@@ -584,7 +598,8 @@
LOG.debug("bindNode: adding valueBinding " + p.mappedName()
+ " = " + "'" + p.getNode() + "'\n");
valueBindings.get(p.boundTable().alias()).add(p.mappedName()
- + " = " + "'" + p.getNode() + "'");
+ + " = " + DBUtil.quotedString(p.getNode().toString(),
+ backslashEscape));
}
}
@@ -806,7 +821,7 @@
if (tableName == null) {
/* No predicate found.. create table that returns no results */
alias = "np_" + noMap++;
- tableName = "(SELECT pkey AS s, pkey AS o from tmap where 1=0)";
+ tableName = "(SELECT p AS s, p AS o from tmap where 1=0)";
} else if (predicateMap
.containsKey(predicate.getNode().toString())) {
List<String> aliases = predicateMap.get(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|