main
Dominik Madarász 2023-10-05 05:36:42 +02:00
parent a16adf57f0
commit daa56c3807
5 changed files with 90 additions and 84 deletions

Binary file not shown.

View File

@ -169052,9 +169052,6 @@ SOFTWARE.
#undef R
#define error l_error
#define panic l_panic
#define Token LuaToken
#define Table LuaTable
#define rehash lua__rehash
#line 1 "3rd_lua.h"
/*
minilua.h -- Lua in a single header
@ -198030,9 +198027,6 @@ int main (int argc, char **argv) {
SOFTWARE.
*/
#line 0
#undef Token
#undef Table
#undef rehash
#undef cast
#undef G
//---
@ -329453,6 +329447,11 @@ API void ProgressiveMesh(int vert_n, int vert_stride, const float *v, int tri_n,
#line 0
#define SQLITE_OMIT_LOAD_EXTENSION
#define SQLITE_CORE 1
#define SQLITE_DEBUG 1
#define Token SQToken
#define Table SQTable
#define rehash sqlite3__rehash
#undef NB
#line 1 "3rd_sqlite3.c"
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
@ -343946,7 +343945,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*);
/*
** Swap two objects of type TYPE.
*/
#define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
#define SQ__SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
/*
** Check to see if this machine uses EBCDIC. (Yes, believe it or
@ -362909,7 +362908,7 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
#if SQLITE_OS_WIN_THREADS
#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */
#include <process.h>
// #include <process.h>
/* A running thread */
struct SQLiteThread {
@ -362939,7 +362938,7 @@ static unsigned __stdcall sqlite3ThreadProc(
assert( p->xTask!=0 );
p->pResult = p->xTask(p->pIn);
_endthreadex(0);
// _endthreadex(0);
return 0; /* NOT REACHED */
}
@ -362966,7 +362965,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate(
}else{
p->xTask = xTask;
p->pIn = pIn;
p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id);
// p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id);
if( p->tid==0 ){
memset(p, 0, sizeof(*p));
}
@ -382689,9 +382688,9 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
** Then the following macros can be used to set, clear, or test
** 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 TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
#define SQ__SETBIT(V,I) V[I>>3] |= (1<<(I&7))
#define SQ__CLEARBIT(V,I) V[I>>3] &= ~(1<<(I&7))
#define SQ__TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
/*
** This routine runs an extensive test of the Bitvec code.
@ -382765,12 +382764,12 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
pc += nx;
i = (i & 0x7fffffff)%sz;
if( (op & 1)!=0 ){
SETBIT(pV, (i+1));
SQ__SETBIT(pV, (i+1));
if( op!=5 ){
if( sqlite3BitvecSet(pBitvec, i+1) ) goto bitvec_end;
}
}else{
CLEARBIT(pV, (i+1));
SQ__CLEARBIT(pV, (i+1));
sqlite3BitvecClear(pBitvec, i+1, pTmpSpace);
}
}
@ -382784,7 +382783,7 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
+ sqlite3BitvecTest(pBitvec, 0)
+ (sqlite3BitvecSize(pBitvec) - sz);
for(i=1; i<=sz; i++){
if( (TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
if( (SQ__TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
rc = i;
break;
}
@ -476656,7 +476655,7 @@ static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){
Expr *pNew = sqlite3Expr(db, TK_INTEGER, "1");
if( pNew ){
Expr *pWhere = pS->pWhere;
SWAP(Expr, *pNew, *pExpr);
SQ__SWAP(Expr, *pNew, *pExpr);
pNew = sqlite3ExprAnd(pWalker->pParse, pWhere, pNew);
pS->pWhere = pNew;
pWalker->eCode = 1;
@ -485882,9 +485881,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
** start and end terms (pRangeStart and pRangeEnd).
*/
if( (nEq<pIdx->nColumn && bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC)) ){
SWAP(WhereTerm *, pRangeEnd, pRangeStart);
SWAP(u8, bSeekPastNull, bStopAtNull);
SWAP(u8, nBtm, nTop);
SQ__SWAP(WhereTerm *, pRangeEnd, pRangeStart);
SQ__SWAP(u8, bSeekPastNull, bStopAtNull);
SQ__SWAP(u8, nBtm, nTop);
}
if( iLevel>0 && (pLoop->wsFlags & WHERE_IN_SEEKSCAN)!=0 ){
@ -486954,7 +486953,7 @@ static u16 exprCommute(Parse *pParse, Expr *pExpr){
){
pExpr->flags ^= EP_Commuted;
}
SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
SQ__SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
if( pExpr->op>=TK_GT ){
assert( TK_LT==TK_GT+2 );
assert( TK_GE==TK_LE+2 );
@ -487279,7 +487278,7 @@ static int isAuxiliaryVtabOperator(
|| (ExprUseYTab(pRight) && pRight->y.pTab!=0) );
if( pRight && ExprIsVtab(pRight) ){
res++;
SWAP(Expr*, pLeft, pRight);
SQ__SWAP(Expr*, pLeft, pRight);
}
*ppLeft = pLeft;
*ppRight = pRight;
@ -488337,7 +488336,7 @@ static void exprAnalyze(
pTerm->wtFlags |= TERM_COPIED;
pNewTerm->prereqAll = pTerm->prereqAll;
}
SWAP(Expr*, pLeft, pRight);
SQ__SWAP(Expr*, pLeft, pRight);
}
}
#endif /* SQLITE_OMIT_VIRTUALTABLE */
@ -490670,8 +490669,8 @@ static int whereRangeScanEst(
assert( p->aSortOrder!=0 );
if( p->aSortOrder[nEq] ){
/* The roles of pLower and pUpper are swapped for a DESC index */
SWAP(WhereTerm*, pLower, pUpper);
SWAP(int, nBtm, nTop);
SQ__SWAP(WhereTerm*, pLower, pUpper);
SQ__SWAP(int, nBtm, nTop);
}
/* If possible, improve on the iLower estimate using ($P:$L). */
@ -542550,7 +542549,7 @@ SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName);
** Swap two objects of type TYPE.
*/
#if !defined(SQLITE_AMALGAMATION)
# define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
# define SQ__SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
#endif
/*
@ -543849,8 +543848,8 @@ static int rbuObjIterCacheTableInfo(sqlite3rbu *p, RbuObjIter *pIter){
const char *zType = (const char*)sqlite3_column_text(pStmt, 2);
if( i!=iOrder ){
SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]);
SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]);
SQ__SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]);
SQ__SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]);
}
pIter->azTblType[iOrder] = rbuStrndup(zType, &p->rc);
@ -580254,6 +580253,9 @@ SQLITE_API int sqlite3_stmt_init(
SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
/************************** End of sqlite3.c ******************************/
#line 0
#undef Token
#undef Table
#undef rehash
#endif // V4K_3RD
/* game framework.
* - rlyeh, public domain

View File

@ -14490,7 +14490,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*);
/*
** Swap two objects of type TYPE.
*/
#define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
#define SQ__SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
/*
** Check to see if this machine uses EBCDIC. (Yes, believe it or
@ -33453,7 +33453,7 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
#if SQLITE_OS_WIN_THREADS
#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */
#include <process.h>
// #include <process.h>
/* A running thread */
struct SQLiteThread {
@ -33483,7 +33483,7 @@ static unsigned __stdcall sqlite3ThreadProc(
assert( p->xTask!=0 );
p->pResult = p->xTask(p->pIn);
_endthreadex(0);
// _endthreadex(0);
return 0; /* NOT REACHED */
}
@ -33510,7 +33510,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate(
}else{
p->xTask = xTask;
p->pIn = pIn;
p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id);
// p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id);
if( p->tid==0 ){
memset(p, 0, sizeof(*p));
}
@ -53233,9 +53233,9 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
** Then the following macros can be used to set, clear, or test
** 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 TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
#define SQ__SETBIT(V,I) V[I>>3] |= (1<<(I&7))
#define SQ__CLEARBIT(V,I) V[I>>3] &= ~(1<<(I&7))
#define SQ__TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
/*
** This routine runs an extensive test of the Bitvec code.
@ -53309,12 +53309,12 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
pc += nx;
i = (i & 0x7fffffff)%sz;
if( (op & 1)!=0 ){
SETBIT(pV, (i+1));
SQ__SETBIT(pV, (i+1));
if( op!=5 ){
if( sqlite3BitvecSet(pBitvec, i+1) ) goto bitvec_end;
}
}else{
CLEARBIT(pV, (i+1));
SQ__CLEARBIT(pV, (i+1));
sqlite3BitvecClear(pBitvec, i+1, pTmpSpace);
}
}
@ -53328,7 +53328,7 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
+ sqlite3BitvecTest(pBitvec, 0)
+ (sqlite3BitvecSize(pBitvec) - sz);
for(i=1; i<=sz; i++){
if( (TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
if( (SQ__TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
rc = i;
break;
}
@ -147200,7 +147200,7 @@ static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){
Expr *pNew = sqlite3Expr(db, TK_INTEGER, "1");
if( pNew ){
Expr *pWhere = pS->pWhere;
SWAP(Expr, *pNew, *pExpr);
SQ__SWAP(Expr, *pNew, *pExpr);
pNew = sqlite3ExprAnd(pWalker->pParse, pWhere, pNew);
pS->pWhere = pNew;
pWalker->eCode = 1;
@ -156426,9 +156426,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
** start and end terms (pRangeStart and pRangeEnd).
*/
if( (nEq<pIdx->nColumn && bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC)) ){
SWAP(WhereTerm *, pRangeEnd, pRangeStart);
SWAP(u8, bSeekPastNull, bStopAtNull);
SWAP(u8, nBtm, nTop);
SQ__SWAP(WhereTerm *, pRangeEnd, pRangeStart);
SQ__SWAP(u8, bSeekPastNull, bStopAtNull);
SQ__SWAP(u8, nBtm, nTop);
}
if( iLevel>0 && (pLoop->wsFlags & WHERE_IN_SEEKSCAN)!=0 ){
@ -157498,7 +157498,7 @@ static u16 exprCommute(Parse *pParse, Expr *pExpr){
){
pExpr->flags ^= EP_Commuted;
}
SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
SQ__SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
if( pExpr->op>=TK_GT ){
assert( TK_LT==TK_GT+2 );
assert( TK_GE==TK_LE+2 );
@ -157823,7 +157823,7 @@ static int isAuxiliaryVtabOperator(
|| (ExprUseYTab(pRight) && pRight->y.pTab!=0) );
if( pRight && ExprIsVtab(pRight) ){
res++;
SWAP(Expr*, pLeft, pRight);
SQ__SWAP(Expr*, pLeft, pRight);
}
*ppLeft = pLeft;
*ppRight = pRight;
@ -158881,7 +158881,7 @@ static void exprAnalyze(
pTerm->wtFlags |= TERM_COPIED;
pNewTerm->prereqAll = pTerm->prereqAll;
}
SWAP(Expr*, pLeft, pRight);
SQ__SWAP(Expr*, pLeft, pRight);
}
}
#endif /* SQLITE_OMIT_VIRTUALTABLE */
@ -161214,8 +161214,8 @@ static int whereRangeScanEst(
assert( p->aSortOrder!=0 );
if( p->aSortOrder[nEq] ){
/* The roles of pLower and pUpper are swapped for a DESC index */
SWAP(WhereTerm*, pLower, pUpper);
SWAP(int, nBtm, nTop);
SQ__SWAP(WhereTerm*, pLower, pUpper);
SQ__SWAP(int, nBtm, nTop);
}
/* If possible, improve on the iLower estimate using ($P:$L). */
@ -213094,7 +213094,7 @@ SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName);
** Swap two objects of type TYPE.
*/
#if !defined(SQLITE_AMALGAMATION)
# define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
# define SQ__SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
#endif
/*
@ -214393,8 +214393,8 @@ static int rbuObjIterCacheTableInfo(sqlite3rbu *p, RbuObjIter *pIter){
const char *zType = (const char*)sqlite3_column_text(pStmt, 2);
if( i!=iOrder ){
SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]);
SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]);
SQ__SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]);
SQ__SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]);
}
pIter->azTblType[iOrder] = rbuStrndup(zType, &p->rc);

View File

@ -120,13 +120,7 @@ errno_t fopen_s(
#undef R
#define error l_error
#define panic l_panic
#define Token LuaToken
#define Table LuaTable
#define rehash lua__rehash
{{FILE:3rd_lua.h}}
#undef Token
#undef Table
#undef rehash
#undef cast
#undef G
//---
@ -172,5 +166,13 @@ errno_t fopen_s(
{{FILE:3rd_polychop.h}}
#define SQLITE_OMIT_LOAD_EXTENSION
#define SQLITE_CORE 1
#define SQLITE_DEBUG 1
#define Token SQToken
#define Table SQTable
#define rehash sqlite3__rehash
#undef NB
{{FILE:3rd_sqlite3.c}}
#undef Token
#undef Table
#undef rehash
#endif // V4K_3RD

View File

@ -151302,9 +151302,6 @@ SOFTWARE.
#undef R
#define error l_error
#define panic l_panic
#define Token LuaToken
#define Table LuaTable
#define rehash lua__rehash
#line 1 "3rd_lua.h"
/*
minilua.h -- Lua in a single header
@ -180280,9 +180277,6 @@ int main (int argc, char **argv) {
SOFTWARE.
*/
#line 0
#undef Token
#undef Table
#undef rehash
#undef cast
#undef G
//---
@ -311703,6 +311697,11 @@ API void ProgressiveMesh(int vert_n, int vert_stride, const float *v, int tri_n,
#line 0
#define SQLITE_OMIT_LOAD_EXTENSION
#define SQLITE_CORE 1
#define SQLITE_DEBUG 1
#define Token SQToken
#define Table SQTable
#define rehash sqlite3__rehash
#undef NB
#line 1 "3rd_sqlite3.c"
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
@ -326196,7 +326195,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*);
/*
** Swap two objects of type TYPE.
*/
#define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
#define SQ__SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
/*
** Check to see if this machine uses EBCDIC. (Yes, believe it or
@ -345159,7 +345158,7 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
#if SQLITE_OS_WIN_THREADS
#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */
#include <process.h>
// #include <process.h>
/* A running thread */
struct SQLiteThread {
@ -345189,7 +345188,7 @@ static unsigned __stdcall sqlite3ThreadProc(
assert( p->xTask!=0 );
p->pResult = p->xTask(p->pIn);
_endthreadex(0);
// _endthreadex(0);
return 0; /* NOT REACHED */
}
@ -345216,7 +345215,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate(
}else{
p->xTask = xTask;
p->pIn = pIn;
p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id);
// p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id);
if( p->tid==0 ){
memset(p, 0, sizeof(*p));
}
@ -364939,9 +364938,9 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){
** Then the following macros can be used to set, clear, or test
** 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 TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
#define SQ__SETBIT(V,I) V[I>>3] |= (1<<(I&7))
#define SQ__CLEARBIT(V,I) V[I>>3] &= ~(1<<(I&7))
#define SQ__TESTBIT(V,I) (V[I>>3]&(1<<(I&7)))!=0
/*
** This routine runs an extensive test of the Bitvec code.
@ -365015,12 +365014,12 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
pc += nx;
i = (i & 0x7fffffff)%sz;
if( (op & 1)!=0 ){
SETBIT(pV, (i+1));
SQ__SETBIT(pV, (i+1));
if( op!=5 ){
if( sqlite3BitvecSet(pBitvec, i+1) ) goto bitvec_end;
}
}else{
CLEARBIT(pV, (i+1));
SQ__CLEARBIT(pV, (i+1));
sqlite3BitvecClear(pBitvec, i+1, pTmpSpace);
}
}
@ -365034,7 +365033,7 @@ SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int sz, int *aOp){
+ sqlite3BitvecTest(pBitvec, 0)
+ (sqlite3BitvecSize(pBitvec) - sz);
for(i=1; i<=sz; i++){
if( (TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
if( (SQ__TESTBIT(pV,i))!=sqlite3BitvecTest(pBitvec,i) ){
rc = i;
break;
}
@ -458906,7 +458905,7 @@ static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){
Expr *pNew = sqlite3Expr(db, TK_INTEGER, "1");
if( pNew ){
Expr *pWhere = pS->pWhere;
SWAP(Expr, *pNew, *pExpr);
SQ__SWAP(Expr, *pNew, *pExpr);
pNew = sqlite3ExprAnd(pWalker->pParse, pWhere, pNew);
pS->pWhere = pNew;
pWalker->eCode = 1;
@ -468132,9 +468131,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart(
** start and end terms (pRangeStart and pRangeEnd).
*/
if( (nEq<pIdx->nColumn && bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC)) ){
SWAP(WhereTerm *, pRangeEnd, pRangeStart);
SWAP(u8, bSeekPastNull, bStopAtNull);
SWAP(u8, nBtm, nTop);
SQ__SWAP(WhereTerm *, pRangeEnd, pRangeStart);
SQ__SWAP(u8, bSeekPastNull, bStopAtNull);
SQ__SWAP(u8, nBtm, nTop);
}
if( iLevel>0 && (pLoop->wsFlags & WHERE_IN_SEEKSCAN)!=0 ){
@ -469204,7 +469203,7 @@ static u16 exprCommute(Parse *pParse, Expr *pExpr){
){
pExpr->flags ^= EP_Commuted;
}
SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
SQ__SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
if( pExpr->op>=TK_GT ){
assert( TK_LT==TK_GT+2 );
assert( TK_GE==TK_LE+2 );
@ -469529,7 +469528,7 @@ static int isAuxiliaryVtabOperator(
|| (ExprUseYTab(pRight) && pRight->y.pTab!=0) );
if( pRight && ExprIsVtab(pRight) ){
res++;
SWAP(Expr*, pLeft, pRight);
SQ__SWAP(Expr*, pLeft, pRight);
}
*ppLeft = pLeft;
*ppRight = pRight;
@ -470587,7 +470586,7 @@ static void exprAnalyze(
pTerm->wtFlags |= TERM_COPIED;
pNewTerm->prereqAll = pTerm->prereqAll;
}
SWAP(Expr*, pLeft, pRight);
SQ__SWAP(Expr*, pLeft, pRight);
}
}
#endif /* SQLITE_OMIT_VIRTUALTABLE */
@ -472920,8 +472919,8 @@ static int whereRangeScanEst(
assert( p->aSortOrder!=0 );
if( p->aSortOrder[nEq] ){
/* The roles of pLower and pUpper are swapped for a DESC index */
SWAP(WhereTerm*, pLower, pUpper);
SWAP(int, nBtm, nTop);
SQ__SWAP(WhereTerm*, pLower, pUpper);
SQ__SWAP(int, nBtm, nTop);
}
/* If possible, improve on the iLower estimate using ($P:$L). */
@ -524800,7 +524799,7 @@ SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName);
** Swap two objects of type TYPE.
*/
#if !defined(SQLITE_AMALGAMATION)
# define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
# define SQ__SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;}
#endif
/*
@ -526099,8 +526098,8 @@ static int rbuObjIterCacheTableInfo(sqlite3rbu *p, RbuObjIter *pIter){
const char *zType = (const char*)sqlite3_column_text(pStmt, 2);
if( i!=iOrder ){
SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]);
SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]);
SQ__SWAP(int, pIter->aiSrcOrder[i], pIter->aiSrcOrder[iOrder]);
SQ__SWAP(char*, pIter->azTblCol[i], pIter->azTblCol[iOrder]);
}
pIter->azTblType[iOrder] = rbuStrndup(zType, &p->rc);
@ -562504,4 +562503,7 @@ SQLITE_API int sqlite3_stmt_init(
SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
/************************** End of sqlite3.c ******************************/
#line 0
#undef Token
#undef Table
#undef rehash
#endif // V4K_3RD