aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2004-08-31 13:45:11 +0000
committerdrh <drh@noemail.net>2004-08-31 13:45:11 +0000
commit855eb1cf021a4f9503acbb835b25695f2e9f3f86 (patch)
tree5bc9a91817f81b88ff2061d5637463bb2c575efc /src/expr.c
parent4e5ffc5f8d727ef1bd8beca17476b529e584e7b1 (diff)
downloadsqlite-855eb1cf021a4f9503acbb835b25695f2e9f3f86.tar.gz
sqlite-855eb1cf021a4f9503acbb835b25695f2e9f3f86.zip
Simplifications and optimizations. Also: disable the corrupt.test for now. (CVS 1924)
FossilOrigin-Name: 8fd65e704888a8e2f4a712a94fd0e3f866c10ef3
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/expr.c b/src/expr.c
index 5377a2daa..e8dfc2baf 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
-** $Id: expr.c,v 1.157 2004/08/21 17:54:45 drh Exp $
+** $Id: expr.c,v 1.158 2004/08/31 13:45:12 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -1147,8 +1147,9 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){
case TK_RSHIFT: op = OP_ShiftRight; break;
case TK_REM: op = OP_Remainder; break;
case TK_FLOAT: op = OP_Real; break;
- case TK_STRING: op = OP_String8; break;
+ case TK_STRING: op = OP_String8; break;
case TK_BLOB: op = OP_HexBlob; break;
+ case TK_CONCAT: op = OP_Concat; break;
default: op = 0; break;
}
switch( pExpr->op ){
@@ -1209,16 +1210,11 @@ void sqlite3ExprCode(Parse *pParse, Expr *pExpr){
case TK_BITOR:
case TK_SLASH:
case TK_LSHIFT:
- case TK_RSHIFT: {
- sqlite3ExprCode(pParse, pExpr->pLeft);
- sqlite3ExprCode(pParse, pExpr->pRight);
- sqlite3VdbeAddOp(v, op, 0, 0);
- break;
- }
+ case TK_RSHIFT:
case TK_CONCAT: {
sqlite3ExprCode(pParse, pExpr->pLeft);
sqlite3ExprCode(pParse, pExpr->pRight);
- sqlite3VdbeAddOp(v, OP_Concat8, 2, 0);
+ sqlite3VdbeAddOp(v, op, 0, 0);
break;
}
case TK_UMINUS: {