Fossil SCM
Cherry-pick [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1. Update to SQLite 3.8.4.3
Commit
97608a6b57f290d6f953a163c36841597e45783c
Parent
2ae080c1a337f5f…
13 files changed
+4
-4
+4
-4
+2
-2
+2
-2
+1
+1
+1
+50
+50
+50
+2
-1
+2
-1
+2
-1
+4
-4
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | /****************************************************************************** |
| 2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | -** version 3.8.4.2. By combining all the individual C code files into this | |
| 3 | +** version 3.8.4.3. By combining all the individual C code files into this | |
| 4 | 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | ||
| 220 | 220 | ** |
| 221 | 221 | ** See also: [sqlite3_libversion()], |
| 222 | 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | 224 | */ |
| 225 | -#define SQLITE_VERSION "3.8.4.2" | |
| 225 | +#define SQLITE_VERSION "3.8.4.3" | |
| 226 | 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | -#define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" | |
| 227 | +#define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" | |
| 228 | 228 | |
| 229 | 229 | /* |
| 230 | 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | 232 | ** |
| @@ -115267,11 +115267,11 @@ | ||
| 115267 | 115267 | k = pLevel->addrBody; |
| 115268 | 115268 | pOp = sqlite3VdbeGetOp(v, k); |
| 115269 | 115269 | for(; k<last; k++, pOp++){ |
| 115270 | 115270 | if( pOp->p1!=pLevel->iTabCur ) continue; |
| 115271 | 115271 | if( pOp->opcode==OP_Column ){ |
| 115272 | - pOp->opcode = OP_SCopy; | |
| 115272 | + pOp->opcode = OP_Copy; | |
| 115273 | 115273 | pOp->p1 = pOp->p2 + pTabItem->regResult; |
| 115274 | 115274 | pOp->p2 = pOp->p3; |
| 115275 | 115275 | pOp->p3 = 0; |
| 115276 | 115276 | }else if( pOp->opcode==OP_Rowid ){ |
| 115277 | 115277 | pOp->opcode = OP_Null; |
| 115278 | 115278 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.8.4.2. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | |
| 220 | ** |
| 221 | ** See also: [sqlite3_libversion()], |
| 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | */ |
| 225 | #define SQLITE_VERSION "3.8.4.2" |
| 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | #define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" |
| 228 | |
| 229 | /* |
| 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | ** |
| @@ -115267,11 +115267,11 @@ | |
| 115267 | k = pLevel->addrBody; |
| 115268 | pOp = sqlite3VdbeGetOp(v, k); |
| 115269 | for(; k<last; k++, pOp++){ |
| 115270 | if( pOp->p1!=pLevel->iTabCur ) continue; |
| 115271 | if( pOp->opcode==OP_Column ){ |
| 115272 | pOp->opcode = OP_SCopy; |
| 115273 | pOp->p1 = pOp->p2 + pTabItem->regResult; |
| 115274 | pOp->p2 = pOp->p3; |
| 115275 | pOp->p3 = 0; |
| 115276 | }else if( pOp->opcode==OP_Rowid ){ |
| 115277 | pOp->opcode = OP_Null; |
| 115278 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.8.4.3. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | |
| 220 | ** |
| 221 | ** See also: [sqlite3_libversion()], |
| 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | */ |
| 225 | #define SQLITE_VERSION "3.8.4.3" |
| 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | #define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" |
| 228 | |
| 229 | /* |
| 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | ** |
| @@ -115267,11 +115267,11 @@ | |
| 115267 | k = pLevel->addrBody; |
| 115268 | pOp = sqlite3VdbeGetOp(v, k); |
| 115269 | for(; k<last; k++, pOp++){ |
| 115270 | if( pOp->p1!=pLevel->iTabCur ) continue; |
| 115271 | if( pOp->opcode==OP_Column ){ |
| 115272 | pOp->opcode = OP_Copy; |
| 115273 | pOp->p1 = pOp->p2 + pTabItem->regResult; |
| 115274 | pOp->p2 = pOp->p3; |
| 115275 | pOp->p3 = 0; |
| 115276 | }else if( pOp->opcode==OP_Rowid ){ |
| 115277 | pOp->opcode = OP_Null; |
| 115278 |
+4
-4
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | /****************************************************************************** |
| 2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | -** version 3.8.4.2. By combining all the individual C code files into this | |
| 3 | +** version 3.8.4.3. By combining all the individual C code files into this | |
| 4 | 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | ||
| 220 | 220 | ** |
| 221 | 221 | ** See also: [sqlite3_libversion()], |
| 222 | 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | 224 | */ |
| 225 | -#define SQLITE_VERSION "3.8.4.2" | |
| 225 | +#define SQLITE_VERSION "3.8.4.3" | |
| 226 | 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | -#define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" | |
| 227 | +#define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" | |
| 228 | 228 | |
| 229 | 229 | /* |
| 230 | 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | 232 | ** |
| @@ -115267,11 +115267,11 @@ | ||
| 115267 | 115267 | k = pLevel->addrBody; |
| 115268 | 115268 | pOp = sqlite3VdbeGetOp(v, k); |
| 115269 | 115269 | for(; k<last; k++, pOp++){ |
| 115270 | 115270 | if( pOp->p1!=pLevel->iTabCur ) continue; |
| 115271 | 115271 | if( pOp->opcode==OP_Column ){ |
| 115272 | - pOp->opcode = OP_SCopy; | |
| 115272 | + pOp->opcode = OP_Copy; | |
| 115273 | 115273 | pOp->p1 = pOp->p2 + pTabItem->regResult; |
| 115274 | 115274 | pOp->p2 = pOp->p3; |
| 115275 | 115275 | pOp->p3 = 0; |
| 115276 | 115276 | }else if( pOp->opcode==OP_Rowid ){ |
| 115277 | 115277 | pOp->opcode = OP_Null; |
| 115278 | 115278 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.8.4.2. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | |
| 220 | ** |
| 221 | ** See also: [sqlite3_libversion()], |
| 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | */ |
| 225 | #define SQLITE_VERSION "3.8.4.2" |
| 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | #define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" |
| 228 | |
| 229 | /* |
| 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | ** |
| @@ -115267,11 +115267,11 @@ | |
| 115267 | k = pLevel->addrBody; |
| 115268 | pOp = sqlite3VdbeGetOp(v, k); |
| 115269 | for(; k<last; k++, pOp++){ |
| 115270 | if( pOp->p1!=pLevel->iTabCur ) continue; |
| 115271 | if( pOp->opcode==OP_Column ){ |
| 115272 | pOp->opcode = OP_SCopy; |
| 115273 | pOp->p1 = pOp->p2 + pTabItem->regResult; |
| 115274 | pOp->p2 = pOp->p3; |
| 115275 | pOp->p3 = 0; |
| 115276 | }else if( pOp->opcode==OP_Rowid ){ |
| 115277 | pOp->opcode = OP_Null; |
| 115278 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.8.4.3. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | |
| 220 | ** |
| 221 | ** See also: [sqlite3_libversion()], |
| 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | */ |
| 225 | #define SQLITE_VERSION "3.8.4.3" |
| 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | #define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" |
| 228 | |
| 229 | /* |
| 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | ** |
| @@ -115267,11 +115267,11 @@ | |
| 115267 | k = pLevel->addrBody; |
| 115268 | pOp = sqlite3VdbeGetOp(v, k); |
| 115269 | for(; k<last; k++, pOp++){ |
| 115270 | if( pOp->p1!=pLevel->iTabCur ) continue; |
| 115271 | if( pOp->opcode==OP_Column ){ |
| 115272 | pOp->opcode = OP_Copy; |
| 115273 | pOp->p1 = pOp->p2 + pTabItem->regResult; |
| 115274 | pOp->p2 = pOp->p3; |
| 115275 | pOp->p3 = 0; |
| 115276 | }else if( pOp->opcode==OP_Rowid ){ |
| 115277 | pOp->opcode = OP_Null; |
| 115278 |
+2
-2
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -105,13 +105,13 @@ | ||
| 105 | 105 | ** |
| 106 | 106 | ** See also: [sqlite3_libversion()], |
| 107 | 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | 109 | */ |
| 110 | -#define SQLITE_VERSION "3.8.4.2" | |
| 110 | +#define SQLITE_VERSION "3.8.4.3" | |
| 111 | 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | -#define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" | |
| 112 | +#define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" | |
| 113 | 113 | |
| 114 | 114 | /* |
| 115 | 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | 117 | ** |
| 118 | 118 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -105,13 +105,13 @@ | |
| 105 | ** |
| 106 | ** See also: [sqlite3_libversion()], |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.8.4.2" |
| 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | #define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| 118 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -105,13 +105,13 @@ | |
| 105 | ** |
| 106 | ** See also: [sqlite3_libversion()], |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.8.4.3" |
| 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | #define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| 118 |
+2
-2
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -105,13 +105,13 @@ | ||
| 105 | 105 | ** |
| 106 | 106 | ** See also: [sqlite3_libversion()], |
| 107 | 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | 109 | */ |
| 110 | -#define SQLITE_VERSION "3.8.4.2" | |
| 110 | +#define SQLITE_VERSION "3.8.4.3" | |
| 111 | 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | -#define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" | |
| 112 | +#define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" | |
| 113 | 113 | |
| 114 | 114 | /* |
| 115 | 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | 117 | ** |
| 118 | 118 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -105,13 +105,13 @@ | |
| 105 | ** |
| 106 | ** See also: [sqlite3_libversion()], |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.8.4.2" |
| 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | #define SQLITE_SOURCE_ID "2014-03-26 18:51:19 02ea166372bdb2ef9d8dfbb05e78a97609673a8e" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| 118 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -105,13 +105,13 @@ | |
| 105 | ** |
| 106 | ** See also: [sqlite3_libversion()], |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.8.4.3" |
| 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | #define SQLITE_SOURCE_ID "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| 118 |
M
src/th.c
+1
| --- src/th.c | ||
| +++ src/th.c | ||
| @@ -1996,10 +1996,11 @@ | ||
| 1996 | 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | + case OP_BITWISE_NOT: iRes = ~iLeft; break; | |
| 2001 | 2002 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2002 | 2003 | default: assert(!"Internal error"); |
| 2003 | 2004 | } |
| 2004 | 2005 | Th_SetResultInt(interp, iRes); |
| 2005 | 2006 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2006 | 2007 |
| --- src/th.c | |
| +++ src/th.c | |
| @@ -1996,10 +1996,11 @@ | |
| 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2002 | default: assert(!"Internal error"); |
| 2003 | } |
| 2004 | Th_SetResultInt(interp, iRes); |
| 2005 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2006 |
| --- src/th.c | |
| +++ src/th.c | |
| @@ -1996,10 +1996,11 @@ | |
| 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | case OP_BITWISE_NOT: iRes = ~iLeft; break; |
| 2002 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2003 | default: assert(!"Internal error"); |
| 2004 | } |
| 2005 | Th_SetResultInt(interp, iRes); |
| 2006 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2007 |
M
src/th.c
+1
| --- src/th.c | ||
| +++ src/th.c | ||
| @@ -1996,10 +1996,11 @@ | ||
| 1996 | 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | + case OP_BITWISE_NOT: iRes = ~iLeft; break; | |
| 2001 | 2002 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2002 | 2003 | default: assert(!"Internal error"); |
| 2003 | 2004 | } |
| 2004 | 2005 | Th_SetResultInt(interp, iRes); |
| 2005 | 2006 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2006 | 2007 |
| --- src/th.c | |
| +++ src/th.c | |
| @@ -1996,10 +1996,11 @@ | |
| 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2002 | default: assert(!"Internal error"); |
| 2003 | } |
| 2004 | Th_SetResultInt(interp, iRes); |
| 2005 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2006 |
| --- src/th.c | |
| +++ src/th.c | |
| @@ -1996,10 +1996,11 @@ | |
| 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | case OP_BITWISE_NOT: iRes = ~iLeft; break; |
| 2002 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2003 | default: assert(!"Internal error"); |
| 2004 | } |
| 2005 | Th_SetResultInt(interp, iRes); |
| 2006 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2007 |
M
src/th.c
+1
| --- src/th.c | ||
| +++ src/th.c | ||
| @@ -1996,10 +1996,11 @@ | ||
| 1996 | 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | + case OP_BITWISE_NOT: iRes = ~iLeft; break; | |
| 2001 | 2002 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2002 | 2003 | default: assert(!"Internal error"); |
| 2003 | 2004 | } |
| 2004 | 2005 | Th_SetResultInt(interp, iRes); |
| 2005 | 2006 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2006 | 2007 |
| --- src/th.c | |
| +++ src/th.c | |
| @@ -1996,10 +1996,11 @@ | |
| 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2002 | default: assert(!"Internal error"); |
| 2003 | } |
| 2004 | Th_SetResultInt(interp, iRes); |
| 2005 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2006 |
| --- src/th.c | |
| +++ src/th.c | |
| @@ -1996,10 +1996,11 @@ | |
| 1996 | case OP_BITWISE_OR: iRes = iLeft|iRight; break; |
| 1997 | case OP_LOGICAL_AND: iRes = iLeft&&iRight; break; |
| 1998 | case OP_LOGICAL_OR: iRes = iLeft||iRight; break; |
| 1999 | case OP_UNARY_MINUS: iRes = -iLeft; break; |
| 2000 | case OP_UNARY_PLUS: iRes = +iLeft; break; |
| 2001 | case OP_BITWISE_NOT: iRes = ~iLeft; break; |
| 2002 | case OP_LOGICAL_NOT: iRes = !iLeft; break; |
| 2003 | default: assert(!"Internal error"); |
| 2004 | } |
| 2005 | Th_SetResultInt(interp, iRes); |
| 2006 | }else if( rc==TH_OK && eArgType==ARG_NUMBER ){ |
| 2007 |
+50
| --- test/th1.test | ||
| +++ test/th1.test | ||
| @@ -297,5 +297,55 @@ | ||
| 297 | 297 | |
| 298 | 298 | ############################################################################### |
| 299 | 299 | |
| 300 | 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 | + | |
| 303 | +############################################################################### | |
| 304 | + | |
| 305 | +fossil test-th-eval "expr ~(-1)" | |
| 306 | +test th1-expr-14 {$RESULT eq {0}} | |
| 307 | + | |
| 308 | +############################################################################### | |
| 309 | + | |
| 310 | +fossil test-th-eval "expr ~-1" | |
| 311 | +test th1-expr-15 {$RESULT eq {0}} | |
| 312 | + | |
| 313 | +############################################################################### | |
| 314 | + | |
| 315 | +fossil test-th-eval "expr ~0" | |
| 316 | +test th1-expr-16 {$RESULT eq {-1}} | |
| 317 | + | |
| 318 | +############################################################################### | |
| 319 | + | |
| 320 | +fossil test-th-eval "expr ~+0" | |
| 321 | +test th1-expr-17 {$RESULT eq {-1}} | |
| 322 | + | |
| 323 | +############################################################################### | |
| 324 | + | |
| 325 | +fossil test-th-eval "expr ~-0" | |
| 326 | +test th1-expr-18 {$RESULT eq {-1}} | |
| 327 | + | |
| 328 | +############################################################################### | |
| 329 | + | |
| 330 | +fossil test-th-eval "expr ~(+0)" | |
| 331 | +test th1-expr-19 {$RESULT eq {-1}} | |
| 332 | + | |
| 333 | +############################################################################### | |
| 334 | + | |
| 335 | +fossil test-th-eval "expr ~(-0)" | |
| 336 | +test th1-expr-20 {$RESULT eq {-1}} | |
| 337 | + | |
| 338 | +############################################################################### | |
| 339 | + | |
| 340 | +fossil test-th-eval "expr ~1" | |
| 341 | +test th1-expr-21 {$RESULT eq {-2}} | |
| 342 | + | |
| 343 | +############################################################################### | |
| 344 | + | |
| 345 | +fossil test-th-eval "expr ~+1" | |
| 346 | +test th1-expr-22 {$RESULT eq {-2}} | |
| 347 | + | |
| 348 | +############################################################################### | |
| 349 | + | |
| 350 | +fossil test-th-eval "expr ~(+1)" | |
| 351 | +test th1-expr-23 {$RESULT eq {-2}} | |
| 302 | 352 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -297,5 +297,55 @@ | |
| 297 | |
| 298 | ############################################################################### |
| 299 | |
| 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -297,5 +297,55 @@ | |
| 297 | |
| 298 | ############################################################################### |
| 299 | |
| 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 | |
| 303 | ############################################################################### |
| 304 | |
| 305 | fossil test-th-eval "expr ~(-1)" |
| 306 | test th1-expr-14 {$RESULT eq {0}} |
| 307 | |
| 308 | ############################################################################### |
| 309 | |
| 310 | fossil test-th-eval "expr ~-1" |
| 311 | test th1-expr-15 {$RESULT eq {0}} |
| 312 | |
| 313 | ############################################################################### |
| 314 | |
| 315 | fossil test-th-eval "expr ~0" |
| 316 | test th1-expr-16 {$RESULT eq {-1}} |
| 317 | |
| 318 | ############################################################################### |
| 319 | |
| 320 | fossil test-th-eval "expr ~+0" |
| 321 | test th1-expr-17 {$RESULT eq {-1}} |
| 322 | |
| 323 | ############################################################################### |
| 324 | |
| 325 | fossil test-th-eval "expr ~-0" |
| 326 | test th1-expr-18 {$RESULT eq {-1}} |
| 327 | |
| 328 | ############################################################################### |
| 329 | |
| 330 | fossil test-th-eval "expr ~(+0)" |
| 331 | test th1-expr-19 {$RESULT eq {-1}} |
| 332 | |
| 333 | ############################################################################### |
| 334 | |
| 335 | fossil test-th-eval "expr ~(-0)" |
| 336 | test th1-expr-20 {$RESULT eq {-1}} |
| 337 | |
| 338 | ############################################################################### |
| 339 | |
| 340 | fossil test-th-eval "expr ~1" |
| 341 | test th1-expr-21 {$RESULT eq {-2}} |
| 342 | |
| 343 | ############################################################################### |
| 344 | |
| 345 | fossil test-th-eval "expr ~+1" |
| 346 | test th1-expr-22 {$RESULT eq {-2}} |
| 347 | |
| 348 | ############################################################################### |
| 349 | |
| 350 | fossil test-th-eval "expr ~(+1)" |
| 351 | test th1-expr-23 {$RESULT eq {-2}} |
| 352 |
+50
| --- test/th1.test | ||
| +++ test/th1.test | ||
| @@ -297,5 +297,55 @@ | ||
| 297 | 297 | |
| 298 | 298 | ############################################################################### |
| 299 | 299 | |
| 300 | 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 | + | |
| 303 | +############################################################################### | |
| 304 | + | |
| 305 | +fossil test-th-eval "expr ~(-1)" | |
| 306 | +test th1-expr-14 {$RESULT eq {0}} | |
| 307 | + | |
| 308 | +############################################################################### | |
| 309 | + | |
| 310 | +fossil test-th-eval "expr ~-1" | |
| 311 | +test th1-expr-15 {$RESULT eq {0}} | |
| 312 | + | |
| 313 | +############################################################################### | |
| 314 | + | |
| 315 | +fossil test-th-eval "expr ~0" | |
| 316 | +test th1-expr-16 {$RESULT eq {-1}} | |
| 317 | + | |
| 318 | +############################################################################### | |
| 319 | + | |
| 320 | +fossil test-th-eval "expr ~+0" | |
| 321 | +test th1-expr-17 {$RESULT eq {-1}} | |
| 322 | + | |
| 323 | +############################################################################### | |
| 324 | + | |
| 325 | +fossil test-th-eval "expr ~-0" | |
| 326 | +test th1-expr-18 {$RESULT eq {-1}} | |
| 327 | + | |
| 328 | +############################################################################### | |
| 329 | + | |
| 330 | +fossil test-th-eval "expr ~(+0)" | |
| 331 | +test th1-expr-19 {$RESULT eq {-1}} | |
| 332 | + | |
| 333 | +############################################################################### | |
| 334 | + | |
| 335 | +fossil test-th-eval "expr ~(-0)" | |
| 336 | +test th1-expr-20 {$RESULT eq {-1}} | |
| 337 | + | |
| 338 | +############################################################################### | |
| 339 | + | |
| 340 | +fossil test-th-eval "expr ~1" | |
| 341 | +test th1-expr-21 {$RESULT eq {-2}} | |
| 342 | + | |
| 343 | +############################################################################### | |
| 344 | + | |
| 345 | +fossil test-th-eval "expr ~+1" | |
| 346 | +test th1-expr-22 {$RESULT eq {-2}} | |
| 347 | + | |
| 348 | +############################################################################### | |
| 349 | + | |
| 350 | +fossil test-th-eval "expr ~(+1)" | |
| 351 | +test th1-expr-23 {$RESULT eq {-2}} | |
| 302 | 352 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -297,5 +297,55 @@ | |
| 297 | |
| 298 | ############################################################################### |
| 299 | |
| 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -297,5 +297,55 @@ | |
| 297 | |
| 298 | ############################################################################### |
| 299 | |
| 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 | |
| 303 | ############################################################################### |
| 304 | |
| 305 | fossil test-th-eval "expr ~(-1)" |
| 306 | test th1-expr-14 {$RESULT eq {0}} |
| 307 | |
| 308 | ############################################################################### |
| 309 | |
| 310 | fossil test-th-eval "expr ~-1" |
| 311 | test th1-expr-15 {$RESULT eq {0}} |
| 312 | |
| 313 | ############################################################################### |
| 314 | |
| 315 | fossil test-th-eval "expr ~0" |
| 316 | test th1-expr-16 {$RESULT eq {-1}} |
| 317 | |
| 318 | ############################################################################### |
| 319 | |
| 320 | fossil test-th-eval "expr ~+0" |
| 321 | test th1-expr-17 {$RESULT eq {-1}} |
| 322 | |
| 323 | ############################################################################### |
| 324 | |
| 325 | fossil test-th-eval "expr ~-0" |
| 326 | test th1-expr-18 {$RESULT eq {-1}} |
| 327 | |
| 328 | ############################################################################### |
| 329 | |
| 330 | fossil test-th-eval "expr ~(+0)" |
| 331 | test th1-expr-19 {$RESULT eq {-1}} |
| 332 | |
| 333 | ############################################################################### |
| 334 | |
| 335 | fossil test-th-eval "expr ~(-0)" |
| 336 | test th1-expr-20 {$RESULT eq {-1}} |
| 337 | |
| 338 | ############################################################################### |
| 339 | |
| 340 | fossil test-th-eval "expr ~1" |
| 341 | test th1-expr-21 {$RESULT eq {-2}} |
| 342 | |
| 343 | ############################################################################### |
| 344 | |
| 345 | fossil test-th-eval "expr ~+1" |
| 346 | test th1-expr-22 {$RESULT eq {-2}} |
| 347 | |
| 348 | ############################################################################### |
| 349 | |
| 350 | fossil test-th-eval "expr ~(+1)" |
| 351 | test th1-expr-23 {$RESULT eq {-2}} |
| 352 |
+50
| --- test/th1.test | ||
| +++ test/th1.test | ||
| @@ -297,5 +297,55 @@ | ||
| 297 | 297 | |
| 298 | 298 | ############################################################################### |
| 299 | 299 | |
| 300 | 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 | + | |
| 303 | +############################################################################### | |
| 304 | + | |
| 305 | +fossil test-th-eval "expr ~(-1)" | |
| 306 | +test th1-expr-14 {$RESULT eq {0}} | |
| 307 | + | |
| 308 | +############################################################################### | |
| 309 | + | |
| 310 | +fossil test-th-eval "expr ~-1" | |
| 311 | +test th1-expr-15 {$RESULT eq {0}} | |
| 312 | + | |
| 313 | +############################################################################### | |
| 314 | + | |
| 315 | +fossil test-th-eval "expr ~0" | |
| 316 | +test th1-expr-16 {$RESULT eq {-1}} | |
| 317 | + | |
| 318 | +############################################################################### | |
| 319 | + | |
| 320 | +fossil test-th-eval "expr ~+0" | |
| 321 | +test th1-expr-17 {$RESULT eq {-1}} | |
| 322 | + | |
| 323 | +############################################################################### | |
| 324 | + | |
| 325 | +fossil test-th-eval "expr ~-0" | |
| 326 | +test th1-expr-18 {$RESULT eq {-1}} | |
| 327 | + | |
| 328 | +############################################################################### | |
| 329 | + | |
| 330 | +fossil test-th-eval "expr ~(+0)" | |
| 331 | +test th1-expr-19 {$RESULT eq {-1}} | |
| 332 | + | |
| 333 | +############################################################################### | |
| 334 | + | |
| 335 | +fossil test-th-eval "expr ~(-0)" | |
| 336 | +test th1-expr-20 {$RESULT eq {-1}} | |
| 337 | + | |
| 338 | +############################################################################### | |
| 339 | + | |
| 340 | +fossil test-th-eval "expr ~1" | |
| 341 | +test th1-expr-21 {$RESULT eq {-2}} | |
| 342 | + | |
| 343 | +############################################################################### | |
| 344 | + | |
| 345 | +fossil test-th-eval "expr ~+1" | |
| 346 | +test th1-expr-22 {$RESULT eq {-2}} | |
| 347 | + | |
| 348 | +############################################################################### | |
| 349 | + | |
| 350 | +fossil test-th-eval "expr ~(+1)" | |
| 351 | +test th1-expr-23 {$RESULT eq {-2}} | |
| 302 | 352 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -297,5 +297,55 @@ | |
| 297 | |
| 298 | ############################################################################### |
| 299 | |
| 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -297,5 +297,55 @@ | |
| 297 | |
| 298 | ############################################################################### |
| 299 | |
| 300 | fossil test-th-eval "string last {AB} {abc}" |
| 301 | test th1-string-last-9 {$RESULT eq {-1}} |
| 302 | |
| 303 | ############################################################################### |
| 304 | |
| 305 | fossil test-th-eval "expr ~(-1)" |
| 306 | test th1-expr-14 {$RESULT eq {0}} |
| 307 | |
| 308 | ############################################################################### |
| 309 | |
| 310 | fossil test-th-eval "expr ~-1" |
| 311 | test th1-expr-15 {$RESULT eq {0}} |
| 312 | |
| 313 | ############################################################################### |
| 314 | |
| 315 | fossil test-th-eval "expr ~0" |
| 316 | test th1-expr-16 {$RESULT eq {-1}} |
| 317 | |
| 318 | ############################################################################### |
| 319 | |
| 320 | fossil test-th-eval "expr ~+0" |
| 321 | test th1-expr-17 {$RESULT eq {-1}} |
| 322 | |
| 323 | ############################################################################### |
| 324 | |
| 325 | fossil test-th-eval "expr ~-0" |
| 326 | test th1-expr-18 {$RESULT eq {-1}} |
| 327 | |
| 328 | ############################################################################### |
| 329 | |
| 330 | fossil test-th-eval "expr ~(+0)" |
| 331 | test th1-expr-19 {$RESULT eq {-1}} |
| 332 | |
| 333 | ############################################################################### |
| 334 | |
| 335 | fossil test-th-eval "expr ~(-0)" |
| 336 | test th1-expr-20 {$RESULT eq {-1}} |
| 337 | |
| 338 | ############################################################################### |
| 339 | |
| 340 | fossil test-th-eval "expr ~1" |
| 341 | test th1-expr-21 {$RESULT eq {-2}} |
| 342 | |
| 343 | ############################################################################### |
| 344 | |
| 345 | fossil test-th-eval "expr ~+1" |
| 346 | test th1-expr-22 {$RESULT eq {-2}} |
| 347 | |
| 348 | ############################################################################### |
| 349 | |
| 350 | fossil test-th-eval "expr ~(+1)" |
| 351 | test th1-expr-23 {$RESULT eq {-2}} |
| 352 |
+2
-1
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | <title>Change Log</title> |
| 2 | 2 | |
| 3 | 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | 4 | are candidate cherry-picks just in case)</h2> |
| 5 | - * Upgraded internal SQLite to version 3.8.4.2, which adds support for | |
| 5 | + * Upgraded internal SQLite to version 3.8.4.3, which adds support for | |
| 6 | 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | 8 | actually works fine with this version and higher, when configured |
| 9 | 9 | with --disable-internal-sqlite. |
| 10 | 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | ||
| 22 | 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | 23 | the local filesystem. |
| 24 | 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | + * [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1 | |
| 27 | 28 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 28 | 29 | |
| 29 | 30 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 30 | 31 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 31 | 32 | * When cloning a repository, the user name passed via the URL (if any) |
| 32 | 33 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,10 +1,10 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | are candidate cherry-picks just in case)</h2> |
| 5 | * Upgraded internal SQLite to version 3.8.4.2, which adds support for |
| 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | actually works fine with this version and higher, when configured |
| 9 | with --disable-internal-sqlite. |
| 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | |
| 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | the local filesystem. |
| 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 28 | |
| 29 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 30 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 31 | * When cloning a repository, the user name passed via the URL (if any) |
| 32 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,10 +1,10 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | are candidate cherry-picks just in case)</h2> |
| 5 | * Upgraded internal SQLite to version 3.8.4.3, which adds support for |
| 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | actually works fine with this version and higher, when configured |
| 9 | with --disable-internal-sqlite. |
| 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | |
| 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | the local filesystem. |
| 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | * [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1 |
| 28 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 29 | |
| 30 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 31 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 32 | * When cloning a repository, the user name passed via the URL (if any) |
| 33 |
+2
-1
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | <title>Change Log</title> |
| 2 | 2 | |
| 3 | 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | 4 | are candidate cherry-picks just in case)</h2> |
| 5 | - * Upgraded internal SQLite to version 3.8.4.2, which adds support for | |
| 5 | + * Upgraded internal SQLite to version 3.8.4.3, which adds support for | |
| 6 | 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | 8 | actually works fine with this version and higher, when configured |
| 9 | 9 | with --disable-internal-sqlite. |
| 10 | 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | ||
| 22 | 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | 23 | the local filesystem. |
| 24 | 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | + * [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1 | |
| 27 | 28 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 28 | 29 | |
| 29 | 30 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 30 | 31 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 31 | 32 | * When cloning a repository, the user name passed via the URL (if any) |
| 32 | 33 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,10 +1,10 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | are candidate cherry-picks just in case)</h2> |
| 5 | * Upgraded internal SQLite to version 3.8.4.2, which adds support for |
| 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | actually works fine with this version and higher, when configured |
| 9 | with --disable-internal-sqlite. |
| 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | |
| 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | the local filesystem. |
| 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 28 | |
| 29 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 30 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 31 | * When cloning a repository, the user name passed via the URL (if any) |
| 32 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,10 +1,10 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | are candidate cherry-picks just in case)</h2> |
| 5 | * Upgraded internal SQLite to version 3.8.4.3, which adds support for |
| 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | actually works fine with this version and higher, when configured |
| 9 | with --disable-internal-sqlite. |
| 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | |
| 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | the local filesystem. |
| 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | * [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1 |
| 28 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 29 | |
| 30 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 31 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 32 | * When cloning a repository, the user name passed via the URL (if any) |
| 33 |
+2
-1
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | <title>Change Log</title> |
| 2 | 2 | |
| 3 | 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | 4 | are candidate cherry-picks just in case)</h2> |
| 5 | - * Upgraded internal SQLite to version 3.8.4.2, which adds support for | |
| 5 | + * Upgraded internal SQLite to version 3.8.4.3, which adds support for | |
| 6 | 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | 8 | actually works fine with this version and higher, when configured |
| 9 | 9 | with --disable-internal-sqlite. |
| 10 | 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | ||
| 22 | 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | 23 | the local filesystem. |
| 24 | 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | + * [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1 | |
| 27 | 28 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 28 | 29 | |
| 29 | 30 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 30 | 31 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 31 | 32 | * When cloning a repository, the user name passed via the URL (if any) |
| 32 | 33 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,10 +1,10 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | are candidate cherry-picks just in case)</h2> |
| 5 | * Upgraded internal SQLite to version 3.8.4.2, which adds support for |
| 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | actually works fine with this version and higher, when configured |
| 9 | with --disable-internal-sqlite. |
| 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | |
| 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | the local filesystem. |
| 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 28 | |
| 29 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 30 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 31 | * When cloning a repository, the user name passed via the URL (if any) |
| 32 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,10 +1,10 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <h2>Changes For Version 1.28.1 (most likely never being released, those |
| 4 | are candidate cherry-picks just in case)</h2> |
| 5 | * Upgraded internal SQLite to version 3.8.4.3, which adds support for |
| 6 | CTE and the WITH clause, and fixes various (minor) SQLite bugs. |
| 7 | * Relax minimum SQLite version check to 3.7.17, as Fossil 1.28 |
| 8 | actually works fine with this version and higher, when configured |
| 9 | with --disable-internal-sqlite. |
| 10 | See: [https://www.mail-archive.com/[email protected]/msg14520.html] |
| @@ -22,10 +22,11 @@ | |
| 22 | * [3fbdaa243d]: Speedup "fossil extras" and other commands which traverse |
| 23 | the local filesystem. |
| 24 | * [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to |
| 25 | correctly handle NextIfOpen and PrevIfOpen opcodes. |
| 26 | * [684eb478e7]: Fix the SCGI processing so that it works with Nginx. |
| 27 | * [ee1aa460a4]: Fix using the unary bitwise NOT operator in TH1 |
| 28 | * [fc6bb93689]: Add the "httpize" TH1 command. |
| 29 | |
| 30 | <h2>Changes For Version 1.28 (2014-01-27)</h2> |
| 31 | * Enhance [/help?cmd=/reports | /reports] to support event type filtering. |
| 32 | * When cloning a repository, the user name passed via the URL (if any) |
| 33 |