IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25315


Ignore:
Timestamp:
Sep 10, 2009, 11:54:50 AM (17 years ago)
Author:
bills
Message:

add support for != operator

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/db/psDB.c

    r23915 r25315  
    22612261    PS_DB_OP_LE,
    22622262    PS_DB_OP_GE,
     2263    PS_DB_OP_NE,
    22632264} psDBOpValue;
    22642265
     
    23082309            opStr = "<";
    23092310            op = PS_DB_OP_LT;
    2310         }
    2311     }
     2311        } else if (strstr(item->comment, "!=")) {
     2312            opStr = "!=";
     2313            op = PS_DB_OP_NE;
     2314        }
     2315    }
     2316
    23122317
    23132318    // XXX why are >, < searches not supported here????
     
    23412346        case PS_DB_OP_EQ:
    23422347            psStringAppend(&query, "(ABS(%s - %.8f) < %.8f)", itemName, (float)(item->data.F32), PS_DB_FLT_PAD);
     2348            break;
     2349        case PS_DB_OP_NE:
     2350            psStringAppend(&query, "(ABS(%s - %.8f) >= %.8f)", itemName, (float)(item->data.F32), PS_DB_FLT_PAD);
    23432351            break;
    23442352        case PS_DB_OP_LE:
     
    23602368            psStringAppend(&query, "(ABS(%s - %.17f) < %.17f)", itemName, (float)(item->data.F64), PS_DB_DBL_PAD);
    23612369            break;
     2370        case PS_DB_OP_NE:
     2371            psStringAppend(&query, "(ABS(%s - %.17f) >= %.17f)", itemName, (float)(item->data.F64), PS_DB_DBL_PAD);
     2372            break;
    23622373        case PS_DB_OP_LE:
    23632374        case PS_DB_OP_LT:
     
    23762387        case PS_DB_OP_EQ:
    23772388            psStringAppend(&query, "%s = %d", itemName, (int)(item->data.B));
     2389            break;
     2390        case PS_DB_OP_NE:
     2391            psStringAppend(&query, "%s != %d", itemName, (int)(item->data.B));
    23782392            break;
    23792393        default:
     
    23972411                psStringAppend(&query, "%s LIKE '%s'", itemName, item->data.str);
    23982412            } else {
    2399                 psStringAppend(&query, "%s = '%s'", itemName, item->data.str);
     2413                psStringAppend(&query, "%s %s '%s'", itemName, opStr, item->data.str);
    24002414            }
    24012415        }
Note: See TracChangeset for help on using the changeset viewer.