mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-04 04:22:36 +03:00
Tamp down various harmless compiler warnings. Use "int" in places instead
of "u16" or "i16" since the compiler complains less and generates faster code. FossilOrigin-Name: 742827f049768c4f69ccdfaadfad339aaad3bc126d3a68b90cfea01d825bf7ce
This commit is contained in:
10
src/alter.c
10
src/alter.c
@ -1261,14 +1261,15 @@ static int renameEditSql(
|
||||
memcpy(zBuf1, pBest->t.z, pBest->t.n);
|
||||
zBuf1[pBest->t.n] = 0;
|
||||
sqlite3Dequote(zBuf1);
|
||||
sqlite3_snprintf(nSql*2, zBuf2, "%Q%s", zBuf1,
|
||||
assert( nSql < 0x15555554 /* otherwise malloc would have failed */ );
|
||||
sqlite3_snprintf((int)(nSql*2), zBuf2, "%Q%s", zBuf1,
|
||||
pBest->t.z[pBest->t.n]=='\'' ? " " : ""
|
||||
);
|
||||
zReplace = zBuf2;
|
||||
nReplace = sqlite3Strlen30(zReplace);
|
||||
}
|
||||
|
||||
iOff = pBest->t.z - zSql;
|
||||
iOff = (int)(pBest->t.z - zSql);
|
||||
if( pBest->t.n!=nReplace ){
|
||||
memmove(&zOut[iOff + nReplace], &zOut[iOff + pBest->t.n],
|
||||
nOut - (iOff + pBest->t.n)
|
||||
@ -1294,11 +1295,12 @@ static int renameEditSql(
|
||||
** Set all pEList->a[].fg.eEName fields in the expression-list to val.
|
||||
*/
|
||||
static void renameSetENames(ExprList *pEList, int val){
|
||||
assert( val==ENAME_NAME || val==ENAME_TAB || val==ENAME_SPAN );
|
||||
if( pEList ){
|
||||
int i;
|
||||
for(i=0; i<pEList->nExpr; i++){
|
||||
assert( val==ENAME_NAME || pEList->a[i].fg.eEName==ENAME_NAME );
|
||||
pEList->a[i].fg.eEName = val;
|
||||
pEList->a[i].fg.eEName = val&0x3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2045,7 +2047,7 @@ static void renameTableTest(
|
||||
if( zDb && zInput ){
|
||||
int rc;
|
||||
Parse sParse;
|
||||
int flags = db->flags;
|
||||
u64 flags = db->flags;
|
||||
if( bNoDQS ) db->flags &= ~(SQLITE_DqsDML|SQLITE_DqsDDL);
|
||||
rc = renameParseSql(&sParse, zDb, db, zInput, bTemp);
|
||||
db->flags |= (flags & (SQLITE_DqsDML|SQLITE_DqsDDL));
|
||||
|
@ -443,7 +443,7 @@ static void statInit(
|
||||
p->db = db;
|
||||
p->nEst = sqlite3_value_int64(argv[2]);
|
||||
p->nRow = 0;
|
||||
p->nLimit = sqlite3_value_int64(argv[3]);
|
||||
p->nLimit = sqlite3_value_int(argv[3]);
|
||||
p->nCol = nCol;
|
||||
p->nKeyCol = nKeyCol;
|
||||
p->nSkipAhead = 0;
|
||||
|
@ -67,7 +67,7 @@
|
||||
** no fewer collisions than the no-op *1. */
|
||||
#define BITVEC_HASH(X) (((X)*1)%BITVEC_NINT)
|
||||
|
||||
#define BITVEC_NPTR (BITVEC_USIZE/sizeof(Bitvec *))
|
||||
#define BITVEC_NPTR ((u32)(BITVEC_USIZE/sizeof(Bitvec *)))
|
||||
|
||||
|
||||
/*
|
||||
@ -250,7 +250,7 @@ void sqlite3BitvecClear(Bitvec *p, u32 i, void *pBuf){
|
||||
}
|
||||
}
|
||||
if( p->iSize<=BITVEC_NBIT ){
|
||||
p->u.aBitmap[i/BITVEC_SZELEM] &= ~(1 << (i&(BITVEC_SZELEM-1)));
|
||||
p->u.aBitmap[i/BITVEC_SZELEM] &= ~(BITVEC_TELEM)(1<<(i&(BITVEC_SZELEM-1)));
|
||||
}else{
|
||||
unsigned int j;
|
||||
u32 *aiValues = pBuf;
|
||||
@ -301,7 +301,7 @@ u32 sqlite3BitvecSize(Bitvec *p){
|
||||
** individual bits within V.
|
||||
*/
|
||||
#define SETBIT(V,I) V[I>>3] |= (1<<(I&7))
|
||||
#define CLEARBIT(V,I) V[I>>3] &= ~(1<<(I&7))
|
||||
#define CLEARBIT(V,I) V[I>>3] &= ~(BITVEC_TELEM)(1<<(I&7))
|
||||
#define TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
|
||||
|
||||
/*
|
||||
|
@ -185,7 +185,7 @@ int sqlite3BtreeHoldsMutex(Btree *p){
|
||||
*/
|
||||
static void SQLITE_NOINLINE btreeEnterAll(sqlite3 *db){
|
||||
int i;
|
||||
int skipOk = 1;
|
||||
u8 skipOk = 1;
|
||||
Btree *p;
|
||||
assert( sqlite3_mutex_held(db->mutex) );
|
||||
for(i=0; i<db->nDb; i++){
|
||||
|
73
src/btree.c
73
src/btree.c
@ -1019,7 +1019,7 @@ void sqlite3BtreeCursorHint(BtCursor *pCur, int eHintType, ...){
|
||||
*/
|
||||
void sqlite3BtreeCursorHintFlags(BtCursor *pCur, unsigned x){
|
||||
assert( x==BTREE_SEEK_EQ || x==BTREE_BULKLOAD || x==0 );
|
||||
pCur->hints = x;
|
||||
pCur->hints = (u8)x;
|
||||
}
|
||||
|
||||
|
||||
@ -1213,14 +1213,15 @@ static SQLITE_NOINLINE void btreeParseCellAdjustSizeForOverflow(
|
||||
static int btreePayloadToLocal(MemPage *pPage, i64 nPayload){
|
||||
int maxLocal; /* Maximum amount of payload held locally */
|
||||
maxLocal = pPage->maxLocal;
|
||||
assert( nPayload>=0 );
|
||||
if( nPayload<=maxLocal ){
|
||||
return nPayload;
|
||||
return (int)nPayload;
|
||||
}else{
|
||||
int minLocal; /* Minimum amount of payload held locally */
|
||||
int surplus; /* Overflow payload available for local storage */
|
||||
minLocal = pPage->minLocal;
|
||||
surplus = minLocal + (nPayload - minLocal)%(pPage->pBt->usableSize-4);
|
||||
return ( surplus <= maxLocal ) ? surplus : minLocal;
|
||||
surplus = (int)(minLocal +(nPayload - minLocal)%(pPage->pBt->usableSize-4));
|
||||
return (surplus <= maxLocal) ? surplus : minLocal;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1330,11 +1331,13 @@ static void btreeParseCellPtr(
|
||||
pInfo->pPayload = pIter;
|
||||
testcase( nPayload==pPage->maxLocal );
|
||||
testcase( nPayload==(u32)pPage->maxLocal+1 );
|
||||
assert( nPayload>=0 );
|
||||
assert( pPage->maxLocal <= BT_MAX_LOCAL );
|
||||
if( nPayload<=pPage->maxLocal ){
|
||||
/* This is the (easy) common case where the entire payload fits
|
||||
** on the local page. No overflow is required.
|
||||
*/
|
||||
pInfo->nSize = nPayload + (u16)(pIter - pCell);
|
||||
pInfo->nSize = (u16)nPayload + (u16)(pIter - pCell);
|
||||
if( pInfo->nSize<4 ) pInfo->nSize = 4;
|
||||
pInfo->nLocal = (u16)nPayload;
|
||||
}else{
|
||||
@ -1367,11 +1370,13 @@ static void btreeParseCellPtrIndex(
|
||||
pInfo->pPayload = pIter;
|
||||
testcase( nPayload==pPage->maxLocal );
|
||||
testcase( nPayload==(u32)pPage->maxLocal+1 );
|
||||
assert( nPayload>=0 );
|
||||
assert( pPage->maxLocal <= BT_MAX_LOCAL );
|
||||
if( nPayload<=pPage->maxLocal ){
|
||||
/* This is the (easy) common case where the entire payload fits
|
||||
** on the local page. No overflow is required.
|
||||
*/
|
||||
pInfo->nSize = nPayload + (u16)(pIter - pCell);
|
||||
pInfo->nSize = (u16)nPayload + (u16)(pIter - pCell);
|
||||
if( pInfo->nSize<4 ) pInfo->nSize = 4;
|
||||
pInfo->nLocal = (u16)nPayload;
|
||||
}else{
|
||||
@ -1910,14 +1915,14 @@ static SQLITE_INLINE int allocateSpace(MemPage *pPage, int nByte, int *pIdx){
|
||||
** at the end of the page. So do additional corruption checks inside this
|
||||
** routine and return SQLITE_CORRUPT if any problems are found.
|
||||
*/
|
||||
static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
|
||||
u16 iPtr; /* Address of ptr to next freeblock */
|
||||
u16 iFreeBlk; /* Address of the next freeblock */
|
||||
static int freeSpace(MemPage *pPage, int iStart, int iSize){
|
||||
int iPtr; /* Address of ptr to next freeblock */
|
||||
int iFreeBlk; /* Address of the next freeblock */
|
||||
u8 hdr; /* Page header size. 0 or 100 */
|
||||
u8 nFrag = 0; /* Reduction in fragmentation */
|
||||
u16 iOrigSize = iSize; /* Original value of iSize */
|
||||
u16 x; /* Offset to cell content area */
|
||||
u32 iEnd = iStart + iSize; /* First byte past the iStart buffer */
|
||||
int nFrag = 0; /* Reduction in fragmentation */
|
||||
int iOrigSize = iSize; /* Original value of iSize */
|
||||
int x; /* Offset to cell content area */
|
||||
int iEnd = iStart + iSize; /* First byte past the iStart buffer */
|
||||
unsigned char *data = pPage->aData; /* Page content */
|
||||
u8 *pTmp; /* Temporary ptr into data[] */
|
||||
|
||||
@ -1944,7 +1949,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
|
||||
}
|
||||
iPtr = iFreeBlk;
|
||||
}
|
||||
if( iFreeBlk>pPage->pBt->usableSize-4 ){ /* TH3: corrupt081.100 */
|
||||
if( iFreeBlk>(int)pPage->pBt->usableSize-4 ){ /* TH3: corrupt081.100 */
|
||||
return SQLITE_CORRUPT_PAGE(pPage);
|
||||
}
|
||||
assert( iFreeBlk>iPtr || iFreeBlk==0 || CORRUPT_DB );
|
||||
@ -1959,7 +1964,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
|
||||
nFrag = iFreeBlk - iEnd;
|
||||
if( iEnd>iFreeBlk ) return SQLITE_CORRUPT_PAGE(pPage);
|
||||
iEnd = iFreeBlk + get2byte(&data[iFreeBlk+2]);
|
||||
if( iEnd > pPage->pBt->usableSize ){
|
||||
if( iEnd > (int)pPage->pBt->usableSize ){
|
||||
return SQLITE_CORRUPT_PAGE(pPage);
|
||||
}
|
||||
iSize = iEnd - iStart;
|
||||
@ -1980,7 +1985,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
|
||||
}
|
||||
}
|
||||
if( nFrag>data[hdr+7] ) return SQLITE_CORRUPT_PAGE(pPage);
|
||||
data[hdr+7] -= nFrag;
|
||||
data[hdr+7] -= (u8)nFrag;
|
||||
}
|
||||
pTmp = &data[hdr+5];
|
||||
x = get2byte(pTmp);
|
||||
@ -2001,7 +2006,8 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){
|
||||
/* Insert the new freeblock into the freelist */
|
||||
put2byte(&data[iPtr], iStart);
|
||||
put2byte(&data[iStart], iFreeBlk);
|
||||
put2byte(&data[iStart+2], iSize);
|
||||
assert( iSize>=0 && iSize<=0xffff );
|
||||
put2byte(&data[iStart+2], (u16)iSize);
|
||||
}
|
||||
pPage->nFree += iOrigSize;
|
||||
return SQLITE_OK;
|
||||
@ -2227,7 +2233,7 @@ static int btreeInitPage(MemPage *pPage){
|
||||
assert( pBt->pageSize>=512 && pBt->pageSize<=65536 );
|
||||
pPage->maskPage = (u16)(pBt->pageSize - 1);
|
||||
pPage->nOverflow = 0;
|
||||
pPage->cellOffset = pPage->hdrOffset + 8 + pPage->childPtrSize;
|
||||
pPage->cellOffset = (u16)(pPage->hdrOffset + 8 + pPage->childPtrSize);
|
||||
pPage->aCellIdx = data + pPage->childPtrSize + 8;
|
||||
pPage->aDataEnd = pPage->aData + pBt->pageSize;
|
||||
pPage->aDataOfst = pPage->aData + pPage->childPtrSize;
|
||||
@ -2261,8 +2267,8 @@ static int btreeInitPage(MemPage *pPage){
|
||||
static void zeroPage(MemPage *pPage, int flags){
|
||||
unsigned char *data = pPage->aData;
|
||||
BtShared *pBt = pPage->pBt;
|
||||
u8 hdr = pPage->hdrOffset;
|
||||
u16 first;
|
||||
int hdr = pPage->hdrOffset;
|
||||
int first;
|
||||
|
||||
assert( sqlite3PagerPagenumber(pPage->pDbPage)==pPage->pgno || CORRUPT_DB );
|
||||
assert( sqlite3PagerGetExtra(pPage->pDbPage) == (void*)pPage );
|
||||
@ -2279,7 +2285,7 @@ static void zeroPage(MemPage *pPage, int flags){
|
||||
put2byte(&data[hdr+5], pBt->usableSize);
|
||||
pPage->nFree = (u16)(pBt->usableSize - first);
|
||||
decodeFlags(pPage, flags);
|
||||
pPage->cellOffset = first;
|
||||
pPage->cellOffset = (u16)first;
|
||||
pPage->aDataEnd = &data[pBt->pageSize];
|
||||
pPage->aCellIdx = &data[first];
|
||||
pPage->aDataOfst = &data[pPage->childPtrSize];
|
||||
@ -3065,7 +3071,7 @@ int sqlite3BtreeSetPageSize(Btree *p, int pageSize, int nReserve, int iFix){
|
||||
BtShared *pBt = p->pBt;
|
||||
assert( nReserve>=0 && nReserve<=255 );
|
||||
sqlite3BtreeEnter(p);
|
||||
pBt->nReserveWanted = nReserve;
|
||||
pBt->nReserveWanted = (u8)nReserve;
|
||||
x = pBt->pageSize - pBt->usableSize;
|
||||
if( nReserve<x ) nReserve = x;
|
||||
if( pBt->btsFlags & BTS_PAGESIZE_FIXED ){
|
||||
@ -3171,7 +3177,7 @@ int sqlite3BtreeSecureDelete(Btree *p, int newFlag){
|
||||
assert( BTS_FAST_SECURE==(BTS_OVERWRITE|BTS_SECURE_DELETE) );
|
||||
if( newFlag>=0 ){
|
||||
p->pBt->btsFlags &= ~BTS_FAST_SECURE;
|
||||
p->pBt->btsFlags |= BTS_SECURE_DELETE*newFlag;
|
||||
p->pBt->btsFlags |= (u16)(BTS_SECURE_DELETE*newFlag);
|
||||
}
|
||||
b = (p->pBt->btsFlags & BTS_FAST_SECURE)/BTS_SECURE_DELETE;
|
||||
sqlite3BtreeLeave(p);
|
||||
@ -7619,7 +7625,8 @@ static int rebuildPage(
|
||||
}
|
||||
|
||||
/* The pPg->nFree field is now set incorrectly. The caller will fix it. */
|
||||
pPg->nCell = nCell;
|
||||
assert( nCell < 10922 );
|
||||
pPg->nCell = (u16)nCell;
|
||||
pPg->nOverflow = 0;
|
||||
|
||||
put2byte(&aData[hdr+1], 0);
|
||||
@ -7866,9 +7873,13 @@ static int editPage(
|
||||
if( pageInsertArray(
|
||||
pPg, pBegin, &pData, pCellptr,
|
||||
iNew+nCell, nNew-nCell, pCArray
|
||||
) ) goto editpage_fail;
|
||||
)
|
||||
){
|
||||
goto editpage_fail;
|
||||
}
|
||||
|
||||
pPg->nCell = nNew;
|
||||
assert( nNew < 10922 );
|
||||
pPg->nCell = (u16)nNew;
|
||||
pPg->nOverflow = 0;
|
||||
|
||||
put2byte(&aData[hdr+3], pPg->nCell);
|
||||
@ -8177,7 +8188,7 @@ static int balance_nonroot(
|
||||
int pageFlags; /* Value of pPage->aData[0] */
|
||||
int iSpace1 = 0; /* First unused byte of aSpace1[] */
|
||||
int iOvflSpace = 0; /* First unused byte of aOvflSpace[] */
|
||||
int szScratch; /* Size of scratch memory requested */
|
||||
u64 szScratch; /* Size of scratch memory requested */
|
||||
MemPage *apOld[NB]; /* pPage and up to two siblings */
|
||||
MemPage *apNew[NB+2]; /* pPage and up to NB siblings after balancing */
|
||||
u8 *pRight; /* Location in parent of right-sibling pointer */
|
||||
@ -9462,7 +9473,7 @@ int sqlite3BtreeInsert(
|
||||
if( pCur->info.nKey==pX->nKey ){
|
||||
BtreePayload x2;
|
||||
x2.pData = pX->pKey;
|
||||
x2.nData = pX->nKey;
|
||||
x2.nData = (int)pX->nKey; assert( pX->nKey<=0x7fffffff );
|
||||
x2.nZero = 0;
|
||||
return btreeOverwriteCell(pCur, &x2);
|
||||
}
|
||||
@ -9643,7 +9654,7 @@ int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64 iKey){
|
||||
|
||||
getCellInfo(pSrc);
|
||||
if( pSrc->info.nPayload<0x80 ){
|
||||
*(aOut++) = pSrc->info.nPayload;
|
||||
*(aOut++) = (u8)pSrc->info.nPayload;
|
||||
}else{
|
||||
aOut += sqlite3PutVarint(aOut, pSrc->info.nPayload);
|
||||
}
|
||||
@ -9656,7 +9667,7 @@ int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64 iKey){
|
||||
nRem = pSrc->info.nPayload;
|
||||
if( nIn==nRem && nIn<pDest->pPage->maxLocal ){
|
||||
memcpy(aOut, aIn, nIn);
|
||||
pBt->nPreformatSize = nIn + (aOut - pBt->pTmpSpace);
|
||||
pBt->nPreformatSize = nIn + (int)(aOut - pBt->pTmpSpace);
|
||||
return SQLITE_OK;
|
||||
}else{
|
||||
int rc = SQLITE_OK;
|
||||
@ -9668,7 +9679,7 @@ int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64 iKey){
|
||||
u32 nOut; /* Size of output buffer aOut[] */
|
||||
|
||||
nOut = btreePayloadToLocal(pDest->pPage, pSrc->info.nPayload);
|
||||
pBt->nPreformatSize = nOut + (aOut - pBt->pTmpSpace);
|
||||
pBt->nPreformatSize = (int)nOut + (int)(aOut - pBt->pTmpSpace);
|
||||
if( nOut<pSrc->info.nPayload ){
|
||||
pPgnoOut = &aOut[nOut];
|
||||
pBt->nPreformatSize += 4;
|
||||
|
@ -496,6 +496,12 @@ struct CellInfo {
|
||||
*/
|
||||
#define BTCURSOR_MAX_DEPTH 20
|
||||
|
||||
/*
|
||||
** Maximum amount of storage local to a database page, regardless of
|
||||
** page size.
|
||||
*/
|
||||
#define BT_MAX_LOCAL 65501 /* 65536 - 35 */
|
||||
|
||||
/*
|
||||
** A cursor is a pointer to a particular entry within a particular
|
||||
** b-tree within a database file.
|
||||
|
Reference in New Issue
Block a user