You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2011/11/13 19:39:03 UTC

svn commit: r1201471 - /incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java

Author: doebele
Date: Sun Nov 13 18:39:02 2011
New Revision: 1201471

URL: http://svn.apache.org/viewvc?rev=1201471&view=rev
Log:
EMPIREDB-122
added option to for Unicode prefix

Modified:
    incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java

Modified: incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java?rev=1201471&r1=1201470&r2=1201471&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java (original)
+++ incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/sqlserver/DBDatabaseDriverMSSQL.java Sun Nov 13 18:39:02 2011
@@ -100,15 +100,21 @@ public class DBDatabaseDriverMSSQL exten
     // Sequence treatment
     // When set to 'false' (default) MySQL's auto-increment feature is used.
     private boolean useSequenceTable = false;
+    private boolean useUnicodePrefix = true;
     
     private DBDDLGenerator<?> ddlGenerator = null; // lazy creation
+
+    protected static final String[] MSSQL_SQL_KEYWORDS = new String[] { "type", "key" };        
     
     /**
      * Constructor for the MSSQL database driver.<br>
      */
     public DBDatabaseDriverMSSQL()
     {
-        // Default Constructor
+        // Initialize List of reserved Keywords
+        for (String keyWord:MSSQL_SQL_KEYWORDS){
+             reservedSQLKeywords.add(keyWord);
+        }
     }
 
     public String getDatabaseName()
@@ -169,6 +175,24 @@ public class DBDatabaseDriverMSSQL exten
 		this.sequenceTableName = sequenceTableName;
 	}
 
+	/**
+	 * Indicates whether or not a Unicode Prefix (N) is prepended to all text values
+	 */
+    public boolean isUseUnicodePrefix()
+    {
+        return useUnicodePrefix;
+    }
+
+    /**
+     * Sets whether or not to use a Unicode Prefix (N) for all text values
+     * Default is true 
+     * @param useUnicodePrefix true if a Unicode Prefix (N) should be used for text values
+     */
+    public void setUseUnicodePrefix(boolean useUnicodePrefix)
+    {
+        this.useUnicodePrefix = useUnicodePrefix;
+    }
+
     /** {@inheritDoc} */
     @Override
     public void attachDatabase(DBDatabase db, Connection conn)
@@ -358,7 +382,7 @@ public class DBDatabaseDriverMSSQL exten
     {
         StringBuilder valBuf = new StringBuilder();
         // for SQLSERVER utf8 support, see EMPIREDB-122
-        valBuf.append("N'");
+        valBuf.append((useUnicodePrefix) ? "N'" : "'");
         if (DBDatabase.EMPTY_STRING.equals(value)==false)
             appendTextValue(valBuf, value.toString());
         valBuf.append("'");