You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by tm...@apache.org on 2006/10/15 16:36:43 UTC

svn commit: r464202 - in /db/derby/code/trunk/java: engine/org/apache/derby/iapi/types/ testing/org/apache/derbyTesting/functionTests/master/ testing/org/apache/derbyTesting/functionTests/master/jdk14/ testing/org/apache/derbyTesting/functionTests/test...

Author: tmnk
Date: Sun Oct 15 07:36:41 2006
New Revision: 464202

URL: http://svn.apache.org/viewvc?view=rev&rev=464202
Log:
- DERBY-1942 There exists difference between behavior of setNull(Types.TIME) and setTiime(null) - Patch by Tomohito Nakayama (tomonaka@basil.ocn.ne.jp)

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLTimestamp.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/jdk14/updatableResultSet.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/parameterMapping.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatableResultSet.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/updatableResultSet.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLTimestamp.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLTimestamp.java?view=diff&rev=464202&r1=464201&r2=464202
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLTimestamp.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLTimestamp.java Sun Oct 15 07:36:41 2006
@@ -673,30 +673,8 @@
         }
 		/* encodedTime and nanos are already set to zero by restoreToNull() */
 	}
-
-	/**
-		@see DateTimeDataValue#setValue
-
-	 */
-	public void setValue(Time value, Calendar cal) throws StandardException
-	{
-		restoreToNull();
-		if (value != null)
-		{
-			/*
-			** Create a new timestamp with today's date,
-			** and 'value' time.  
-			**
-			** We create a new calendar to get today's date
-			*/
-			Calendar today = GregorianCalendar.getInstance();
-			encodedDate = SQLDate.computeEncodedDate(today);
-            if( cal == null)
-                cal = today;
-			encodedTime = computeEncodedTime(value, cal);
-		}
-	}
-
+    
+    
 	/**
 		@see DateTimeDataValue#setValue
 

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/jdk14/updatableResultSet.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/jdk14/updatableResultSet.out?view=diff&rev=464202&r1=464201&r2=464202
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/jdk14/updatableResultSet.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/jdk14/updatableResultSet.out Sun Oct 15 07:36:41 2006
@@ -2016,7 +2016,9 @@
     Using column name as first parameter to updateDate
   Testing updateTime on SQL type TIMESTAMP
     Using column position as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
     Using column name as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   Testing updateTimestamp on SQL type TIMESTAMP
     Using column position as first parameter to updateTimestamp
     Using column name as first parameter to updateTimestamp
@@ -2881,7 +2883,9 @@
   updateObject with column position & Date object as parameters
   updateObject with column name & Date object as parameters
   updateObject with column position & Time object as parameters
+    Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   updateObject with column name & Time object as parameters
+    Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   updateObject with column position & TimeStamp object as parameters
   updateObject with column name & TimeStamp object as parameters
   updateObject with column position & Blob object as parameters
@@ -4582,7 +4586,9 @@
     Using column name as first parameter to updateDate
   Testing updateTime on SQL type TIMESTAMP
     Using column position as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
     Using column name as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   Testing updateTimestamp on SQL type TIMESTAMP
     Using column position as first parameter to updateTimestamp
     Using column name as first parameter to updateTimestamp

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/parameterMapping.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/parameterMapping.out?view=diff&rev=464202&r1=464201&r2=464202
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/parameterMapping.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/parameterMapping.out Sun Oct 15 07:36:41 2006
@@ -3174,10 +3174,10 @@
   setDate() as batch getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setDate(null) getTimestamp=null was null true JDBC MATCH(OK)
   setDate(null) as batch getTimestamp=null was null true JDBC MATCH(OK)
-  setTime() getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
-  setTime() as batch getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
-  setTime(null) getTimestamp=null was null true JDBC MATCH(OK)
-  setTime(null) as batch getTimestamp=null was null true JDBC MATCH(OK)
+  setTime()  (XCL12):An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'. JDBC FAIL TIMESTAMP
+  setTime() as batch  (XCL12):An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'. JDBC FAIL TIMESTAMP
+  setTime(null)  (XCL12):An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'. JDBC FAIL TIMESTAMP
+  setTime(null) as batch  (XCL12):An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'. JDBC FAIL TIMESTAMP
   setTimestamp() getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setTimestamp() as batch getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setTimestamp(null) getTimestamp=null was null true JDBC MATCH(OK)
@@ -3228,8 +3228,8 @@
   setObject(byte[]) as batch IC JDBC MATCH (INVALID)
   setObject(java.sql.Date) getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setObject(java.sql.Date) as batch getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
-  setObject(java.sql.Time) getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false CLOUD EXT (OK)
-  setObject(java.sql.Time) as batch getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false CLOUD EXT (OK)
+  setObject(java.sql.Time) IC JDBC MATCH (INVALID)
+  setObject(java.sql.Time) as batch IC JDBC MATCH (INVALID)
   setObject(java.sql.Timestamp) getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setObject(java.sql.Timestamp) as batch getTimestamp=xxxxxxFILTERED-TIMESTAMPxxxxxwas null false JDBC MATCH(OK)
   setObject(java.sql.Blob) IC JDBC MATCH (INVALID)

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatableResultSet.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatableResultSet.out?view=diff&rev=464202&r1=464201&r2=464202
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatableResultSet.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatableResultSet.out Sun Oct 15 07:36:41 2006
@@ -1888,7 +1888,9 @@
     Using column name as first parameter to updateDate
   Testing updateTime on SQL type TIMESTAMP
     Using column position as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
     Using column name as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   Testing updateTimestamp on SQL type TIMESTAMP
     Using column position as first parameter to updateTimestamp
     Using column name as first parameter to updateTimestamp
@@ -2619,7 +2621,9 @@
   updateObject with column position & Date object as parameters
   updateObject with column name & Date object as parameters
   updateObject with column position & Time object as parameters
+    Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   updateObject with column name & Time object as parameters
+    Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   updateObject with column position & TimeStamp object as parameters
   updateObject with column name & TimeStamp object as parameters
   updateObject with column position & Boolean object as parameters
@@ -4188,7 +4192,9 @@
     Using column name as first parameter to updateDate
   Testing updateTime on SQL type TIMESTAMP
     Using column position as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
     Using column name as first parameter to updateTime
+      Got expected exception : An attempt was made to put a data value of type 'java.sql.Time' into a data value of type 'TIMESTAMP'.
   Testing updateTimestamp on SQL type TIMESTAMP
     Using column position as first parameter to updateTimestamp
     Using column name as first parameter to updateTimestamp

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java?view=diff&rev=464202&r1=464201&r2=464202
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java Sun Oct 15 07:36:41 2006
@@ -146,26 +146,7 @@
         new OneDiffTest( YEAR_INTERVAL, ts("2005-02-23 08:25:00"), ts( "2005-05-23 08:25:00"), 0, null, null),
         new OneDiffTest( YEAR_INTERVAL, ts("2005-02-23 08:25:00"), ts( "2006-02-23 08:25:00"), 1, null, null),
 
-        // timestamp - time, time - timestamp
-        new OneDiffTest( FRAC_SECOND_INTERVAL, ts( TODAY + " 10:00:00.123456"), tm( "10:00:00"), -123456000, null, null),
-        new OneDiffTest( FRAC_SECOND_INTERVAL, tm( "10:00:00"), ts( TODAY + " 10:00:00.123456"), 123456000, null, null),
-        new OneDiffTest( SECOND_INTERVAL, ts( TODAY + " 10:00:00.1"), tm( "10:00:01"), 0, null, null),
-        new OneDiffTest( SECOND_INTERVAL, tm( "10:00:01"), ts( TODAY + " 10:00:00"), -1, null, null),
-        new OneDiffTest( MINUTE_INTERVAL, ts( TODAY + " 10:02:00"), tm( "10:00:00"), -2, null, null),
-        new OneDiffTest( MINUTE_INTERVAL, tm( "11:00:00"), ts( TODAY + " 10:02:00"), -58, null, null),
-        new OneDiffTest( HOUR_INTERVAL, ts( TODAY + " 10:02:00"), tm( "10:00:00"), 0, null, null),
-        new OneDiffTest( HOUR_INTERVAL, tm( "10:00:00"), ts( TODAY + " 23:02:00"), 13, null, null),
-        new OneDiffTest( DAY_INTERVAL, ts( TODAY + " 00:00:00"), tm( "23:59:59"), 0, null, null),
-        new OneDiffTest( DAY_INTERVAL, tm( "23:59:59"), ts( TODAY + " 00:00:00"), 0, null, null),
-        new OneDiffTest( WEEK_INTERVAL, ts( TODAY + " 00:00:00"), tm( "23:59:59"), 0, null, null),
-        new OneDiffTest( WEEK_INTERVAL, tm( "23:59:59"), ts( TODAY + " 00:00:00"), 0, null, null),
-        new OneDiffTest( MONTH_INTERVAL, ts( TODAY + " 00:00:00"), tm( "23:59:59"), 0, null, null),
-        new OneDiffTest( MONTH_INTERVAL, tm( "23:59:59"), ts( TODAY + " 00:00:00"), 0, null, null),
-        new OneDiffTest( QUARTER_INTERVAL, ts( TODAY + " 00:00:00"), tm( "23:59:59"), 0, null, null),
-        new OneDiffTest( QUARTER_INTERVAL, tm( "23:59:59"), ts( TODAY + " 00:00:00"), 0, null, null),
-        new OneDiffTest( YEAR_INTERVAL, ts( TODAY + " 00:00:00"), tm( "23:59:59"), 0, null, null),
-        new OneDiffTest( YEAR_INTERVAL, tm( "23:59:59"), ts( TODAY + " 00:00:00"), 0, null, null),
-
+        
         // timestamp - date, date - timestamp
         new OneDiffTest( FRAC_SECOND_INTERVAL, ts( "2004-05-10 00:00:00.123456"), dt("2004-05-10"), -123456000,
                          null, null),
@@ -188,57 +169,28 @@
         new OneDiffTest( YEAR_INTERVAL, ts("2004-02-23 08:25:00"), dt( "2004-05-23"), 0, null, null),
         new OneDiffTest( YEAR_INTERVAL, dt( "2004-05-23"), ts("2003-02-23 08:25:00"), -1, null, null),
 
-        // date - time, time - date
-        new OneDiffTest( FRAC_SECOND_INTERVAL, dt( TODAY), tm("00:00:01"), ONE_BILLION, null, null),
-        new OneDiffTest( FRAC_SECOND_INTERVAL, tm("00:00:02"), dt( TODAY), -2*ONE_BILLION, null, null),
-        new OneDiffTest( SECOND_INTERVAL, dt( TODAY), tm("00:00:01"), 1, null, null),
-        new OneDiffTest( SECOND_INTERVAL, tm("00:00:02"), dt( TODAY), -2, null, null),
-        new OneDiffTest( MINUTE_INTERVAL, dt( TODAY), tm("12:34:56"), 12*60 + 34, null, null),
-        new OneDiffTest( MINUTE_INTERVAL, tm("12:34:56"), dt( TODAY), -(12*60 + 34), null, null),
-        new OneDiffTest( HOUR_INTERVAL, dt( TODAY), tm("12:34:56"), 12, null, null),
-        new OneDiffTest( HOUR_INTERVAL, tm("12:34:56"), dt( TODAY), -12, null, null),
-        new OneDiffTest( DAY_INTERVAL, dt( TOMORROW), tm( "00:00:00"), -1, null, null),
-        new OneDiffTest( DAY_INTERVAL, tm( "00:00:00"), dt( TOMORROW), 1, null, null),
-        new OneDiffTest( WEEK_INTERVAL, dt( TOMORROW), tm( "00:00:00"), 0, null, null),
-        new OneDiffTest( WEEK_INTERVAL, tm( "00:00:00"), dt( TOMORROW), 0, null, null),
-        new OneDiffTest( MONTH_INTERVAL, dt( YEAR_FROM_TOMORROW), tm( "12:00:00"), -12, null, null),
-        new OneDiffTest( MONTH_INTERVAL, tm( "12:00:00"), dt( YEAR_FROM_TOMORROW), 12, null, null),
-        new OneDiffTest( QUARTER_INTERVAL, dt( YEAR_FROM_TOMORROW), tm( "12:00:00"), -4, null, null),
-        new OneDiffTest( QUARTER_INTERVAL, tm( "12:00:00"), dt( YEAR_FROM_TOMORROW), 4, null, null),
-        new OneDiffTest( YEAR_INTERVAL, dt( YEAR_FROM_TOMORROW), tm( "12:00:00"), -1, null, null),
-        new OneDiffTest( YEAR_INTERVAL, tm( "12:00:00"), dt( YEAR_FROM_TOMORROW), 1, null, null),
-
         // Test add with all combinatons of interval types and datetime types
         new OneAddTest( FRAC_SECOND_INTERVAL, 1000, ts("2005-05-11 15:55:00"), ts("2005-05-11 15:55:00.000001"),
                         null, null),
         new OneAddTest( FRAC_SECOND_INTERVAL, -1000, dt("2005-05-11"), ts("2005-05-10 23:59:59.999999"),
                         null, null),
-        new OneAddTest( FRAC_SECOND_INTERVAL, ONE_BILLION, tm("23:59:59"), ts( TOMORROW + " 00:00:00"), null, null),
         new OneAddTest( SECOND_INTERVAL, 60, ts("2005-05-11 15:55:00"), ts("2005-05-11 15:56:00"), null, null),
         new OneAddTest( SECOND_INTERVAL, 60, dt("2005-05-11"), ts("2005-05-11 00:01:00"), null, null),
-        new OneAddTest( SECOND_INTERVAL, 60, tm("23:59:30"), ts( TOMORROW + " 00:00:30"), null, null),
         new OneAddTest( MINUTE_INTERVAL, -1, ts("2005-05-11 15:55:00"), ts("2005-05-11 15:54:00"), null, null),
         new OneAddTest( MINUTE_INTERVAL, 1, dt("2005-05-11"), ts("2005-05-11 00:01:00"), null, null),
-        new OneAddTest( MINUTE_INTERVAL, 1, tm("12:00:00"), ts( TODAY + " 12:01:00"), null, null),
         new OneAddTest( HOUR_INTERVAL, 2, ts("2005-05-11 15:55:00"), ts("2005-05-11 17:55:00"), null, null),
         new OneAddTest( HOUR_INTERVAL, -2, dt("2005-05-11"), ts("2005-05-10 22:00:00"), null, null),
-        new OneAddTest( HOUR_INTERVAL, 1, tm("12:00:00"), ts( TODAY + " 13:00:00"), null, null),
         new OneAddTest( DAY_INTERVAL, 1, ts("2005-05-11 15:55:00"), ts("2005-05-12 15:55:00"), null, null),
         new OneAddTest( DAY_INTERVAL, 1, dt("2005-05-11"), ts("2005-05-12 00:00:00"), null, null),
-        new OneAddTest( DAY_INTERVAL, -1, tm( "12:00:00"), ts( YESTERDAY + " 12:00:00"), null, null),
         new OneAddTest( WEEK_INTERVAL, 1, ts("2005-05-11 15:55:00"), ts("2005-05-18 15:55:00"), null, null),
         new OneAddTest( WEEK_INTERVAL, 1, dt("2005-05-11"), ts("2005-05-18 00:00:00"), null, null),
-        new OneAddTest( WEEK_INTERVAL, 1, tm("12:00:00"), ts( WEEK_FROM_TODAY + " 12:00:00"), null, null),
         new OneAddTest( MONTH_INTERVAL, 1, ts("2005-05-11 15:55:00"), ts("2005-06-11 15:55:00"), null, null),
         new OneAddTest( MONTH_INTERVAL, -1, dt("2005-03-29"), ts("2005-02-28 00:00:00"), null, null),
-        new OneAddTest( MONTH_INTERVAL, 12, tm( "12:00:00"), ts( YEAR_FROM_TODAY + " 12:00:00"), null, null),
         new OneAddTest( QUARTER_INTERVAL, 1, ts("2005-10-11 15:55:00"), ts("2006-01-11 15:55:00"), null, null),
         new OneAddTest( QUARTER_INTERVAL, -2, dt( "2005-05-05"), ts( "2004-11-05 00:00:00"), null, null),
-        new OneAddTest( QUARTER_INTERVAL, 4, tm( "12:00:00"), ts( YEAR_FROM_TODAY + " 12:00:00"), null, null),
         new OneAddTest( YEAR_INTERVAL, -10, ts("2005-10-11 15:55:00"), ts("1995-10-11 15:55:00"), null, null),
         new OneAddTest( YEAR_INTERVAL, 2, dt( "2005-05-05"), ts( "2007-05-05 00:00:00"), null, null),
-        new OneAddTest( YEAR_INTERVAL, 1, tm( "12:00:00"), ts( YEAR_FROM_TODAY + " 12:00:00"), null, null),
-
+        
         // String inputs
         new OneStringDiffTest( SECOND_INTERVAL, "2005-05-10 08:25:00", "2005-05-10 08:26:00", 60, null, null),
         new OneStringAddTest( DAY_INTERVAL, 1, "2005-05-11 15:55:00", ts("2005-05-12 15:55:00"), null, null),
@@ -319,12 +271,7 @@
     {
         return java.sql.Date.valueOf( s);
     }
-
-    private static java.sql.Time tm( String s)
-    {
-        return java.sql.Time.valueOf( s);
-    }
-
+    
     private static String dateTimeToLiteral( Object ts)
     {
         if( ts instanceof java.sql.Timestamp)

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/updatableResultSet.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/updatableResultSet.java?view=diff&rev=464202&r1=464201&r2=464202
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/updatableResultSet.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/updatableResultSet.java Sun Oct 15 07:36:41 2006
@@ -167,26 +167,26 @@
 	//I have constructed following table based on if combination of datatype and updateXXX method would work or not.
 	public static final String[][]  updateXXXRulesTableForEmbedded = {
 
-  // Types.             u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u
-	//                    p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p
-	//                    d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d
-  //                    a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a
-  //                    t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t
-  //                    e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e
-  //                    S  I  L  B  F  D  S  A  C  B  B  B  C  D  T  T  B  B  N  A  R
-	//                    h  n  o  i  l  o  t  s  h  y  y  i  l  a  i  i  l  o  u  r  e
-	//                    o  t  n  g  o  u  r  c  a  t  t  n  o  t  m  m  o  o  l  r  f
-	//                    r     g  D  a  b  i  i  r  e  e  a  b  e  e  e  b  l  l  a
-	//                    t        e  t  l  n  i  c     s  r           s     e     y
-	//                             c     e  g  S  t        y           t     a
-	//                             i           t  e        S           a     n
-	//                             m           r  r        t           m
-	//                             a           e  S        r           p
-	//                             l           a  t        e
-	//                                         m  r        a
-	//                                            e        m
-	//                                            a
-	//                                            m
+        // Types.             u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u
+        //                    p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p
+        //                    d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d
+        //                    a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a
+        //                    t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t
+        //                    e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e
+        //                    S  I  L  B  F  D  S  A  C  B  B  B  C  D  T  T  B  B  N  A  R
+        //                    h  n  o  i  l  o  t  s  h  y  y  i  l  a  i  i  l  o  u  r  e
+        //                    o  t  n  g  o  u  r  c  a  t  t  n  o  t  m  m  o  o  l  r  f
+        //                    r     g  D  a  b  i  i  r  e  e  a  b  e  e  e  b  l  l  a
+        //                    t        e  t  l  n  i  c     s  r           s     e     y
+        //                             c     e  g  S  t        y           t     a
+        //                             i           t  e        S           a     n
+        //                             m           r  r        t           m
+        //                             a           e  S        r           p
+        //                             l           a  t        e
+        //                                         m  r        a
+        //                                            e        m
+        //                                            a
+        //                                            m
 /* 0 SMALLINT */        { "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR" },
 /* 1 INTEGER  */        { "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR" },
 /* 2 BIGINT   */        { "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR" },
