Return-Path: X-Original-To: apmail-pig-commits-archive@www.apache.org Delivered-To: apmail-pig-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 594B6DA86 for ; Thu, 25 Oct 2012 00:13:10 +0000 (UTC) Received: (qmail 3255 invoked by uid 500); 25 Oct 2012 00:13:10 -0000 Delivered-To: apmail-pig-commits-archive@pig.apache.org Received: (qmail 3234 invoked by uid 500); 25 Oct 2012 00:13:10 -0000 Mailing-List: contact commits-help@pig.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pig.apache.org Delivered-To: mailing list commits@pig.apache.org Received: (qmail 3225 invoked by uid 99); 25 Oct 2012 00:13:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Oct 2012 00:13:10 +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; Thu, 25 Oct 2012 00:13:08 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id A213423888FE for ; Thu, 25 Oct 2012 00:12:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1401927 - in /pig/branches/branch-0.11: CHANGES.txt src/org/apache/pig/data/BinInterSedes.java src/org/apache/pig/data/DataByteArray.java test/org/apache/pig/test/TestDataModel.java Date: Thu, 25 Oct 2012 00:12:25 -0000 To: commits@pig.apache.org From: gdfm@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121025001225.A213423888FE@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gdfm Date: Thu Oct 25 00:12:24 2012 New Revision: 1401927 URL: http://svn.apache.org/viewvc?rev=1401927&view=rev Log: PIG-2999: Regression after PIG-2975: BinInterSedesTupleRawComparator secondary sort failing (cheolsoo via azaroth) Modified: pig/branches/branch-0.11/CHANGES.txt pig/branches/branch-0.11/src/org/apache/pig/data/BinInterSedes.java pig/branches/branch-0.11/src/org/apache/pig/data/DataByteArray.java pig/branches/branch-0.11/test/org/apache/pig/test/TestDataModel.java Modified: pig/branches/branch-0.11/CHANGES.txt URL: http://svn.apache.org/viewvc/pig/branches/branch-0.11/CHANGES.txt?rev=1401927&r1=1401926&r2=1401927&view=diff ============================================================================== --- pig/branches/branch-0.11/CHANGES.txt (original) +++ pig/branches/branch-0.11/CHANGES.txt Thu Oct 25 00:12:24 2012 @@ -308,7 +308,9 @@ OPTIMIZATIONS BUG FIXES -PIG-2998: PIG-2998: Fix TestScriptLanguage and TestMacroExpansion (cheolsoo via jcoveney) +PIG-2999: Regression after PIG-2975: BinInterSedesTupleRawComparator secondary sort failing (cheolsoo via azaroth) + +PIG-2998: Fix TestScriptLanguage and TestMacroExpansion (cheolsoo via jcoveney) PIG-2975: TestTypedMap.testOrderBy failing with incorrect result (knoguchi via jcoveney) Modified: pig/branches/branch-0.11/src/org/apache/pig/data/BinInterSedes.java URL: http://svn.apache.org/viewvc/pig/branches/branch-0.11/src/org/apache/pig/data/BinInterSedes.java?rev=1401927&r1=1401926&r2=1401927&view=diff ============================================================================== --- pig/branches/branch-0.11/src/org/apache/pig/data/BinInterSedes.java (original) +++ pig/branches/branch-0.11/src/org/apache/pig/data/BinInterSedes.java Thu Oct 25 00:12:24 2012 @@ -862,9 +862,11 @@ public class BinInterSedes implements In if (type1 == type2) { int basz1 = readSize(bb1, dt1); int basz2 = readSize(bb2, dt2); - rc = org.apache.hadoop.io.WritableComparator.compareBytes( + rc = WritableComparator.compareBytes( bb1.array(), bb1.position(), basz1, bb2.array(), bb2.position(), basz2); + bb1.position(bb1.position() + basz1); + bb2.position(bb2.position() + basz2); } break; } Modified: pig/branches/branch-0.11/src/org/apache/pig/data/DataByteArray.java URL: http://svn.apache.org/viewvc/pig/branches/branch-0.11/src/org/apache/pig/data/DataByteArray.java?rev=1401927&r1=1401926&r2=1401927&view=diff ============================================================================== --- pig/branches/branch-0.11/src/org/apache/pig/data/DataByteArray.java (original) +++ pig/branches/branch-0.11/src/org/apache/pig/data/DataByteArray.java Thu Oct 25 00:12:24 2012 @@ -21,6 +21,8 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Arrays; +import org.apache.hadoop.io.WritableComparator; + import org.apache.pig.classification.InterfaceAudience; import org.apache.pig.classification.InterfaceStability; @@ -207,20 +209,8 @@ public class DataByteArray implements Co } public static int compare(byte[] b1, byte[] b2) { - int i; - for (i = 0; i < b1.length; i++) { - // If the other has run out of characters, we're bigger. - if (i >= b2.length) - return 1; - if (b1[i] < b2[i]) - return -1; - else if (b1[i] > b2[i]) - return 1; - } - // If the other still has characters left, it's greater - if (i < b2.length) - return -1; - return 0; + return WritableComparator.compareBytes(b1, 0, b1.length, + b2, 0, b2.length); } @Override Modified: pig/branches/branch-0.11/test/org/apache/pig/test/TestDataModel.java URL: http://svn.apache.org/viewvc/pig/branches/branch-0.11/test/org/apache/pig/test/TestDataModel.java?rev=1401927&r1=1401926&r2=1401927&view=diff ============================================================================== --- pig/branches/branch-0.11/test/org/apache/pig/test/TestDataModel.java (original) +++ pig/branches/branch-0.11/test/org/apache/pig/test/TestDataModel.java Thu Oct 25 00:12:24 2012 @@ -337,19 +337,19 @@ public class TestDataModel extends junit t2 = tf.newTuple(); t2.append(new Integer(2)); - assertEquals("greater than tuple with lesser value", 1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 < t1.compareTo(t2)); t2 = tf.newTuple(); t2.append(new Integer(4)); - assertEquals("less than tuple with greater value", -1, t1.compareTo(t2)); + assertTrue("less than tuple with greater value", 0 > t1.compareTo(t2)); t2 = tf.newTuple(); t2.append(new Integer(3)); t2.append(new Integer(4)); - assertEquals("less than bigger tuple", -1, t1.compareTo(t2)); + assertTrue("less than bigger tuple", 0 > t1.compareTo(t2)); t2 = tf.newTuple(); - assertEquals("greater than smaller tuple", 1, t1.compareTo(t2)); + assertTrue("greater than smaller tuple", 0 < t1.compareTo(t2)); } @Test @@ -369,48 +369,48 @@ public class TestDataModel extends junit t2 = tf.newTuple(); t2.append(new DataByteArray("aaa")); t2.append(new DataByteArray("aaa")); - assertEquals("greater than tuple with lesser value", 1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 < t1.compareTo(t2)); t2 = tf.newTuple(); t2.append(new DataByteArray("ddd")); t2.append(new DataByteArray("ddd")); - assertEquals("less than tuple with greater value", -1, t1.compareTo(t2)); + assertTrue("less than tuple with greater value", 0 > t1.compareTo(t2)); // First column same, second lesser t2 = tf.newTuple(); t2.append(new DataByteArray("bbb")); t2.append(new DataByteArray("aaa")); - assertEquals("greater than tuple with lesser value", 1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 < t1.compareTo(t2)); // First column same, second greater t2 = tf.newTuple(); t2.append(new DataByteArray("bbb")); t2.append(new DataByteArray("ccc")); - assertEquals("greater than tuple with lesser value", -1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 > t1.compareTo(t2)); // First column less, second same t2 = tf.newTuple(); t2.append(new DataByteArray("aaa")); t2.append(new DataByteArray("bbb")); - assertEquals("greater than tuple with lesser value", 1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 < t1.compareTo(t2)); // First column greater, second same t2 = tf.newTuple(); t2.append(new DataByteArray("ccc")); t2.append(new DataByteArray("bbb")); - assertEquals("greater than tuple with lesser value", -1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 > t1.compareTo(t2)); // First column less, second greater t2 = tf.newTuple(); t2.append(new DataByteArray("aaa")); t2.append(new DataByteArray("ccc")); - assertEquals("greater than tuple with lesser value", 1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 < t1.compareTo(t2)); // First column greater, second same t2 = tf.newTuple(); t2.append(new DataByteArray("ccc")); t2.append(new DataByteArray("aaa")); - assertEquals("greater than tuple with lesser value", -1, t1.compareTo(t2)); + assertTrue("greater than tuple with lesser value", 0 > t1.compareTo(t2)); } @Test