Return-Path: Delivered-To: apmail-db-ddlutils-dev-archive@www.apache.org Received: (qmail 42028 invoked from network); 8 Jan 2007 05:28:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Jan 2007 05:28:46 -0000 Received: (qmail 73197 invoked by uid 500); 8 Jan 2007 05:28:53 -0000 Delivered-To: apmail-db-ddlutils-dev-archive@db.apache.org Received: (qmail 73130 invoked by uid 500); 8 Jan 2007 05:28:53 -0000 Mailing-List: contact ddlutils-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ddlutils-dev@db.apache.org Delivered-To: mailing list ddlutils-dev@db.apache.org Received: (qmail 73119 invoked by uid 500); 8 Jan 2007 05:28:53 -0000 Delivered-To: apmail-db-ddlutils-commits@db.apache.org Received: (qmail 73116 invoked by uid 99); 8 Jan 2007 05:28:53 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Jan 2007 21:28:53 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Jan 2007 21:28:18 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 9D0481A981D; Sun, 7 Jan 2007 21:27:18 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r493956 - /db/ddlutils/trunk/src/java/org/apache/ddlutils/alteration/ModelComparator.java Date: Mon, 08 Jan 2007 05:27:18 -0000 To: ddlutils-commits@db.apache.org From: tomdz@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070108052718.9D0481A981D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tomdz Date: Sun Jan 7 21:27:17 2007 New Revision: 493956 URL: http://svn.apache.org/viewvc?view=rev&rev=493956 Log: Fixed a bug in the alteration algorithm Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/alteration/ModelComparator.java Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/alteration/ModelComparator.java URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/java/org/apache/ddlutils/alteration/ModelComparator.java?view=diff&rev=493956&r1=493955&r2=493956 ============================================================================== --- db/ddlutils/trunk/src/java/org/apache/ddlutils/alteration/ModelComparator.java (original) +++ db/ddlutils/trunk/src/java/org/apache/ddlutils/alteration/ModelComparator.java Sun Jan 7 21:27:17 2007 @@ -356,11 +356,17 @@ changes.add(new ColumnDataTypeChange(sourceTable, sourceColumn, targetColumn.getTypeCode())); } - boolean sizeMatters = _platformInfo.hasSize(sourceColumn.getTypeCode()); + boolean sizeMatters = _platformInfo.hasSize(sourceColumn.getTypeCode()); + boolean scaleMatters = _platformInfo.hasPrecisionAndScale(sourceColumn.getTypeCode()); - if ((sizeMatters && - (!StringUtils.equals(sourceColumn.getSize(), targetColumn.getSize())) || - sourceColumn.getScale() != targetColumn.getScale())) + if (sizeMatters && + !StringUtils.equals(sourceColumn.getSize(), targetColumn.getSize())) + { + changes.add(new ColumnSizeChange(sourceTable, sourceColumn, targetColumn.getSizeAsInt(), targetColumn.getScale())); + } + else if (scaleMatters && + (!StringUtils.equals(sourceColumn.getSize(), targetColumn.getSize()) || + (sourceColumn.getScale() != targetColumn.getScale()))) { changes.add(new ColumnSizeChange(sourceTable, sourceColumn, targetColumn.getSizeAsInt(), targetColumn.getScale())); }