Return-Path: Delivered-To: apmail-db-derby-commits-archive@www.apache.org Received: (qmail 3341 invoked from network); 31 Aug 2009 15:47:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 31 Aug 2009 15:47:49 -0000 Received: (qmail 99592 invoked by uid 500); 31 Aug 2009 15:47:49 -0000 Delivered-To: apmail-db-derby-commits-archive@db.apache.org Received: (qmail 99566 invoked by uid 500); 31 Aug 2009 15:47:49 -0000 Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Derby Development" List-Id: Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 99557 invoked by uid 99); 31 Aug 2009 15:47:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 Aug 2009 15:47:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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; Mon, 31 Aug 2009 15:47:46 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id D461F2388854; Mon, 31 Aug 2009 15:47:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r809632 [1/7] - in /db/derby/code/trunk/java: engine/org/apache/derby/iapi/util/ engine/org/apache/derby/impl/sql/execute/rts/ testing/org/apache/derbyTesting/functionTests/master/ testing/org/apache/derbyTesting/functionTests/tests/lang/ t... Date: Mon, 31 Aug 2009 15:47:24 -0000 To: derby-commits@db.apache.org From: dag@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090831154725.D461F2388854@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dag Date: Mon Aug 31 15:47:23 2009 New Revision: 809632 URL: http://svn.apache.org/viewvc?rev=809632&view=rev Log: DERBY-4087 Clean up debug printing of the abstract syntax trees after parsing, binding and optimization Follow-up patch, derby-4087-statistics. This fixes the wrong indentation seen in runtimestatistics for scan qualifiers. Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/util/StringUtil.java db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealDistinctScanStatistics.java db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealHashScanStatistics.java db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealTableScanStatistics.java db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DB2IsolationLevels.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TableLockBasic.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/access.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregateOptimization.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ddlTableLockMode.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/desc_index.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/isolationLevels.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/lojreorder.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxMemPerTab.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/orderbyElimination.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/outerjoin.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/predicatesIntoViews.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/setOpPlan.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/specjPlans.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/st_1.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subqueryFlattening.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/wisconsin.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/outerjoin.sql db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/RuntimeStatisticsParser.java Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/util/StringUtil.java URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/util/StringUtil.java?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/engine/org/apache/derby/iapi/util/StringUtil.java (original) +++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/util/StringUtil.java Mon Aug 31 15:47:23 2009 @@ -516,4 +516,131 @@ return buffer.toString(); } + + + /** + * Utility for formatting which bends a multi-line string into shape for + * outputting it in a context where there is depth tabs. Trailing + * newlines are discarded as well. + *

+ * Replace "^[\t]*" with "depth" number of tabs.
+ * Replace "\n+$" with "". + * Replace all "\n[\t]*" with "\n" + "depth" number of tabs.
+ *

