ackelcn created DERBY-7082: ------------------------------ Summary: A rotten comment in IndexStatisticsDaemonImpl.java Key: DERBY-7082 URL: https://issues.apache.org/jira/browse/DERBY-7082 Project: Derby Issue Type: Bug Reporter: ackelcn
When I read the code of DataDictionaryImpl.java, I found a comment: {code:java} private void setHeapRowEstimate(TransactionController tc, long tableId, long rowEstimate) throws StandardException { // DERBY-4116: If we know the row count, update the store estimated row // count for the table. ScanController sc = tc.openScan( ... }{code} The comment mentions DERBY-4116. I found that DERBY-4116 modified AlterTableConstantAction.java, and the patch is as follows: {code:java} @@ -779,6 +782,33 @@@@ -779,6 +782,33 @@ } // for each leading column (c1) (c1,c2).... } // for each index. ++ // DERBY-4116 if there were indexes we scanned, we now know the row count. + // Update statistics should update the store estimated row count for the table. + // If we didn't scan an index and don't know, numRows will still be -1 and + // we skip the estimatedRowCount update. + + if (numRows == -1) + return; + + ScanController heapSC = tc.openScan(td.getHeapConglomerateId(), + false, // hold + 0, // openMode: for read + TransactionController.MODE_RECORD, // locking + TransactionController.ISOLATION_READ_UNCOMMITTED, //isolation level + null, // scancolumnlist-- want everything. + null, // startkeyvalue-- start from the beginning.+ 0, + null, // qualifiers, none! + null, // stopkeyvalue,+ 0); + + try { + heapSC.setEstimatedRowCount(numRows); + } finally { + heapSC.close(); + } + } {code} The patch modified the updateStatistics method. However, the method is totaly rewritten by follow-up commits, and the method does not contain the above added lines any more. I am wondering whether IndexStatisticsDaemonImpl.java mentions a rotten issue report (DERBY-4116--), in that all the modifications of this issue do not appear in the latest version. Would you please check the problem? If it is, the reference of DERBY-4116 shall be removed from the comment of DataDictionaryImpl.java. -- This message was sent by Atlassian Jira (v8.3.4#803005)