I make the possible soluction I did't know if this is the best but is this:
/************************************************************************************/
Index: D:/FS_trunk/devpalm_01/poli_sqlite_lib/src/expr.c
===================================================================
--- D:/FS_trunk/devpalm_01/poli_sqlite_lib/src/expr.c (revisão 323)
+++ D:/FS_trunk/devpalm_01/poli_sqlite_lib/src/expr.c (cópia de trabalho)
@@ -52,6 +52,18 @@
assert( pExpr->pTab && j<pExpr->pTab->nCol );
return pExpr->pTab->aCol[j].affinity;
}
+ if( op==TK_REGISTER ){
+ op = pExpr->op2; /* This only happens with SQLITE_ENABLE_STAT2 */
+ }
+ if (op == TK_STRING) {
+ return SQLITE_AFF_TEXT;
+ }
+ if (op == TK_INTEGER) {
+ return SQLITE_AFF_NUMERIC;
+ }
+ if (op == TK_FLOAT) {
+ return SQLITE_AFF_REAL;
+ }
return pExpr->affinity;
}
@@ -124,10 +136,10 @@
char sqlite3CompareAffinity(Expr *pExpr, char aff2){
char aff1 = sqlite3ExprAffinity(pExpr);
if( aff1 && aff2 ){
- /* Both sides of the comparison are columns. If one has numeric
+ /* Both sides of the comparison are columns. If both has numeric
** affinity, use that. Otherwise use no affinity.
*/
- if( sqlite3IsNumericAffinity(aff1) || sqlite3IsNumericAffinity(aff2) ){
+ if( sqlite3IsNumericAffinity(aff1) && sqlite3IsNumericAffinity(aff2) ){
return SQLITE_AFF_NUMERIC;
}else{
return SQLITE_AFF_NONE;
/************************************************************************************/
--
Atenciosamente/Regards,
Israel Lins Albuquerque
Desenvolvimento/Development
Polibrás Brasil Software Ltda.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users