OPENJPA-2865 add compat check for WITH_TIMEZONE cols
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java
index a9a80f1..c2ebe98 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java
@@ -770,8 +770,8 @@
         if (col == null) {
             col = table.addColumn(colName);
             col.setType(type);
-        } else if ((compat || !ttype) && !col.isCompatible(type, typeName,
-            size, decimals)) {
+        } else if ((compat || !ttype) &&
+                !col.isCompatible(type, typeName, size, decimals)) {
             // if existing column isn't compatible with desired type, die if
             // can't adapt, else warn and change the existing column type
             Message msg = _loc.get(prefix + "-bad-col", context,
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Column.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Column.java
index b63c82e..6253808 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Column.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Column.java
@@ -762,10 +762,29 @@
                     case Types.DATE:
                     case Types.TIME:
                     case Types.TIMESTAMP:
+                    case Types.TIMESTAMP_WITH_TIMEZONE:
                         return true;
                     default:
                         return false;
                 }
+            case Types.TIMESTAMP_WITH_TIMEZONE:
+                switch (type) {
+                    case Types.DATE:
+                    case Types.TIMESTAMP:
+                        return true;
+                    default:
+                        return false;
+                }
+            case Types.TIME_WITH_TIMEZONE:
+                switch (type) {
+                    case Types.DATE:
+                    case Types.TIME:
+                    case Types.TIMESTAMP:
+                        return true;
+                    default:
+                        return false;
+                }
+
             case Types.SQLXML:  // All XML Types
             case 2007:          // Oracle-defined opaque type code for XMLType treated the same way
                 switch (type) {
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DynamicSchemaFactory.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DynamicSchemaFactory.java
index d0e3129..2a29eac 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DynamicSchemaFactory.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DynamicSchemaFactory.java
@@ -240,8 +240,7 @@
         }
 
         @Override
-        public boolean isCompatible(int type, String typeName, int size,
-            int decimals) {
+        public boolean isCompatible(int type, String typeName, int size, int decimals) {
             if (getType() != Types.OTHER)
                 return super.isCompatible(type, typeName, size, decimals);