1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

sqlite3MemCompare now takes a CollSeq* argument. (CVS 1419)

FossilOrigin-Name: 5c1e47a25244eacc69b688f5f4e62cec9f09665a
This commit is contained in:
drh
2004-05-20 13:54:53 +00:00
parent e2ea40d36d
commit 53db145800
7 changed files with 109 additions and 161 deletions

View File

@@ -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.123 2004/05/19 20:41:03 drh Exp $
** $Id: expr.c,v 1.124 2004/05/20 13:54:54 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -55,6 +55,11 @@ char sqlite3ExprAffinity(Expr *pExpr){
return pExpr->affinity;
}
/*
** pExpr is the left operand of a comparison operator. aff2 is the
** type affinity of the right operand. This routine returns the
** type affinity that should be used for the comparison operator.
*/
char sqlite3CompareAffinity(Expr *pExpr, char aff2){
char aff1 = sqlite3ExprAffinity(pExpr);
if( aff1 && aff2 ){
@@ -79,6 +84,10 @@ char sqlite3CompareAffinity(Expr *pExpr, char aff2){
}
}
/*
** pExpr is a comparison operator. Return the type affinity that should
** be applied to both operands prior to doing the comparison.
*/
static char comparisonAffinity(Expr *pExpr){
char aff;
assert( pExpr->op==TK_EQ || pExpr->op==TK_IN || pExpr->op==TK_LT ||