mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Minor simplification to internal function generateSortTail().
FossilOrigin-Name: f32cdb41ca213cfcfe0bb5bfe56930d43e55525fa5640274b00f1ccce7f69634
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Include\sthe\s'sqlite3rebaser_'\sAPIs\sin\sthe\sWindows\s'.def'\sfile.
|
C Minor\ssimplification\sto\sinternal\sfunction\sgenerateSortTail().
|
||||||
D 2018-04-10T18:56:21.837
|
D 2018-04-11T14:11:53.499
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F Makefile.in 7016fc56c6b9bfe5daac4f34be8be38d8c0b5fab79ccbfb764d3b23bf1c6fff3
|
F Makefile.in 7016fc56c6b9bfe5daac4f34be8be38d8c0b5fab79ccbfb764d3b23bf1c6fff3
|
||||||
@@ -491,7 +491,7 @@ F src/printf.c d3b7844ddeb11fbbdd38dd84d09c9c1ac171d21fb038473c3aa97981201cc660
|
|||||||
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
|
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
|
||||||
F src/resolve.c 66c73fcb7719b8ff0e841b58338f13604ff3e2b50a723f9b8f383595735262f6
|
F src/resolve.c 66c73fcb7719b8ff0e841b58338f13604ff3e2b50a723f9b8f383595735262f6
|
||||||
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
|
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
|
||||||
F src/select.c dfcd77a9bec9d2bcb221ed93c153cb38cc609faa6404e2dc0ae9491aac110112
|
F src/select.c 41e857c107be5fb972b87a4cbb948c8b1191f339c1e32a65742581573932e119
|
||||||
F src/shell.c.in cc960721e56ebc1a78773bb5d2f5608b54275f945cbe49e4afe919d6888062a7
|
F src/shell.c.in cc960721e56ebc1a78773bb5d2f5608b54275f945cbe49e4afe919d6888062a7
|
||||||
F src/sqlite.h.in e0be726ea6e4e6571724d39d242472ecd8bd1ba6f84ade88e1641bde98a6d02b
|
F src/sqlite.h.in e0be726ea6e4e6571724d39d242472ecd8bd1ba6f84ade88e1641bde98a6d02b
|
||||||
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
||||||
@@ -1717,7 +1717,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 4bb2294022060e61de7da5c227a69ccd846ba330e31626ebcd59a94efd148b3b
|
P 56e4965f7ac850c59596120878434f5ef023e77919ef9416d20812eac764bac1
|
||||||
R cf8331c45ba4583fd3f926761aab3520
|
R 48bda25c5666e906d4ef80813706fd24
|
||||||
U mistachkin
|
U dan
|
||||||
Z 052337a7502d1a648ca59d978c462084
|
Z 085cbe7783541af0757121e42293d25a
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
56e4965f7ac850c59596120878434f5ef023e77919ef9416d20812eac764bac1
|
f32cdb41ca213cfcfe0bb5bfe56930d43e55525fa5640274b00f1ccce7f69634
|
||||||
@@ -1247,7 +1247,6 @@ static void generateSortTail(
|
|||||||
int iCol;
|
int iCol;
|
||||||
int nKey;
|
int nKey;
|
||||||
int iSortTab; /* Sorter cursor to read from */
|
int iSortTab; /* Sorter cursor to read from */
|
||||||
int nSortData; /* Trailing values to read from sorter */
|
|
||||||
int i;
|
int i;
|
||||||
int bSeq; /* True if sorter record includes seq. no. */
|
int bSeq; /* True if sorter record includes seq. no. */
|
||||||
struct ExprList_item *aOutEx = p->pEList->a;
|
struct ExprList_item *aOutEx = p->pEList->a;
|
||||||
@@ -1262,11 +1261,9 @@ static void generateSortTail(
|
|||||||
if( eDest==SRT_Output || eDest==SRT_Coroutine || eDest==SRT_Mem ){
|
if( eDest==SRT_Output || eDest==SRT_Coroutine || eDest==SRT_Mem ){
|
||||||
regRowid = 0;
|
regRowid = 0;
|
||||||
regRow = pDest->iSdst;
|
regRow = pDest->iSdst;
|
||||||
nSortData = nColumn;
|
|
||||||
}else{
|
}else{
|
||||||
regRowid = sqlite3GetTempReg(pParse);
|
regRowid = sqlite3GetTempReg(pParse);
|
||||||
regRow = sqlite3GetTempRange(pParse, nColumn);
|
regRow = sqlite3GetTempRange(pParse, nColumn);
|
||||||
nSortData = nColumn;
|
|
||||||
}
|
}
|
||||||
nKey = pOrderBy->nExpr - pSort->nOBSat;
|
nKey = pOrderBy->nExpr - pSort->nOBSat;
|
||||||
if( pSort->sortFlags & SORTFLAG_UseSorter ){
|
if( pSort->sortFlags & SORTFLAG_UseSorter ){
|
||||||
@@ -1275,7 +1272,7 @@ static void generateSortTail(
|
|||||||
if( pSort->labelBkOut ){
|
if( pSort->labelBkOut ){
|
||||||
addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v);
|
addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v);
|
||||||
}
|
}
|
||||||
sqlite3VdbeAddOp3(v, OP_OpenPseudo, iSortTab, regSortOut, nKey+1+nSortData);
|
sqlite3VdbeAddOp3(v, OP_OpenPseudo, iSortTab, regSortOut, nKey+1+nColumn);
|
||||||
if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce);
|
if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce);
|
||||||
addr = 1 + sqlite3VdbeAddOp2(v, OP_SorterSort, iTab, addrBreak);
|
addr = 1 + sqlite3VdbeAddOp2(v, OP_SorterSort, iTab, addrBreak);
|
||||||
VdbeCoverage(v);
|
VdbeCoverage(v);
|
||||||
@@ -1288,10 +1285,10 @@ static void generateSortTail(
|
|||||||
iSortTab = iTab;
|
iSortTab = iTab;
|
||||||
bSeq = 1;
|
bSeq = 1;
|
||||||
}
|
}
|
||||||
for(i=0, iCol=nKey+bSeq-1; i<nSortData; i++){
|
for(i=0, iCol=nKey+bSeq-1; i<nColumn; i++){
|
||||||
if( aOutEx[i].u.x.iOrderByCol==0 ) iCol++;
|
if( aOutEx[i].u.x.iOrderByCol==0 ) iCol++;
|
||||||
}
|
}
|
||||||
for(i=nSortData-1; i>=0; i--){
|
for(i=nColumn-1; i>=0; i--){
|
||||||
int iRead;
|
int iRead;
|
||||||
if( aOutEx[i].u.x.iOrderByCol ){
|
if( aOutEx[i].u.x.iOrderByCol ){
|
||||||
iRead = aOutEx[i].u.x.iOrderByCol-1;
|
iRead = aOutEx[i].u.x.iOrderByCol-1;
|
||||||
|
|||||||
Reference in New Issue
Block a user