You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by tf...@apache.org on 2010/09/17 05:58:27 UTC
svn commit: r997969 -
/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/
Author: tfischer
Date: Fri Sep 17 03:58:26 2010
New Revision: 997969
URL: http://svn.apache.org/viewvc?rev=997969&view=rev
Log:
Add a method for quoting and escaping text which can then be used in SQL generation
Modified:
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/Platform.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformAxionImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformCloudscapeImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2400Impl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2Impl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformFactory.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHypersonicImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformInterbaseImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMsaccessImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMssqlImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformOracleImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSapdbImpl.java
db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSybaseImpl.java
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/Platform.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/Platform.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/Platform.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/Platform.java Fri Sep 17 03:58:26 2010
@@ -96,4 +96,14 @@ public interface Platform
* "create table" statement.
*/
boolean createNotNullBeforeAutoincrement();
+
+ /**
+ * Quotes and escapes a string such that it can be used
+ * as literal String value in SQL.
+ *
+ * @param value The string to escape, or null.
+ *
+ * @return the escaped String, not null.
+ */
+ String quoteAndEscape(String value);
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformAxionImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformAxionImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformAxionImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformAxionImpl.java Fri Sep 17 03:58:26 2010
@@ -60,4 +60,9 @@ public class PlatformAxionImpl extends P
SchemaType.VARBINARY,
new SqlType("BINARY"));
}
+
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformCloudscapeImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformCloudscapeImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformCloudscapeImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformCloudscapeImpl.java Fri Sep 17 03:58:26 2010
@@ -81,4 +81,8 @@ public class PlatformCloudscapeImpl exte
return "DEFAULT AUTOINCREMENT";
}
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2400Impl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2400Impl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2400Impl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2400Impl.java Fri Sep 17 03:58:26 2010
@@ -83,4 +83,9 @@ public class PlatformDb2400Impl extends
{
return 30;
}
+
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2Impl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2Impl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2Impl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDb2Impl.java Fri Sep 17 03:58:26 2010
@@ -81,4 +81,8 @@ public class PlatformDb2Impl extends Pla
return "GENERATED ALWAYS AS IDENTITY";
}
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java Fri Sep 17 03:58:26 2010
@@ -158,4 +158,27 @@ public class PlatformDefaultImpl impleme
{
return true;
}
+
+ /**
+ * @see Platform#quoteAndEscape(String)
+ */
+ public String quoteAndEscape(String text)
+ {
+ String result = text.replace("'", "''");
+ if (escapeBackslashes())
+ {
+ result = result.replace("\\", "\\\\");
+ }
+ return "'" + result + "'";
+ }
+
+ /**
+ * Returns whether backslashes must be escaped in string literals.
+ *
+ * @return true if backslashes bust be escaped, false otherwise.
+ */
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java Fri Sep 17 03:58:26 2010
@@ -112,4 +112,9 @@ public class PlatformDerbyImpl extends P
|| "BINARY".equals(sqlType) || "VARBINARY".equals(sqlType)
|| "BLOB".equals(sqlType) || "CLOB".equals(sqlType);
}
+
+ protected boolean escapeBackslashes()
+ {
+ return false;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformFactory.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformFactory.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformFactory.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformFactory.java Fri Sep 17 03:58:26 2010
@@ -114,4 +114,6 @@ public final class PlatformFactory
{
return platforms;
}
+
+
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHypersonicImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHypersonicImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHypersonicImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHypersonicImpl.java Fri Sep 17 03:58:26 2010
@@ -85,4 +85,9 @@ public class PlatformHypersonicImpl exte
{
return false;
}
+
+ protected boolean escapeBackslashes()
+ {
+ return false;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformInterbaseImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformInterbaseImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformInterbaseImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformInterbaseImpl.java Fri Sep 17 03:58:26 2010
@@ -61,4 +61,8 @@ public class PlatformInterbaseImpl exten
new SqlType("BLOB"));
}
+ protected boolean escapeBackslashes()
+ {
+ return false;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMsaccessImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMsaccessImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMsaccessImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMsaccessImpl.java Fri Sep 17 03:58:26 2010
@@ -60,4 +60,9 @@ public class PlatformMsaccessImpl extend
SchemaType.LONGVARBINARY,
new SqlType("BINARY"));
}
+
+ protected boolean escapeBackslashes()
+ {
+ return false;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMssqlImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMssqlImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMssqlImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMssqlImpl.java Fri Sep 17 03:58:26 2010
@@ -100,4 +100,9 @@ public class PlatformMssqlImpl extends P
{
return (notNull ? "NOT NULL" : "NULL");
}
+
+ protected boolean escapeBackslashes()
+ {
+ return false;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java Fri Sep 17 03:58:26 2010
@@ -87,4 +87,9 @@ public class PlatformMysqlImpl extends P
|| "BLOB".equals(sqlType) || "MEDIUMBLOB".equals(sqlType)
|| "LONGBLOB".equals(sqlType));
}
+
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformOracleImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformOracleImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformOracleImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformOracleImpl.java Fri Sep 17 03:58:26 2010
@@ -114,4 +114,9 @@ public class PlatformOracleImpl extends
{
return "";
}
+
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java Fri Sep 17 03:58:26 2010
@@ -131,4 +131,9 @@ public class PlatformPostgresqlImpl exte
}
return true;
}
+
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSapdbImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSapdbImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSapdbImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSapdbImpl.java Fri Sep 17 03:58:26 2010
@@ -104,4 +104,8 @@ public class PlatformSapdbImpl extends P
return "DEFAULT SERIAL";
}
+ protected boolean escapeBackslashes()
+ {
+ return false;
+ }
}
Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSybaseImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSybaseImpl.java?rev=997969&r1=997968&r2=997969&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSybaseImpl.java (original)
+++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformSybaseImpl.java Fri Sep 17 03:58:26 2010
@@ -91,4 +91,9 @@ public class PlatformSybaseImpl extends
{
return (notNull ? "NOT NULL" : "NULL");
}
+
+ protected boolean escapeBackslashes()
+ {
+ return true;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org