OPENJPA-2555 use a defaultFractionLength of 0 for backward compat

This is how the default of MySQL and the previous behaviour of OpenJPA did.
If a user want he can use either @Column(scale=n) or set it via DBDictionary:
openjpa.jdbc.DBDictionary=(defaultFractionLength=6)
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
index ff72cd5..903f3b6 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
@@ -453,7 +453,7 @@
      * @see #fractionalTypeNameSet
      * @see #getFractionLength(Column, String)
      */
-    protected int defaultFractionLength = 6;
+    public int defaultFractionLength = 6;
 
 
     protected final Set<String> typeModifierSet = new HashSet<>();
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MariaDBDictionary.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MariaDBDictionary.java
index 4443a56..454288c 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MariaDBDictionary.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MariaDBDictionary.java
@@ -165,6 +165,8 @@
         setTrailingDelimiter(DELIMITER_BACK_TICK);
 
         fixedSizeTypeNameSet.remove("NUMERIC");
+
+        defaultFractionLength = 0;
     }
 
     @Override
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MySQLDictionary.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MySQLDictionary.java
index f71425e..256bd36 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MySQLDictionary.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/MySQLDictionary.java
@@ -166,6 +166,8 @@
         setTrailingDelimiter(DELIMITER_BACK_TICK);
 
         fixedSizeTypeNameSet.remove("NUMERIC");
+
+        defaultFractionLength = 0;
     }
 
     @Override
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestExplicitAccess.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestExplicitAccess.java
index f7f87b7..1878769 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestExplicitAccess.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestExplicitAccess.java
@@ -41,6 +41,7 @@
     @Override
     public void setUp() {
         setUp(CLEAR_TABLES,
+            "openjpa.jdbc.DBDictionary", "(defaultFractionLength=6)",
             PropAccess.class, FieldAccess.class,
             DefFieldMixedPropAccess.class , DefPropMixedFieldAccess.class,
             AbstractMappedSuperField.class, PropertySub.class,
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/TestXMLExplicitAccess.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/TestXMLExplicitAccess.java
index 7bc73db..8891028 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/TestXMLExplicitAccess.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/TestXMLExplicitAccess.java
@@ -33,13 +33,10 @@
 
     @Override
     public void setUp() throws Exception {
-        super.setUp();
+        super.setUp(CLEAR_TABLES,
+                "openjpa.jdbc.DBDictionary", "(defaultFractionLength=6)");
     }
 
-    @Override
-    public void tearDown() throws Exception {
-        super.tearDown();
-    }
 
     @Override
     protected String getPersistenceUnitName() {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/maps/m2mmapex10/TestMany2ManyMapEx10.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/maps/m2mmapex10/TestMany2ManyMapEx10.java
index 62e7c10..5495d30 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/maps/m2mmapex10/TestMany2ManyMapEx10.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/maps/m2mmapex10/TestMany2ManyMapEx10.java
@@ -59,8 +59,10 @@
 
     @Override
     public void setUp() {
-        super.setUp(DROP_TABLES,EmployeePK.class, PhonePK.class,
-            Employee.class, PhoneNumber.class);
+        super.setUp(DROP_TABLES,
+                "openjpa.jdbc.DBDictionary", "(defaultFractionLength=6)",
+                EmployeePK.class, PhonePK.class,
+                Employee.class, PhoneNumber.class);
         createObj();
         rsAllPhones = getAll(PhoneNumber.class);
         rsAllEmps = getAll(Employee.class);
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestHintedQuery.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestHintedQuery.java
index 43ec1e7..c1165db 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestHintedQuery.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestHintedQuery.java
@@ -38,7 +38,9 @@
 
     @Override
     public void setUp() {
-        super.setUp(CLEAR_TABLES, TimeKeeper.class);
+        super.setUp(CLEAR_TABLES,
+                "openjpa.jdbc.DBDictionary", "(defaultFractionLength=6)",
+                TimeKeeper.class);
     }
 
     public void testHintedQuery() {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestTemporalTypeQueryParameterBinding.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestTemporalTypeQueryParameterBinding.java
index e6108d9..a4f4c2a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestTemporalTypeQueryParameterBinding.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestTemporalTypeQueryParameterBinding.java
@@ -63,7 +63,9 @@
     private EntityManager em;
     @Override
     public void setUp() throws Exception {
-        super.setUp(CLEAR_TABLES, TimeKeeper.class, TimeEntity.class);
+        super.setUp(CLEAR_TABLES,
+                "openjpa.jdbc.DBDictionary", "(defaultFractionLength=6)",
+                TimeKeeper.class, TimeEntity.class);
         em = emf.createEntityManager();
 
         TimeKeeper pc = new TimeKeeper();
diff --git a/openjpa-project/src/doc/manual/supported_databases.xml b/openjpa-project/src/doc/manual/supported_databases.xml
index d194276..2b13038 100644
--- a/openjpa-project/src/doc/manual/supported_databases.xml
+++ b/openjpa-project/src/doc/manual/supported_databases.xml
@@ -1193,6 +1193,15 @@
         <title>
             MariaDB
         </title>
+        <example id="example_props_mariadb">
+            <title>
+                Example properties for MariaDB
+            </title>
+            <programlisting>
+                openjpa.ConnectionDriverName: org.mariadb.jdbc.Driver
+                openjpa.ConnectionURL: jdbc:mariadb://SERVER_NAME/DB_NAME
+            </programlisting>
+        </example>
         <section id="dbsupport_mariadb_issues">
             <title>
                 Known issues with MariaDB
@@ -1201,9 +1210,10 @@
                 <listitem>
                     <para>
                         As of MariaDB 10.2 the <code>DATETIME</code> data type supports sub-second fractions.
-                        The default of MariaDB is to use no fractions.
+                        The default of MariaDB internally is to use no fractions.
                         The number of fractions can be explicitly set via scale:
-                        <code>@Column(scale=3)</code> will lead to a <code>DATETIME(3)</code> column.
+                        <code>@Column(scale=6)</code> will lead to a <code>DATETIME(6)</code> column and able to store microseconds.
+                        A value of <code>@Column(scale=-1)</code> will explicitly turn off all fractions.
                     </para>
                 </listitem>