-C Merge\slatest\strunk\schanges\sinto\sthis\sbranch.
-D 2020-08-11T11:34:00.038
+C Fix\sthings\sso\sthat\ssqlite3_database_file_object()\sworks\swith\swal2\sfilenames.
+D 2020-11-19T16:08:08.155
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F src/os_unix.c 9b1b860163fd2d4d7679b5260d384d1a9f88ef917a90f28963eca8acd472d8c8
F src/os_win.c a2149ff0a85c1c3f9cc102a46c673ce87e992396ba3411bfb53db66813b32f1d
F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
-F src/pager.c 35fcb2d9400404d0d8f719461b411076bcd5597574b7a238f3a04f959842a88d
+F src/pager.c aafa89d881c1d56b2dc212f99a6527ca3d4f7105a01e755871657981fc411005
F src/pager.h 9d38ac4b9f0e1361f7ddb6aa0675a54f5e4f085703108d3aafe7868872113f92
F src/parse.y 5bdb760a29c0b25caf7e80e82210b81cd2ea3066d5199ca29e6eac40b34bc184
F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c
F src/vtab.c 5f5fc793092f53bbdfde296c50f563fb7bda58cf48e9cf6a8bdfbc5abd409845
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
-F src/wal.c dafdd709d1e01f77719a983f5b3071ccd82808d59a044f8ce48cd0bfa1c1fea5
+F src/wal.c 055328936bf2519e235adcb65b3e8d416f0835ac81d577d08fd34cd29432af88
F src/wal.h d01234e828943e002040c22a7e017642962f9fd9b2dc142fa599769ae4e459e9
F src/walker.c 3df26a33dc4f54e8771600fb7fdebe1ece0896c2ad68c30ab40b017aa4395049
F src/where.c 2ea911238674e9baaeddf105dddabed92692a01996073c4d4983f9a7efe481f9
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 0c0d0a77bc8fa68ee584ca6d7a0408dcd00734a9b6b69d127ee8477c230a749c 5bbd4bddd3b9fa64d134ed62bce3eb4a09456bf24dec2474b5d764a3a3775964
-R 19eea2388f833c601e8554bc39b427c6
+P 91262e665755a1430f3b667867b9c4fa0cc3aa0388c21e8ba436485beefa9f4a
+R 526f45cc6b30de9a0c02f320de6299a2
U dan
-Z e3452c6286d56d7ce7f02a59585758e0
+Z 12962dd7c3e8bd2cbe9af67559b28702
nPathname + 8 + 1 + /* Journal filename */
#ifndef SQLITE_OMIT_WAL
nPathname + 4 + 1 + /* WAL filename */
+ nPathname + 5 + 1 + /* Second WAL filename */
#endif
3 /* Terminator */
);
sqlite3FileSuffix3(zFilename, pPager->zWal);
pPtr = (u8*)(pPager->zWal + sqlite3Strlen30(pPager->zWal)+1);
#endif
+ memcpy(pPtr, zPathname, nPathname); pPtr += nPathname;
+ memcpy(pPtr, "-wal2", 5); pPtr += 5 + 1;
}else{
pPager->zWal = 0;
}
int rc; /* Return Code */
Wal *pRet; /* Object to allocate and return */
int flags; /* Flags passed to OsOpen() */
- int nWalName; /* Length of zWalName in bytes */
int nByte; /* Bytes of space to allocate */
assert( zWalName && zWalName[0] );
assert( UNIX_SHM_BASE==WALINDEX_LOCK_OFFSET );
#endif
- nWalName = sqlite3Strlen30(zWalName);
- nByte = sizeof(Wal) + pVfs->szOsFile*2 + nWalName+2;
+ nByte = sizeof(Wal) + pVfs->szOsFile*2;
/* Allocate an instance of struct Wal to return. */
*ppWal = 0;
pRet->padToSectorBoundary = 1;
pRet->exclusiveMode = (bNoShm ? WAL_HEAPMEMORY_MODE: WAL_NORMAL_MODE);
pRet->bWal2 = bWal2;
-
- pRet->zWalName2 = (char*)pRet + sizeof(Wal) + 2*pVfs->szOsFile;
- memcpy(pRet->zWalName2, zWalName, nWalName);
- pRet->zWalName2[nWalName] = '2';
- pRet->zWalName2[nWalName+1] = '\0';
+ pRet->zWalName2 = &zWalName[sqlite3Strlen30(zWalName)+1];
/* Open a file handle on the first write-ahead log file. */
flags = (SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_WAL);