# HG changeset patch
# User Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
# Date 1490353131 -3600
# Node ID 92bac8379d060fbf2a9be941ffdbc37c98d50e5e
# Parent  2067b203d61f128c1ae948f8df268923d2a8f4ae
Reverted back the JVM 7 compability

diff --git a/build.xml b/build.xml
--- a/build.xml
+++ b/build.xml
@@ -50,11 +50,8 @@ Copyright 1997 - July 2008 CWI, August 2
   since EOL.
   2015-07-16, sjoerd@acm.org
 
-  Update Compile it to Java 8 for the simplicity of the implementation of the driver
-  2017-01-03, ferreira@cwi.nl
-
   -->
-  <property name="jvm.version"               value="1.8" />
+  <property name="jvm.version"               value="1.7" />
   <property name="javac.flags"               value="-Xlint:-options" />
 
   <!-- full target -->
diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in b/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
@@ -233,8 +233,8 @@ public final class MonetDriver implement
 		// typeMap.put("table", Types.???);
 		typeMap.put("time", Types.TIME);
 		typeMap.put("timestamp", Types.TIMESTAMP);
-		typeMap.put("timestamptz", Types.TIMESTAMP_WITH_TIMEZONE);
-		typeMap.put("timetz", Types.TIME_WITH_TIMEZONE);
+		typeMap.put("timestamptz", 2014); //Types.TIMESTAMP_WITH_TIMEZONE make it compile on Java 7
+		typeMap.put("timetz", 2013); //Types.TIME_WITH_TIMEZONE make it compile on Java 7
 		typeMap.put("tinyint", Types.TINYINT); //but we will convert to java.lang.Byte
 		typeMap.put("url", Types.OTHER);
 		typeMap.put("uuid", Types.OTHER);
diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java b/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
@@ -2542,8 +2542,8 @@ public class MonetResultSet extends Mone
 					}
                     millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset();
 					break;
-                case Types.TIME_WITH_TIMEZONE:
-                case Types.TIMESTAMP_WITH_TIMEZONE:
+                case 2013: //Types.TIME_WITH_TIMEZONE:
+                case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
                     res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1);
 					if(res == null) {
 						return null;
@@ -2649,8 +2649,8 @@ public class MonetResultSet extends Mone
 					}
 					millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset();
 					break;
-                case Types.TIME_WITH_TIMEZONE:
-                case Types.TIMESTAMP_WITH_TIMEZONE:
+                case 2013: //Types.TIME_WITH_TIMEZONE:
+                case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
 					res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1);
 					if(res == null) {
 						return null;
@@ -2756,7 +2756,7 @@ public class MonetResultSet extends Mone
 					}
                     millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset();
                     break;
