diff options
author | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-08 20:37:41 +0100 |
---|---|---|
committer | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-08-08 20:37:41 +0100 |
commit | fb0a503c21837e70c368c918e9837e34e2e33803 (patch) | |
tree | 36a5aee7a8d8981576f189919cc0276f76dfbf16 | |
parent | 66ac4dde6785fbebccc91ed0ca3f5bc48395d101 (diff) |
Add a function that creates a query which finds records that a record replaces
-rw-r--r-- | src/libtidbit/tidbit-query.c | 17 | ||||
-rw-r--r-- | src/libtidbit/tidbit-query.h | 1 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/libtidbit/tidbit-query.c b/src/libtidbit/tidbit-query.c index d1bee60..4aff47c 100644 --- a/src/libtidbit/tidbit-query.c +++ b/src/libtidbit/tidbit-query.c @@ -105,6 +105,17 @@ gboolean tidbit_query_test_record (PtrTidbitQuery query, PtrTidbitRecord record) return TRUE; } - - - +PtrTidbitQuery tidbit_query_record_replaces (PtrTidbitRecord record) +{ + PtrTidbitQuery query = tidbit_query_new (record->table_name); + tidbit_query_add_exp (query, TIDBIT_RECORD_ELEMENT_KEY_USERKEY, record->user_name, TIDBIT_QUERY_EXP_TYPE_EQ); +// tidbit_query_add_exp (query, TIDBIT_RECORD_ELEMENT_KEY_CREATED, record->start_time, TIDBIT_QUERY_EXP_TYPE_LT); FIXME needs a a numerical '<' + + for (GList* elements = record->elements; elements; elements = g_list_next(elements)){ + PtrTidbitRecordElement element = elements->data; + if (element->type == TIDBIT_RECORD_ELEMENT_TYPE_KEY){ + tidbit_query_add_exp (query, element->key, element->value, TIDBIT_QUERY_EXP_TYPE_EQ); + } + } + return query; +} diff --git a/src/libtidbit/tidbit-query.h b/src/libtidbit/tidbit-query.h index 1a59053..b680214 100644 --- a/src/libtidbit/tidbit-query.h +++ b/src/libtidbit/tidbit-query.h @@ -45,5 +45,6 @@ void tidbit_query_add_exp (PtrTidbitQuery query, char* key, char* value, TidbitQ void tidbit_query_foreach_exp (PtrTidbitQuery query, TidbitQueryForeachFunc func, gpointer user_data); gboolean tidbit_query_test_record (PtrTidbitQuery query, PtrTidbitRecord record); +PtrTidbitQuery tidbit_query_record_replaces (PtrTidbitRecord record); #endif |