+ * @param formatted string to sanitize + * @param depth indentation level the string is to be printed at (0,1,2..) + */ + public static String ensureIndent(String formatted, int depth) { + StringBuffer buf = new StringBuffer(); + StringBuffer indent = new StringBuffer(); + + while (depth-- > 0) { + indent.append("\t"); + } + + if (formatted == null) { + return indent.toString() + "null"; + } + + /* + * Sadly, we can't use java.util.regexp here since it's not supported + * by Foundation 1.1 + */ + + formatted = doRegExpA(formatted, indent.toString()); + + formatted = doRegExpB(formatted); + + formatted = doRegExpC(formatted, indent.toString()); + + return formatted; + } + + /** + * Reg.exp substitute:
+ *

+ * Pattern pat_a = Pattern.compile("\\A\\t*");
+ * Matcher m_a = pat_a.matcher(src);
+ * src = m_a.replaceFirst(indent.toString());
+ * + * @param src source string in which to substitute indent + * @param indent indentation to lead source + * @return new version of src after substitution + * + */ + private static String doRegExpA(String src, String indent) { + StringBuffer result = new StringBuffer(); + int idx = 0; + + while (idx < src.length() && src.charAt(idx) == '\t') { + idx++; + } + + result.append(indent); + result.append(src.substring(idx)); + return result.toString(); + } + + /** + * Reg.exp substitute:
+ *

+ * Pattern pat_b = Pattern.compile("\\n+\\Z");
+ * Matcher m_b = pat_b.matcher(formatted);
+ * formatted = m_b.replaceFirst("");
+ * + * @param src source string in which to substitute + * @return new version of src after substitution + * + */ + private static String doRegExpB(String src) { + StringBuffer result = new StringBuffer(); + int idx = src.length() - 1; + + while (idx >= 0 && src.charAt(idx) == '\n') { + idx--; + } + + result.append(src.substring(0, idx + 1)); + return result.toString(); + } + + + /** + * Reg.exp substitute:
+ *

+ * Pattern pat_c = Pattern.compile("\\n\\t*");
+ * Matcher m_c = pat_c.matcher(formatted);
+ * formatted = m_c.replaceAll("\n" + indent.toString());
+ * + * @param src source string in which to substitute indent + * @param indent indentation to lead source + * @return new version of src after substitution + * + */ + private static String doRegExpC(String src, String indent) { + + StringBuffer result = new StringBuffer(); + int idx = 0; + + while (idx < src.length()) { + char c = src.charAt(idx); + + if (c == '\n') { + result.append(c); + int tabidx = idx + 1; + + while (tabidx < src.length() && src.charAt(tabidx) == '\t') { + tabidx++; + } + + result.append(indent); + idx = tabidx; + } else { + result.append(c); + idx++; + } + } + return result.toString(); + } } + Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealDistinctScanStatistics.java URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealDistinctScanStatistics.java?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealDistinctScanStatistics.java (original) +++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealDistinctScanStatistics.java Mon Aug 31 15:47:23 2009 @@ -28,6 +28,7 @@ import org.apache.derby.impl.sql.execute.xplain.XPLAINUtil; import org.apache.derby.iapi.sql.execute.xplain.XPLAINVisitor; import org.apache.derby.iapi.reference.SQLState; +import org.apache.derby.iapi.util.StringUtil; import java.util.Enumeration; import java.util.Hashtable; @@ -194,17 +195,17 @@ scanInfo + subIndent + MessageService.getTextMessage( SQLState.RTS_START_POSITION) + - ":\n" + startPosition + + ":\n" + StringUtil.ensureIndent(startPosition, depth + 2) + "\n" + subIndent + MessageService.getTextMessage( SQLState.RTS_STOP_POSITION) + - ":\n" + stopPosition + + ":\n" + StringUtil.ensureIndent(stopPosition, depth + 2) + "\n" + subIndent + MessageService.getTextMessage( SQLState.RTS_SCAN_QUALS) + - ":\n" + scanQualifiers + "\n" + - subIndent + - MessageService.getTextMessage( + ":\n" + StringUtil.ensureIndent(scanQualifiers, depth + 2) + "\n" + + subIndent + MessageService.getTextMessage( SQLState.RTS_NEXT_QUALS) + - ":\n" + nextQualifiers + "\n" + + ":\n" + StringUtil.ensureIndent(nextQualifiers, depth + 2) + "\n" + + // RESOLVE - estimated row count and cost will eventually // be displayed for all nodes dumpEstimatedCosts(subIndent); Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealHashScanStatistics.java URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealHashScanStatistics.java?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealHashScanStatistics.java (original) +++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealHashScanStatistics.java Mon Aug 31 15:47:23 2009 @@ -23,6 +23,7 @@ import org.apache.derby.iapi.services.io.StoredFormatIds; import org.apache.derby.iapi.util.PropertyUtil; +import org.apache.derby.iapi.util.StringUtil; import org.apache.derby.iapi.services.i18n.MessageService; import org.apache.derby.iapi.reference.SQLState; @@ -225,17 +226,18 @@ "") + "\n" + scanInfo + subIndent + MessageService.getTextMessage( - SQLState.RTS_START_POSITION) + - ": \n" + startPosition + + SQLState.RTS_START_POSITION) + + ":\n" + StringUtil.ensureIndent(startPosition, depth + 2) + "\n" + subIndent + MessageService.getTextMessage( SQLState.RTS_STOP_POSITION) + - ": \n" + stopPosition + + ":\n" + StringUtil.ensureIndent(stopPosition, depth + 2) + "\n" + subIndent + MessageService.getTextMessage( SQLState.RTS_SCAN_QUALS) + - ":\n" + scanQualifiers + "\n" + + ":\n" + StringUtil.ensureIndent(scanQualifiers, depth + 2) + "\n" + subIndent + MessageService.getTextMessage( SQLState.RTS_NEXT_QUALS) + - ":\n" + nextQualifiers + "\n" + + ":\n" + StringUtil.ensureIndent(nextQualifiers, depth + 2) + "\n" + + // RESOLVE - estimated row count and cost will eventually // be displayed for all nodes dumpEstimatedCosts(subIndent); Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealTableScanStatistics.java URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealTableScanStatistics.java?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealTableScanStatistics.java (original) +++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/rts/RealTableScanStatistics.java Mon Aug 31 15:47:23 2009 @@ -23,6 +23,7 @@ import org.apache.derby.iapi.services.io.StoredFormatIds; import org.apache.derby.iapi.util.PropertyUtil; +import org.apache.derby.iapi.util.StringUtil; import org.apache.derby.iapi.services.i18n.MessageService; import org.apache.derby.iapi.reference.SQLState; @@ -192,7 +193,7 @@ String scanInfo = indent + MessageService.getTextMessage(SQLState.RTS_SCAN_INFO) + - ": \n" + + ":\n" + PropertyUtil.sortProperties(scanProperties, subIndent); return @@ -217,12 +218,13 @@ scanInfo + subIndent + MessageService.getTextMessage( SQLState.RTS_START_POSITION) + - ": \n" + startPosition + + ":\n" + StringUtil.ensureIndent(startPosition, depth + 2) + "\n" + subIndent + MessageService.getTextMessage( SQLState.RTS_STOP_POSITION) + - ": \n" + stopPosition + + ":\n" + StringUtil.ensureIndent(stopPosition, depth + 2) + "\n" + subIndent + MessageService.getTextMessage(SQLState.RTS_QUALS) + - ":\n" + qualifiers + "\n" + + ":\n" + StringUtil.ensureIndent(qualifiers, depth + 2) + "\n" + + // RESOLVE - estimated row count and cost will eventually // be displayed for all nodes dumpEstimatedCosts(subIndent); Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DB2IsolationLevels.out URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DB2IsolationLevels.out?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DB2IsolationLevels.out (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DB2IsolationLevels.out Mon Aug 31 15:47:23 2009 @@ -63,7 +63,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -72,12 +72,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- verify SET ISOLATION commits and changes isolation level set isolation RR; 0 rows inserted/updated/deleted @@ -119,7 +119,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -128,12 +128,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> set isolation reset; 0 rows inserted/updated/deleted ij> execute getIsolation; @@ -180,7 +180,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -189,12 +189,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> set current isolation = reset; 0 rows inserted/updated/deleted ij> execute getIsolation; @@ -241,7 +241,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -250,12 +250,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> set isolation to reset; 0 rows inserted/updated/deleted ij> execute getIsolation; @@ -302,7 +302,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -311,12 +311,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- test WITH ISOLATION clause set isolation serializable; 0 rows inserted/updated/deleted @@ -356,7 +356,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -365,12 +365,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> set isolation cursor stability; 0 rows inserted/updated/deleted ij> execute getIsolation; @@ -409,7 +409,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -418,12 +418,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> set isolation serializable; 0 rows inserted/updated/deleted ij> execute getIsolation; @@ -462,7 +462,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -471,12 +471,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> set current isolation to read committed; 0 rows inserted/updated/deleted ij> execute getIsolation; @@ -515,7 +515,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -524,12 +524,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- unknown isolation level select * from t1 with rw; ERROR 42X01: Syntax error: Encountered "rw" at line 2, column 23. Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TableLockBasic.out URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TableLockBasic.out?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TableLockBasic.out (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/TableLockBasic.out Mon Aug 31 15:47:23 2009 @@ -369,17 +369,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=1 Number of rows visited=1 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> drop table rts; 0 rows inserted/updated/deleted ij> commit; @@ -426,17 +428,19 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=0 Number of rows visited=0 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> select * from default_granularity with rr; C1 ----------- @@ -467,17 +471,19 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=0 Number of rows visited=0 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> select * from row_granularity with cs; C1 ----------- @@ -508,17 +514,19 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=0 Number of rows visited=0 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> select * from row_granularity with rr; C1 ----------- @@ -549,17 +557,19 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=0 Number of rows visited=0 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> select * from table_granularity with cs; C1 ----------- @@ -590,17 +600,19 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=0 Number of rows visited=0 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> select * from table_granularity with rr; C1 ----------- @@ -631,16 +643,18 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=0 Number of rows visited=0 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> rollback; ij> Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/access.out URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/access.out?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/access.out (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/access.out Mon Aug 31 15:47:23 2009 @@ -236,17 +236,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched=All Number of columns fetched=5 Number of pages visited=1 Number of rows qualified=2 Number of rows visited=2 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> -- just last column - should be 5 and 50 select e from foo; E @@ -282,17 +284,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={4} Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=2 Number of rows visited=2 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> -- as subset of columns - should be 5,3,1 and 50,30,10 select e, c, a from foo; E |C |A @@ -341,17 +345,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of pages visited=1 Number of rows qualified=2 Number of rows visited=2 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> -- as subset of columns, with qualifier in list - should be 5,3,1 and 50,30,10 select e, c, a from foo where foo.e = 5; E |C |A @@ -399,21 +405,23 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of pages visited=1 Number of rows qualified=1 Number of rows visited=2 Scan type=heap - start position: -null stop position: -null qualifiers: -Column[0][0] Id: 4 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + start position: + null + stop position: + null + qualifiers: + Column[0][0] Id: 4 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> -- as subset of columns, with qualifier not in list -- - should be 5,3,1 and 50,30,10 select e, c, a from foo where foo.b = 20; @@ -463,21 +471,23 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1, 2, 4} Number of columns fetched=4 Number of pages visited=1 Number of rows qualified=1 Number of rows visited=2 Scan type=heap - start position: -null stop position: -null qualifiers: -Column[0][0] Id: 1 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + start position: + null + stop position: + null + qualifiers: + Column[0][0] Id: 1 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> -- as subset of columns - should be 1,2 and 10,20 select a, b from foo; A |B @@ -513,17 +523,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of pages visited=1 Number of rows qualified=2 Number of rows visited=2 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> -- now check index scans - force the index just to -- make sure it does an index scan. create index foo_cover on foo (e, d, c, b, a); @@ -576,7 +588,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1, 2, 3, 4} Number of columns fetched=5 Number of deleted rows visited=0 @@ -585,12 +597,12 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- just last column - should be 5 and 50 select e from foo; E @@ -626,7 +638,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -635,12 +647,12 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- as subset of columns - should be 5,3,1 and 50,30,10 select e, c, a from foo; E |C |A @@ -702,7 +714,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of deleted rows visited=0 @@ -711,12 +723,12 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- as subset of columns, with qualifier in list - should be 5,3,1 and 50, 30, 10 select e, c, a from foo where foo.e = 5; E |C |A @@ -777,7 +789,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of deleted rows visited=0 @@ -786,14 +798,14 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- as subset of columns, with qualifier not in list - should be 5,3,1 -- and 50, 30, 10 select e, c, a from foo where foo.b = 20; @@ -856,7 +868,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 3, 4} Number of columns fetched=4 Number of deleted rows visited=0 @@ -865,16 +877,16 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -Column[0][0] Id: 3 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + Column[0][0] Id: 3 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> -- as subset of columns - should be 1,2 and 10, 20 select a, b from foo; A |B @@ -923,7 +935,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={3, 4} Number of columns fetched=2 Number of deleted rows visited=0 @@ -932,12 +944,12 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- check deleted row feature insert into foo values (100, 2, 3, 4, 5); 1 row inserted/updated/deleted @@ -997,7 +1009,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1, 2, 3, 4} Number of columns fetched=5 Number of deleted rows visited=2 @@ -1006,12 +1018,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- just last column - should be 5 and 50 select e from foo; E @@ -1047,7 +1059,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=2 @@ -1056,12 +1068,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- as subset of columns - should be 5,3,1 and 50,30,10 select e, c, a from foo; E |C |A @@ -1123,7 +1135,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of deleted rows visited=2 @@ -1132,12 +1144,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- as subset of columns, with qualifier in list - should be 5,3,1 and 50,30,10 select e, c, a from foo where foo.e = 5; E |C |A @@ -1198,7 +1210,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of deleted rows visited=2 @@ -1207,14 +1219,14 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- as subset of columns, with qualifier not in list -- - should be 5,3,1 and 50,30,10 select e, c, a from foo where foo.b = 20; @@ -1277,7 +1289,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 3, 4} Number of columns fetched=4 Number of deleted rows visited=2 @@ -1286,16 +1298,16 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -Column[0][0] Id: 3 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + Column[0][0] Id: 3 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> -- as subset of columns - should be 1,2 and 10,20 select a, b from foo; A |B @@ -1344,7 +1356,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={3, 4} Number of columns fetched=2 Number of deleted rows visited=2 @@ -1353,12 +1365,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- now check index scans - force the index just to -- make sure it does an index scan. create index foo_cover on foo (e, d, c, b, a); @@ -1412,7 +1424,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1, 2, 3, 4} Number of columns fetched=5 Number of deleted rows visited=2 @@ -1421,12 +1433,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- just last column - should be 5 and 50 select e from foo; E @@ -1462,7 +1474,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=2 @@ -1471,12 +1483,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- as subset of columns - should be 5,3,1 and 50,30,10 select e, c, a from foo; E |C |A @@ -1538,7 +1550,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of deleted rows visited=2 @@ -1547,12 +1559,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- as subset of columns, with qualifier in list - should be 5,3,1 and 50, 30, 10 select e, c, a from foo where foo.e = 5; E |C |A @@ -1613,7 +1625,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 4} Number of columns fetched=3 Number of deleted rows visited=2 @@ -1622,14 +1634,14 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- as subset of columns, with qualifier not in list - should be 5,3,1 -- and 50, 30, 10 select e, c, a from foo where foo.b = 20; @@ -1692,7 +1704,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 2, 3, 4} Number of columns fetched=4 Number of deleted rows visited=2 @@ -1701,16 +1713,16 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -Column[0][0] Id: 3 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + Column[0][0] Id: 3 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> -- as subset of columns - should be 1,2 and 10, 20 select a, b from foo; A |B @@ -1759,7 +1771,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={3, 4} Number of columns fetched=2 Number of deleted rows visited=2 @@ -1768,12 +1780,12 @@ Number of rows visited=4 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- ---------------------------------------------------------------------------- -- test case for costing - make sure optimizer picks obvious covered query. -- ---------------------------------------------------------------------------- @@ -1847,7 +1859,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -1856,12 +1868,12 @@ Number of rows visited=10 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- ---------------------------------------------------------------------------- -- test for key too big error message. -- ---------------------------------------------------------------------------- @@ -2251,17 +2263,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 -scan information: +scan information: Bit set of columns fetched={0, 3} Number of columns fetched=2 Number of pages visited=6 Number of rows qualified=5 Number of rows visited=5 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> autocommit on; ij> -- test case for track 2241 -- The problem was that when the level of btree grew, sometimes a long @@ -2823,7 +2837,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -2832,14 +2846,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- update against table with 0 rows. update foo set b = 1 where a = 2; 0 rows inserted/updated/deleted @@ -2897,7 +2911,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -2906,14 +2920,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 0 rows. select * from foo where a = 2; A |B @@ -2954,7 +2968,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -2963,14 +2977,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 0 rows. select a from foo where a = 2; A @@ -3003,7 +3017,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -3012,14 +3026,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 0 rows. select a from foo where a = 2; A @@ -3052,7 +3066,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -3061,14 +3075,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- now insert one row and make sure still same plan. Previous to 4595 -- 0 row plan was a table scan and it would not change when 1 row was inserted. insert into foo values (1, 1); @@ -3131,7 +3145,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -3140,14 +3154,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- delete against table with 1 row. delete from foo where a = 1; 1 row inserted/updated/deleted @@ -3211,7 +3225,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -3220,14 +3234,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- try delete/update statement compiled against table with 1 row. drop table foo; 0 rows inserted/updated/deleted @@ -3295,7 +3309,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -3304,14 +3318,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- delete against table with 1 row. delete from foo where a = 1; 1 row inserted/updated/deleted @@ -3375,7 +3389,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -3384,14 +3398,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- repeat set of 4595 tests against table with primary key, vs. unique index - -- there should be no difference in plan shape. -- try delete/update statement compiled against table with 0 rows @@ -3461,7 +3475,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -3470,16 +3484,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- update against table with 0 rows. update foo set b = 1 where a = 2; 0 rows inserted/updated/deleted @@ -3537,7 +3551,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -3546,16 +3560,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- select against table with 0 rows. select * from foo where a = 2; A |B @@ -3596,7 +3610,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -3605,16 +3619,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- select against table with 0 rows. select a from foo where a = 2; A @@ -3647,7 +3661,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -3656,16 +3670,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- select against table with 0 rows. select a from foo where a = 2; A @@ -3698,7 +3712,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -3707,16 +3721,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- now insert one row and make sure still same plan. Previous to 4595 -- 0 row plan was a table scan and it would not change when 1 row was inserted. insert into foo values (1, 1); @@ -3779,7 +3793,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -3788,16 +3802,16 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- delete against table with 1 row. delete from foo where a = 1; 1 row inserted/updated/deleted @@ -3861,7 +3875,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -3870,16 +3884,16 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- try delete/update statement compiled against table with 1 row. drop table foo; 0 rows inserted/updated/deleted @@ -3945,7 +3959,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -3954,16 +3968,16 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- delete against table with 1 row. delete from foo where a = 1; 1 row inserted/updated/deleted @@ -4027,7 +4041,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -4036,16 +4050,16 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- select against table with 1 row. select * from foo where a = 2; A |B @@ -4086,7 +4100,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -4095,16 +4109,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- select against table with 1 row. select a from foo where a = 2; A @@ -4137,7 +4151,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -4146,16 +4160,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- select against table with 1 row. select a from foo where a = 2; A @@ -4188,7 +4202,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -4197,16 +4211,16 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: -0 - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: -0 + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + 0 + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: + 0 qualifiers: -None + None ij> -- repeat set of 4595 tests against table with non-unique index with no -- statistics. -- there should be no difference in plan shape. @@ -4279,7 +4293,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -4288,14 +4302,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- update against table with 0 rows. update foo set b = 1 where a = 2; 0 rows inserted/updated/deleted @@ -4353,7 +4367,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -4362,14 +4376,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 0 rows. select * from foo where a = 2; A |B @@ -4410,7 +4424,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -4419,14 +4433,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 0 rows. select a from foo where a = 2; A @@ -4459,7 +4473,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -4468,14 +4482,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 0 rows. select a from foo where a = 2; A @@ -4508,7 +4522,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -4517,14 +4531,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- now insert one row and make sure still same plan. Previous to 4595 -- 0 row plan was a table scan and it would not change when 1 row was inserted. insert into foo values (1, 1); @@ -4587,7 +4601,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -4596,14 +4610,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- delete against table with 1 row. delete from foo where a = 1; 1 row inserted/updated/deleted @@ -4667,7 +4681,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -4676,14 +4690,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- try delete/update statement compiled against table with 1 row. drop table foo; 0 rows inserted/updated/deleted @@ -4751,7 +4765,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -4760,14 +4774,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- delete against table with 1 row. delete from foo where a = 1; 1 row inserted/updated/deleted @@ -4831,7 +4845,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -4840,14 +4854,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 1 row. select * from foo where a = 2; A |B @@ -4888,7 +4902,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -4897,14 +4911,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 1 row. select a from foo where a = 2; A @@ -4937,7 +4951,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -4946,14 +4960,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- select against table with 1 row. select a from foo where a = 2; A @@ -4986,7 +5000,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 -scan information: +scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -4995,14 +5009,14 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> ------------------------------------------------------------------------ -- simple regression test for qualifier work. ------------------------------------------------------------------------ Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregateOptimization.out URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregateOptimization.out?rev=809632&r1=809631&r2=809632&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregateOptimization.out (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/aggregateOptimization.out Mon Aug 31 15:47:23 2009 @@ -97,17 +97,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=9 Number of rows visited=9 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> select min(distinct c1), max(distinct(c1)) from t1 group by c1; 1 |2 ----------------------- @@ -185,17 +187,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of pages visited=1 Number of rows qualified=9 Number of rows visited=9 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> -- min optimization create index i1 on t1(c1); 0 rows inserted/updated/deleted @@ -268,7 +272,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -277,12 +281,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> create index i2 on t1(c2, c1); 0 rows inserted/updated/deleted ij> -- equality predicates on all key columns preceding min column @@ -367,7 +371,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -376,14 +380,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- equality predicates on all key columns preceding min column, -- not a unique index select min(c2) from t1 where c1 = 1; @@ -463,7 +467,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -472,14 +476,14 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> delete from t1; 9 rows inserted/updated/deleted ij> drop index i1; @@ -567,7 +571,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched=All Number of columns fetched=2 Number of deleted rows visited=0 @@ -576,14 +580,14 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> -- group by ordered on grouping columns create table t2(c1 int, c2 int, c3 int, c4 int); 0 rows inserted/updated/deleted @@ -659,7 +663,7 @@ open time (milliseconds) = 0 next time (milliseconds) = 0 close time (milliseconds) = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -668,12 +672,12 @@ Number of rows visited=0 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- 1 row table insert into t2 values (1, 1, 1, 1); 1 row inserted/updated/deleted @@ -745,7 +749,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -754,12 +758,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- multiple rows, 1 group insert into t2 values (1, 2, 2, 2), (1, -1, -1, -1); 2 rows inserted/updated/deleted @@ -831,7 +835,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -840,12 +844,12 @@ Number of rows visited=3 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- multiple rows, multiple groups insert into t2 values (2, 3, 2, 2), (2, 3, -1, -1); 2 rows inserted/updated/deleted @@ -918,7 +922,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -927,12 +931,12 @@ Number of rows visited=5 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- ordered, but in reverse order select c2, c1, sum(c3) from t2 group by c2, c1; C2 |C1 |3 @@ -1009,17 +1013,19 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1, 2} Number of columns fetched=3 Number of pages visited=1 Number of rows qualified=5 Number of rows visited=5 Scan type=heap - start position: -null stop position: -null qualifiers: -None + start position: + null + stop position: + null + qualifiers: + None ij> -- clean up drop table t1; 0 rows inserted/updated/deleted @@ -1304,7 +1310,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -1313,13 +1319,13 @@ Number of rows visited=5 Scan type=btree Tree height=1 - start position: - None - stop position: - >= on first 1 column(s). - Ordered null semantics on the following columns: + start position: + None + stop position: + >= on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> select max(x) from x where x = 7; 1 ----------- @@ -1387,7 +1393,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -1396,14 +1402,14 @@ Number of rows visited=2 Scan type=btree Tree height=1 - start position: - >= on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - > on first 1 column(s). - Ordered null semantics on the following columns: + start position: + >= on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + > on first 1 column(s). + Ordered null semantics on the following columns: qualifiers: -None + None ij> select max(x) from x where y = 7; 1 ----------- @@ -1471,7 +1477,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -1480,16 +1486,16 @@ Number of rows visited=5 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -Column[0][0] Id: 1 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + Column[0][0] Id: 1 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> select max(x) from x where y = 7; 1 ----------- @@ -1557,7 +1563,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0, 1} Number of columns fetched=2 Number of deleted rows visited=0 @@ -1566,16 +1572,16 @@ Number of rows visited=5 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -Column[0][0] Id: 1 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + Column[0][0] Id: 1 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> select max(y) from x where y = 7; 1 ----------- @@ -1643,7 +1649,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={1} Number of columns fetched=1 Number of deleted rows visited=0 @@ -1652,16 +1658,16 @@ Number of rows visited=5 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -Column[0][0] Id: 1 -Operator: = -Ordered nulls: false -Unknown return value: false -Negate comparison result: false + Column[0][0] Id: 1 + Operator: = + Ordered nulls: false + Unknown return value: false + Negate comparison result: false ij> select max(x) from x group by x; 1 ----------- @@ -1734,7 +1740,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -1743,12 +1749,12 @@ Number of rows visited=5 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- could do max optimization on this, but we don't -- really know much about qualifications select max(x) from x where x > 99; @@ -1820,7 +1826,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -1829,13 +1835,13 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - > on first 1 column(s). - Ordered null semantics on the following columns: - stop position: - None + start position: + > on first 1 column(s). + Ordered null semantics on the following columns: + stop position: + None qualifiers: -None + None ij> autocommit off; ij> prepare p as 'select max(x) from x'; ij> execute p; @@ -2135,7 +2141,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -2144,12 +2150,12 @@ Number of rows visited=1 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> -- min of b should use max optimization whether b in nullable or not because NULLS are sorted high select min(b) from t1; 1 @@ -2350,7 +2356,7 @@ next time (milliseconds) = 0 close time (milliseconds) = 0 next time in milliseconds/row = 0 - scan information: + scan information: Bit set of columns fetched={0} Number of columns fetched=1 Number of deleted rows visited=0 @@ -2359,12 +2365,12 @@ Number of rows visited=10 Scan type=btree Tree height=1 - start position: - None - stop position: - None + start position: + None + stop position: + None qualifiers: -None + None ij> create table t2 (a int not null, b int not null); 0 rows inserted/updated/deleted ij> insert into t2 select a, b from t1 where a is not null and b is not null;