mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
R-TREE optimization: unwrap the coordinate decode loop in
rtreeCallbackConstraint(). FossilOrigin-Name: 0bf7b51896ec441f62490964c7a44a3c75c6b7e2
This commit is contained in:
@ -966,10 +966,14 @@ static int rtreeCallbackConstraint(
|
||||
if( pConstraint->op==RTREE_QUERY && pSearch->iLevel==1 ){
|
||||
pInfo->iRowid = readInt64(pCellData);
|
||||
}
|
||||
pCellData += 8;
|
||||
for(i=0; i<nCoord; i++, pCellData += 4){
|
||||
assert( nCoord>=2 && (nCoord&1)==0 );
|
||||
i = 0;
|
||||
do{
|
||||
pCellData += 8;
|
||||
RTREE_DECODE_COORD(eInt, pCellData, aCoord[i]);
|
||||
}
|
||||
RTREE_DECODE_COORD(eInt, (pCellData+4), aCoord[i+1]);
|
||||
i+= 2;
|
||||
}while( i<nCoord );
|
||||
if( pConstraint->op==RTREE_MATCH ){
|
||||
rc = pConstraint->u.xGeom((sqlite3_rtree_geometry*)pInfo,
|
||||
nCoord, aCoord, &i);
|
||||
|
Reference in New Issue
Block a user