| Index: third_party/sqlite/src/src/status.c
 | 
| diff --git a/third_party/sqlite/src/src/status.c b/third_party/sqlite/src/src/status.c
 | 
| index 69f92ff7c624ddb50e395d4459e8b6ca48c4310e..24dcad45724c39aa6fbbb6cc06197152d7dfd728 100644
 | 
| --- a/third_party/sqlite/src/src/status.c
 | 
| +++ b/third_party/sqlite/src/src/status.c
 | 
| @@ -158,7 +158,7 @@ int sqlite3_status64(
 | 
|    return SQLITE_OK;
 | 
|  }
 | 
|  int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag){
 | 
| -  sqlite3_int64 iCur, iHwtr;
 | 
| +  sqlite3_int64 iCur = 0, iHwtr = 0;
 | 
|    int rc;
 | 
|  #ifdef SQLITE_ENABLE_API_ARMOR
 | 
|    if( pCurrent==0 || pHighwater==0 ) return SQLITE_MISUSE_BKPT;
 | 
| @@ -219,6 +219,7 @@ int sqlite3_db_status(
 | 
|      ** by all pagers associated with the given database connection.  The
 | 
|      ** highwater mark is meaningless and is returned as zero.
 | 
|      */
 | 
| +    case SQLITE_DBSTATUS_CACHE_USED_SHARED:
 | 
|      case SQLITE_DBSTATUS_CACHE_USED: {
 | 
|        int totalUsed = 0;
 | 
|        int i;
 | 
| @@ -227,7 +228,11 @@ int sqlite3_db_status(
 | 
|          Btree *pBt = db->aDb[i].pBt;
 | 
|          if( pBt ){
 | 
|            Pager *pPager = sqlite3BtreePager(pBt);
 | 
| -          totalUsed += sqlite3PagerMemUsed(pPager);
 | 
| +          int nByte = sqlite3PagerMemUsed(pPager);
 | 
| +          if( op==SQLITE_DBSTATUS_CACHE_USED_SHARED ){
 | 
| +            nByte = nByte / sqlite3BtreeConnectionCount(pBt);
 | 
| +          }
 | 
| +          totalUsed += nByte;
 | 
|          }
 | 
|        }
 | 
|        sqlite3BtreeLeaveAll(db);
 | 
| 
 |