@@ -202,7 +202,7 @@
 /* 12 CLOB         */   { "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "PASS", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR" },
 /* 13 DATE         */   { "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR" },
 /* 14 TIME         */   { "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR" },
-/* 15 TIMESTAMP    */   { "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR" },
+/* 15 TIMESTAMP    */   { "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "PASS", "ERROR", "ERROR", "PASS", "ERROR", "ERROR" },
 /* 16 BLOB         */   { "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "PASS", "ERROR", "ERROR" },
 
 	};
@@ -210,26 +210,26 @@
 	//I have constructed following table for network server based on if combination of datatype and updateXXX method would work or not.
 	public static final String[][]  updateXXXRulesTableForNetworkServer = {
 
-  // Types.             u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u
-	//                    p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p
-	//                    d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d
-  //                    a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a
-  //                    t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t
-  //                    e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e
-  //                    S  I  L  B  F  D  S  A  C  B  B  B  C  D  T  T  B  B  N  A  R
-	//                    h  n  o  i  l  o  t  s  h  y  y  i  l  a  i  i  l  o  u  r  e
-	//                    o  t  n  g  o  u  r  c  a  t  t  n  o  t  m  m  o  o  l  r  f
-	//                    r     g  D  a  b  i  i  r  e  e  a  b  e  e  e  b  l  l  a
-	//                    t        e  t  l  n  i  c     s  r           s     e     y
-	//                             c     e  g  S  t        y           t     a
-	//                             i           t  e        S           a     n
-	//                             m           r  r        t           m
-	//                             a           e  S        r           p
-	//                             l           a  t        e
-	//                                         m  r        a
-	//                                            e        m
-	//                                            a
-	//                                            m
+        // Types.             u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u
+        //                    p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p
+        //                    d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d  d
+        //                    a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a
+        //                    t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t
+        //                    e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e  e
+        //                    S  I  L  B  F  D  S  A  C  B  B  B  C  D  T  T  B  B  N  A  R
+        //                    h  n  o  i  l  o  t  s  h  y  y  i  l  a  i  i  l  o  u  r  e
+        //                    o  t  n  g  o  u  r  c  a  t  t  n  o  t  m  m  o  o  l  r  f
+        //                    r     g  D  a  b  i  i  r  e  e  a  b  e  e  e  b  l  l  a
+        //                    t        e  t  l  n  i  c     s  r           s     e     y
+        //                             c     e  g  S  t        y           t     a
+        //                             i           t  e        S           a     n
+        //                             m           r  r        t           m
+        //                             a           e  S        r           p
+        //                             l           a  t        e
+        //                                         m  r        a
+        //                                            e        m
+        //                                            a
+        //                                            m
 /* 0 SMALLINT */        { "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR" },
 /* 1 INTEGER  */        { "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR" },
 /* 2 BIGINT   */        { "PASS", "PASS", "PASS", "PASS", "PASS", "PASS", "ERROR", "ERROR", "ERROR", "PASS", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "ERROR", "PASS", "PASS", "ERROR", "ERROR" },