#endif
#define SELECT_DISTINCT 1
+#define AND_OP_JOIN 0
+#define OR_OP_JOIN 1
int osrfAppChildInit();
int osrfAppInitialize();
char* value = NULL;
if (!jsonObjectGetKey( node->item, "value" )) {
- value = searchWHERE( node->item, osrfHashGet( oilsIDL(), class ), 0 );
+ value = searchWHERE( node->item, osrfHashGet( oilsIDL(), class ), AND_OP_JOIN );
} else if (jsonObjectGetKey( node->item, "value" )->type == JSON_ARRAY) {
value = searchValueTransform(jsonObjectGetKey( node->item, "value" ));
} else if (jsonObjectGetKey( node->item, "value" )->type == JSON_HASH) {
- value = searchWHERE( jsonObjectGetKey( node->item, "value" ), osrfHashGet( oilsIDL(), class ), 0 );
+ value = searchWHERE( jsonObjectGetKey( node->item, "value" ), osrfHashGet( oilsIDL(), class ), AND_OP_JOIN );
} else if (jsonObjectGetKey( node->item, "value" )->type != JSON_NULL) {
if ( !strcmp(osrfHashGet(field, "primitive"), "number") ) {
value = jsonNumberToDBString( field, jsonObjectGetKey( node->item, "value" ) );
buffer_add( join_buf, " AND " );
}
- char* jpred = searchWHERE( filter, idlClass, 0 );
+ char* jpred = searchWHERE( filter, idlClass, AND_OP_JOIN );
buffer_fadd( join_buf, " %s", jpred );
free(jpred);
}
buffer_fadd(sql_buf, " \"%s\".%s ", node->key + 1, subpred);
free(subpred);
} else {
- char* subpred = searchWHERE( node->item, osrfHashGet( oilsIDL(), node->key + 1 ), 0);
+ char* subpred = searchWHERE( node->item, osrfHashGet( oilsIDL(), node->key + 1 ), AND_OP_JOIN );
buffer_fadd(sql_buf, "( %s )", subpred);
free(subpred);
}
} else if ( !strcasecmp("-or",node->key) ) {
- char* subpred = searchWHERE( node->item, meta, 1);
+ char* subpred = searchWHERE( node->item, meta, OR_OP_JOIN );
buffer_fadd(sql_buf, "( %s )", subpred);
free(subpred);
} else if ( !strcasecmp("-and",node->key) ) {
- char* subpred = searchWHERE( node->item, meta, 0);
+ char* subpred = searchWHERE( node->item, meta, AND_OP_JOIN );
buffer_fadd(sql_buf, "( %s )", subpred);
free(subpred);
} else {
buffer_add(sql_buf, " WHERE ");
// and it's on the the WHERE clause
- char* pred = searchWHERE( search_hash, core_meta, 0 );
+ char* pred = searchWHERE( search_hash, core_meta, AND_OP_JOIN );
if (!pred) {
osrfAppSessionStatus(
ctx->session,
buffer_add(sql_buf, " WHERE ");
- char* pred = searchWHERE( search_hash, meta, 0 );
+ char* pred = searchWHERE( search_hash, meta, AND_OP_JOIN );
if (!pred) {
osrfAppSessionStatus(
ctx->session,