SQLite

Check-in [e3f8c70e]
Login

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

Overview
Comment:Version 3.46.0 for the begin-concurrent branch
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | begin-concurrent
Files: files | file ages | folders
SHA3-256: e3f8c70ef5a7349c0ebcb807b3ec4ad1f228f8afce1122889571fbf7471e68e4
User & Date: drh 2024-05-23 14:04:16
Context
2024-08-10
19:59
Merge all of the latest branch-3.46 into the begin-concurrent branch as a new sub-branch called begin-concurrent-3.46. (Leaf check-in: 6cc14462 user: drh tags: begin-concurrent-3.46)
2024-05-28
18:35
Fix another problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: d033d943 user: dan tags: begin-concurrent)
2024-05-23
14:04
Version 3.46.0 for the begin-concurrent branch (check-in: e3f8c70e user: drh tags: begin-concurrent)
13:25
Version 3.46.0 (check-in: 96c92aba user: drh tags: trunk, release, major-release, version-3.46.0)
2024-05-21
15:17
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 5c1c8651 user: drh tags: begin-concurrent)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ext/recover/dbdata.c.

321
322
323
324
325
326
327

328
329
330
331
332
333
334
  pCsr->iPgno = 1;
  pCsr->iCell = 0;
  pCsr->iField = 0;
  pCsr->bOnePage = 0;
  sqlite3_free(pCsr->aPage);
  dbdataBufferFree(&pCsr->rec);
  pCsr->aPage = 0;

}

/*
** Close an sqlite_dbdata or sqlite_dbptr cursor.
*/
static int dbdataClose(sqlite3_vtab_cursor *pCursor){
  DbdataCursor *pCsr = (DbdataCursor*)pCursor;







>







321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
  pCsr->iPgno = 1;
  pCsr->iCell = 0;
  pCsr->iField = 0;
  pCsr->bOnePage = 0;
  sqlite3_free(pCsr->aPage);
  dbdataBufferFree(&pCsr->rec);
  pCsr->aPage = 0;
  pCsr->nRec = 0;
}

/*
** Close an sqlite_dbdata or sqlite_dbptr cursor.
*/
static int dbdataClose(sqlite3_vtab_cursor *pCursor){
  DbdataCursor *pCsr = (DbdataCursor*)pCursor;
592
593
594
595
596
597
598

599
600
601
602
603
604
605
        if( pCsr->bOnePage ) return SQLITE_OK;
        pCsr->iPgno++;
      }else{
        return SQLITE_OK;
      }
    }else{
      /* If there is no record loaded, load it now. */

      if( pCsr->nRec==0 ){
        int bHasRowid = 0;
        int nPointer = 0;
        sqlite3_int64 nPayload = 0;
        sqlite3_int64 nHdr = 0;
        int iHdr;
        int U, X;







>







593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
        if( pCsr->bOnePage ) return SQLITE_OK;
        pCsr->iPgno++;
      }else{
        return SQLITE_OK;
      }
    }else{
      /* If there is no record loaded, load it now. */
      assert( pCsr->rec.aBuf!=0 || pCsr->nRec==0 );
      if( pCsr->nRec==0 ){
        int bHasRowid = 0;
        int nPointer = 0;
        sqlite3_int64 nPayload = 0;
        sqlite3_int64 nHdr = 0;
        int iHdr;
        int U, X;