SQLite

Check-in [4f83f6806a]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:In the STAT4 computations, ensure that the aAvgEq values do not go negative.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | branch-3.8.9
Files: files | file ages | folders
SHA1: 4f83f6806aa6816656668feb181369500cc2cf0f
User & Date: drh 2017-01-11 14:21:20.464
Context
2017-05-22
00:27
When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (check-in: 962531e7c1 user: drh tags: branch-3.8.9)
2017-01-11
14:21
In the STAT4 computations, ensure that the aAvgEq values do not go negative. (check-in: 4f83f6806a user: drh tags: branch-3.8.9)
14:15
In the STAT4 computations, ensure that the aAvgEq values do not go negative. (check-in: f58f75b5a0 user: drh tags: trunk)
2016-11-02
16:29
When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4] backported to the 3.8.9 branch. (check-in: 8e4ba115ed user: drh tags: branch-3.8.9)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/analyze.c.
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
         || aSample[i].anDLt[iCol]!=aSample[i+1].anDLt[iCol] 
        ){
          sumEq += aSample[i].anEq[iCol];
          nSum100 += 100;
        }
      }

      if( nDist100>nSum100 ){
        avgEq = ((i64)100 * (nRow - sumEq))/(nDist100 - nSum100);
      }
      if( avgEq==0 ) avgEq = 1;
      pIdx->aAvgEq[iCol] = avgEq;
    }
  }
}







|







1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
         || aSample[i].anDLt[iCol]!=aSample[i+1].anDLt[iCol] 
        ){
          sumEq += aSample[i].anEq[iCol];
          nSum100 += 100;
        }
      }

      if( nDist100>nSum100 && sumEq<nRow ){
        avgEq = ((i64)100 * (nRow - sumEq))/(nDist100 - nSum100);
      }
      if( avgEq==0 ) avgEq = 1;
      pIdx->aAvgEq[iCol] = avgEq;
    }
  }
}