SQLite

Check-in [4060efb646]
Login

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

Overview
Comment:Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4060efb646c873c4abde7ab9ddf330489a44f274
User & Date: dan 2014-09-15 16:53:23.593
Context
2014-09-16
03:24
Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). (check-in: 20ed2321b0 user: drh tags: trunk)
2014-09-15
16:57
Merge latest trunk fixes into this branch. (check-in: 5efafef51d user: dan tags: ota-update)
16:53
Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages. (check-in: 4060efb646 user: dan tags: trunk)
16:50
Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3. (check-in: dedaa6fb3d user: dan tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to tool/showwal.c.
506
507
508
509
510
511
512
513

514
515
516
517
518
519
520
521
522
523
524
525
526
527



528
529
530
531
532
533
534
506
507
508
509
510
511
512

513
514
515
516
517
518
519
520
521
522
523
524



525
526
527
528
529
530
531
532
533
534







-
+











-
-
-
+
+
+







    }
    free(zMap);
  }  
}

int main(int argc, char **argv){
  struct stat sbuf;
  unsigned char zPgSz[2];
  unsigned char zPgSz[4];
  if( argc<2 ){
    fprintf(stderr,"Usage: %s FILENAME ?PAGE? ...\n", argv[0]);
    exit(1);
  }
  fd = open(argv[1], O_RDONLY);
  if( fd<0 ){
    fprintf(stderr,"%s: can't open %s\n", argv[0], argv[1]);
    exit(1);
  }
  zPgSz[0] = 0;
  zPgSz[1] = 0;
  lseek(fd, 10, SEEK_SET);
  read(fd, zPgSz, 2);
  pagesize = zPgSz[0]*256 + zPgSz[1];
  lseek(fd, 8, SEEK_SET);
  read(fd, zPgSz, 4);
  pagesize = zPgSz[1]*65536 + zPgSz[2]*256 + zPgSz[3];
  if( pagesize==0 ) pagesize = 1024;
  printf("Pagesize: %d\n", pagesize);
  fstat(fd, &sbuf);
  if( sbuf.st_size<32 ){
    printf("file too small to be a WAL\n");
    return 0;
  }