fix tcc
parent
a16adf57f0
commit
daa56c3807
BIN
engine/bind/lua
BIN
engine/bind/lua
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
58
engine/v4k
58
engine/v4k
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue