From e6b8afea5df53f923b9bc3228ffb092016f5b3ba Mon Sep 17 00:00:00 2001 From: scottmk Date: Tue, 17 Mar 2009 15:36:42 +0000 Subject: [PATCH] Implement a NOT operator, expressed as "-not". git-svn-id: svn://svn.open-ils.org/ILS/trunk@12561 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/c-apps/oils_cstore.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/c-apps/oils_cstore.c b/Open-ILS/src/c-apps/oils_cstore.c index 7275679d50..90922ee15a 100644 --- a/Open-ILS/src/c-apps/oils_cstore.c +++ b/Open-ILS/src/c-apps/oils_cstore.c @@ -2410,7 +2410,16 @@ static char* searchWHERE ( const jsonObject* search_hash, osrfHash* meta, int op buffer_free( sql_buf ); return NULL; } - } else if ( !strcasecmp("-exists",search_itr->key) ) { + } else if ( !strcasecmp("-not",search_itr->key) ) { + char* subpred = searchWHERE( node, meta, AND_OP_JOIN, ctx ); + if( subpred ) { + buffer_fadd(sql_buf, " NOT ( %s )", subpred); + free( subpred ); + } else { + buffer_free( sql_buf ); + return NULL; + } + } else if ( !strcasecmp("-exists",search_itr->key) ) { char* subpred = SELECT( ctx, jsonObjectGetKey( node, "select" ), -- 2.11.0