Return-Path: Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: (qmail 27277 invoked from network); 29 Mar 2011 16:39:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Mar 2011 16:39:23 -0000 Received: (qmail 94507 invoked by uid 500); 29 Mar 2011 16:39:23 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 94451 invoked by uid 500); 29 Mar 2011 16:39:23 -0000 Mailing-List: contact commits-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list commits@openjpa.apache.org Received: (qmail 94444 invoked by uid 99); 29 Mar 2011 16:39:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Mar 2011 16:39:23 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Mar 2011 16:39:20 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 095572388A70; Tue, 29 Mar 2011 16:39:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1086639 - /openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLServerDictionary.java Date: Tue, 29 Mar 2011 16:38:59 -0000 To: commits@openjpa.apache.org From: allee8285@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110329163900.095572388A70@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: allee8285 Date: Tue Mar 29 16:38:59 2011 New Revision: 1086639 URL: http://svn.apache.org/viewvc?rev=1086639&view=rev Log: OPENJPA-1968 Set DATETIME2 based on db version and also set the correct date_precision for DATETIME2 type. Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLServerDictionary.java Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLServerDictionary.java URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLServerDictionary.java?rev=1086639&r1=1086638&r2=1086639&view=diff ============================================================================== --- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLServerDictionary.java (original) +++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLServerDictionary.java Tue Mar 29 16:38:59 2011 @@ -71,13 +71,21 @@ public class SQLServerDictionary extends String driverName = meta.getDriverName(); String url = meta.getURL(); if (driverVendor == null) { + // serverMajorVersion of 8==2000, 9==2005, 10==2008 + if (meta.getDatabaseMajorVersion() >= 9) + setSupportsXMLColumn(true); + if (meta.getDatabaseMajorVersion() >= 10) { + // MSSQL 2008 supports new date, time and datetime2 types + // Use DATETIME2 which has 100ns vs. 3.333msec precision + dateTypeName = "DATETIME2"; + timeTypeName = "DATETIME2"; + timestampTypeName = "DATETIME2"; + datePrecision = MICRO / 10; + } if (driverName != null) { if (driverName.startsWith("Microsoft SQL Server")) { // v1.1, 1.2, 2.0 or 3.0 driver driverVendor = VENDOR_MICROSOFT; - // serverMajorVersion of 8==2000, 9==2005, 10==2008 - if (meta.getDatabaseMajorVersion() >= 9) - setSupportsXMLColumn(true); if (meta.getDriverMajorVersion() >= 2) { // see http://blogs.msdn.com/jdbcteam/archive/2007/05/\ // 02/what-is-adaptive-response-buffering-and-why-\ @@ -87,13 +95,6 @@ public class SQLServerDictionary extends // and disableStatementPooling=true requiresWarnings = false; } - if (meta.getDatabaseMajorVersion() >= 10) { - // MSSQL 2008 supports new date, time and datetime2 types - // Use DATETIME2 which has 100ns vs. 3.333msec precision - dateTypeName = "DATETIME2"; - timeTypeName = "DATETIME2"; - timestampTypeName = "DATETIME2"; - } } else { if ("NetDirect JSQLConnect".equals(driverName)) driverVendor = VENDOR_NETDIRECT;