Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix the SQLITE_ENABLE_APPLE_SPI compile-time option. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | apple-osx |
Files: | files | file ages | folders |
SHA3-256: |
6cb537bdce85e08810ac952b753ecd97 |
User & Date: | drh 2018-10-12 22:02:27.294 |
Context
2018-10-25
| ||
16:58 | Merge bug fixes from trunk. (check-in: 1e973f65e8 user: drh tags: apple-osx) | |
2018-10-12
| ||
22:02 | Fix the SQLITE_ENABLE_APPLE_SPI compile-time option. (check-in: 6cb537bdce user: drh tags: apple-osx) | |
2018-10-11
| ||
18:45 | Fix issues with the new textkey pragma from the previous check-in. (check-in: d1008b0728 user: drh tags: apple-osx) | |
Changes
Changes to src/btreeInt.h.
︙ | ︙ | |||
229 230 231 232 233 234 235 | #define MX_CELL(pBt) ((pBt->pageSize-8)/6) /* Forward declarations */ typedef struct MemPage MemPage; typedef struct BtLock BtLock; typedef struct CellInfo CellInfo; | < < < < < < < < < < < < < < < < | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | #define MX_CELL(pBt) ((pBt->pageSize-8)/6) /* Forward declarations */ typedef struct MemPage MemPage; typedef struct BtLock BtLock; typedef struct CellInfo CellInfo; /* ** Page type flags. An ORed combination of these flags appear as the ** first byte of on-disk image of every BTree page. */ #define PTF_INTKEY 0x01 #define PTF_ZERODATA 0x02 #define PTF_LEAFDATA 0x04 |
︙ | ︙ |
Changes to src/os_unix.c.
︙ | ︙ | |||
5724 5725 5726 5727 5728 5729 5730 | /* Check to see if the shm file is already opened for this pFile */ if( j==2 ){ unixEnterMutex(); /* Because pFile->pInode is shared across threads */ unixShmNode *pShmNode = pFile->pInode->pShmNode; if( pShmNode && !pShmNode->isReadonly ){ struct stat sStat; | | | | | | 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 | /* Check to see if the shm file is already opened for this pFile */ if( j==2 ){ unixEnterMutex(); /* Because pFile->pInode is shared across threads */ unixShmNode *pShmNode = pFile->pInode->pShmNode; if( pShmNode && !pShmNode->isReadonly ){ struct stat sStat; sqlite3_mutex_enter(pShmNode->pShmMutex); if( pShmNode->hShm>=0 && !osFstat(pShmNode->hShm, &sStat) ){ unsigned long size = (sStat.st_size<4) ? sStat.st_size : 4; if( size>0 ){ bzero(pShmNode->apRegion[0], size); sqlite3_mutex_leave(pShmNode->pShmMutex); unixLeaveMutex(); continue; } } sqlite3_mutex_leave(pShmNode->pShmMutex); } unixLeaveMutex(); } jLen = strlcpy(&jPath[zLen], extensions[j], 9); if( jLen < 9 ){ int jflags = (j<2) ? O_TRUNC : O_RDWR; int jfd = open(jPath, jflags); |
︙ | ︙ | |||
6069 6070 6071 6072 6073 6074 6075 | } if( nLock==0 && isWal!=0 ){ /* lookup the file descriptor for the shared memory file if we have it open ** in this process */ unixEnterMutex(); /* Because pFile->pInode is shared across threads */ unixShmNode *pShmNode = pFile->pInode->pShmNode; if( pShmNode ){ | | | | | 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 | } if( nLock==0 && isWal!=0 ){ /* lookup the file descriptor for the shared memory file if we have it open ** in this process */ unixEnterMutex(); /* Because pFile->pInode is shared across threads */ unixShmNode *pShmNode = pFile->pInode->pShmNode; if( pShmNode ){ sqlite3_mutex_enter(pShmNode->pShmMutex); hShm = pShmNode->hShm; if( hShm >= 0){ if( unixIsLocked(pid, hShm, F_RDLCK, SHM_RECOVER, 1, "WAL-RECOVERY") || unixIsLocked(pid, hShm, F_RDLCK, SHM_WRITE, 1, "WAL-WRITE") ){ nLock = 1; } } sqlite3_mutex_leave(pShmNode->pShmMutex); } if( hShm<0 ){ /* the shared memory file isn't open in this process space, open our ** own FD */ char zShm[MAXPATHLEN]; |
︙ | ︙ |
Changes to src/sqliteInt.h.
︙ | ︙ | |||
327 328 329 330 331 332 333 334 335 336 337 338 339 340 | #if defined(SQLITE_SYSTEM_MALLOC) \ + defined(SQLITE_WIN32_MALLOC) \ + defined(SQLITE_ZERO_MALLOC) \ + defined(SQLITE_MEMDEBUG)==0 # define SQLITE_SYSTEM_MALLOC 1 #endif /* ** If SQLITE_MALLOC_SOFT_LIMIT is not zero, then try to keep the ** sizes of memory allocations below this value where possible. */ #if !defined(SQLITE_MALLOC_SOFT_LIMIT) # define SQLITE_MALLOC_SOFT_LIMIT 1024 #endif | > > > > > > > > > > > > > > > > | 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | #if defined(SQLITE_SYSTEM_MALLOC) \ + defined(SQLITE_WIN32_MALLOC) \ + defined(SQLITE_ZERO_MALLOC) \ + defined(SQLITE_MEMDEBUG)==0 # define SQLITE_SYSTEM_MALLOC 1 #endif /* ** This is a magic string that appears at the beginning of every ** SQLite database in order to identify the file as a real database. ** ** You can change this value at compile-time by specifying a ** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The ** header must be exactly 16 bytes including the zero-terminator so ** the string itself should be 15 characters long. If you change ** the header, then your custom library will not be able to read ** databases generated by the standard tools and the standard tools ** will not be able to read databases created by your custom library. */ #ifndef SQLITE_FILE_HEADER /* 123456789 123456 */ # define SQLITE_FILE_HEADER "SQLite format 3" #endif /* ** If SQLITE_MALLOC_SOFT_LIMIT is not zero, then try to keep the ** sizes of memory allocations below this value where possible. */ #if !defined(SQLITE_MALLOC_SOFT_LIMIT) # define SQLITE_MALLOC_SOFT_LIMIT 1024 #endif |
︙ | ︙ |