-                case Types.TIME_WITH_TIMEZONE:
+                case 2013: //Types.TIME_WITH_TIMEZONE:
                     res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1);
 					if(res == null) {
 						return null;
@@ -2771,7 +2771,7 @@ public class MonetResultSet extends Mone
 					nanos = currentBlock.getLastNanos();
 					millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset();
 					break;
-				case Types.TIMESTAMP_WITH_TIMEZONE:
+				case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
 					res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1);
 					if(res == null) {
 						return null;
diff --git a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiDataBlockResponse.java b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiDataBlockResponse.java
--- a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiDataBlockResponse.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiDataBlockResponse.java
@@ -68,11 +68,11 @@ public class OldMapiDataBlockResponse ex
                         break;
                     case Types.DATE:
                     case Types.TIME:
-                    case Types.TIME_WITH_TIMEZONE:
+                    case 2013: //Types.TIME_WITH_TIMEZONE:
                         this.data[i] = new Calendar[this.rowcount];
                         break;
                     case Types.TIMESTAMP:
-                    case Types.TIMESTAMP_WITH_TIMEZONE:
+                    case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
                         this.data[i] = new TimestampHelper[this.rowcount];
                         break;
                     case Types.NUMERIC:
@@ -246,7 +246,7 @@ public class OldMapiDataBlockResponse ex
             case Types.TIME:
                 Time aux2 = new Time(((Calendar[]) this.data[column])[this.blockLine].getTimeInMillis());
                 return protocol.getMonetTimePrinter().format(aux2);
-            case Types.TIME_WITH_TIMEZONE:
+            case 2013: //Types.TIME_WITH_TIMEZONE:
                 Time aux3 = new Time(((Calendar[]) this.data[column])[this.blockLine].getTimeInMillis());
                 return protocol.getMonetTimeTzPrinter().format(aux3);
             case Types.TIMESTAMP:
@@ -254,7 +254,7 @@ public class OldMapiDataBlockResponse ex
                 Timestamp aux4 = thel.getTimestamp();
                 this.lastNanos = thel.getNanoseconds();
                 return protocol.getMonetTimestampPrinter().format(aux4);
-            case Types.TIMESTAMP_WITH_TIMEZONE:
+            case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
                 TimestampHelper thelper = ((TimestampHelper[]) this.data[column])[this.blockLine];
                 Timestamp aux5 = thelper.getTimestamp();
                 this.lastNanos = thelper.getNanoseconds();
@@ -282,7 +282,7 @@ public class OldMapiDataBlockResponse ex
             case Types.DOUBLE:
                 return ((double[]) this.data[column])[this.blockLine];
             case Types.TIMESTAMP:
-            case Types.TIMESTAMP_WITH_TIMEZONE:
+            case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
                 TimestampHelper thelper = ((TimestampHelper[]) this.data[column])[this.blockLine];
                 this.lastNanos = thelper.getNanoseconds();
                 return thelper.getCalendar();
diff --git a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java
--- a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java
@@ -253,13 +253,13 @@ final class OldMapiTupleLineParser {
             case Types.TIME:
                 ((Calendar[]) columnArray)[lineNumber] = GregorianCalendarParser.ParseTime(new String(toParse, startPosition, count), protocol.getMonetParserPosition(), protocol.timeParser, false);
                 break;
-            case Types.TIME_WITH_TIMEZONE:
+            case 2013: //Types.TIME_WITH_TIMEZONE:
                 ((Calendar[]) columnArray)[lineNumber] = GregorianCalendarParser.ParseTime(new String(toParse, startPosition, count), protocol.getMonetParserPosition(), protocol.timeParser, true);
                 break;
             case Types.TIMESTAMP:
                 ((TimestampHelper[]) columnArray)[lineNumber] = GregorianCalendarParser.ParseTimestamp(new String(toParse, startPosition, count), protocol.getMonetParserPosition(), protocol.timestampParser, false);
                 break;
-            case Types.TIMESTAMP_WITH_TIMEZONE:
+            case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
                 ((TimestampHelper[]) columnArray)[lineNumber] = GregorianCalendarParser.ParseTimestamp(new String(toParse, startPosition, count), protocol.getMonetParserPosition(), protocol.timestampParser, true);
                 break;
             case Types.CLOB:
diff --git a/src/main/java/nl/cwi/monetdb/mcl/responses/AbstractDataBlockResponse.java b/src/main/java/nl/cwi/monetdb/mcl/responses/AbstractDataBlockResponse.java
--- a/src/main/java/nl/cwi/monetdb/mcl/responses/AbstractDataBlockResponse.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/responses/AbstractDataBlockResponse.java
@@ -187,11 +187,11 @@ public abstract class AbstractDataBlockR
                     aux = protocol.getMonetDate();
                     break;
                 case Types.TIME:
-                case Types.TIME_WITH_TIMEZONE:
+                case 2013: //Types.TIME_WITH_TIMEZONE:
                     aux = protocol.getMonetTimePrinter();
                     break;
                 case Types.TIMESTAMP:
-                case Types.TIMESTAMP_WITH_TIMEZONE:
+                case 2014: //Types.TIMESTAMP_WITH_TIMEZONE:
                     aux = protocol.getMonetTimestampPrinter();
                     break;
                 default:
diff --git a/tests/build.xml b/tests/build.xml
--- a/tests/build.xml
+++ b/tests/build.xml
@@ -30,7 +30,7 @@ Copyright 1997 - July 2008 CWI, August 2
     value="jdbc:monetdb://localhost/?user=monetdb&amp;password=monetdb${debug}" />
   <property name="jdbctests-jar"
     value="${jardir}/jdbctests.jar" />
-  <property name="jvm.version" value="1.8"/>
+  <property name="jvm.version" value="1.7"/>
 
   <!-- Prepares the build directory -->
   <target name="prepare">