Return-Path: X-Original-To: apmail-empire-db-commits-archive@www.apache.org Delivered-To: apmail-empire-db-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 31A1D11291 for ; Fri, 19 Sep 2014 09:19:59 +0000 (UTC) Received: (qmail 8757 invoked by uid 500); 19 Sep 2014 09:19:59 -0000 Delivered-To: apmail-empire-db-commits-archive@empire-db.apache.org Received: (qmail 8738 invoked by uid 500); 19 Sep 2014 09:19:59 -0000 Mailing-List: contact commits-help@empire-db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: empire-db-dev@empire-db.apache.org Delivered-To: mailing list commits@empire-db.apache.org Received: (qmail 8727 invoked by uid 99); 19 Sep 2014 09:19:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Sep 2014 09:19:59 +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; Fri, 19 Sep 2014 09:19:36 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id A70A823889DA for ; Fri, 19 Sep 2014 09:19:34 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1626155 - in /empire-db/trunk/empire-db/src/main/java/org/apache/empire/db: DBDDLGenerator.java DBTableColumn.java Date: Fri, 19 Sep 2014 09:19:34 -0000 To: commits@empire-db.apache.org From: doebele@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140919091934.A70A823889DA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: doebele Date: Fri Sep 19 09:19:34 2014 New Revision: 1626155 URL: http://svn.apache.org/r1626155 Log: EMPIREDB-208 Modified: empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java Modified: empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java URL: http://svn.apache.org/viewvc/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java?rev=1626155&r1=1626154&r2=1626155&view=diff ============================================================================== --- empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java (original) +++ empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDDLGenerator.java Fri Sep 19 09:19:34 2014 @@ -143,7 +143,7 @@ public abstract class DBDDLGenerator0) { // append precision and scale sql.append("("); Modified: empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java URL: http://svn.apache.org/viewvc/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java?rev=1626155&r1=1626154&r2=1626155&view=diff ============================================================================== --- empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java (original) +++ empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java Fri Sep 19 09:19:34 2014 @@ -58,6 +58,7 @@ public class DBTableColumn extends DBCol protected double size; protected DataMode dataMode; protected Object defValue; + protected int decimalScale = 0; /** * Constructs a DBTableColumn object set the specified parameters to this object. @@ -208,6 +209,32 @@ public class DBTableColumn extends DBCol } // set now this.size = size; + // set scale + if (getDataType()==DataType.DECIMAL) + { // set scale from size + int reqPrec = (int)size; + this.decimalScale = ((int)(size*10)-(reqPrec*10)); + } + } + + /** + * Returns the scale of the Decimal or 0 if the DataType is not DataType.DECIMAL. + * @return the decimal scale + */ + public int getDecimalScale() + { + return this.decimalScale; + } + + /** + * Sets the scale of a decimal. The DataType must be set to DataType.DECIMAL otherwise an exception is thrown. + */ + public void setDecimalScale(int scale) + { + if (getDataType()!=DataType.DECIMAL) + throw new NotSupportedException(this, "setDecimalScale"); + // return scale + this.decimalScale = scale; } /** @@ -457,7 +484,7 @@ public class DBTableColumn extends DBCol // check precision and scale double size = getSize(); int reqPrec = (int)size; - int reqScale =((int)(size*10)-(reqPrec*10)); + int reqScale = getDecimalScale(); if ((prec-scale)>(reqPrec-reqScale) || scale>reqScale) throw new FieldValueOutOfRangeException(this); }