summaryrefslogtreecommitdiffstats
path: root/database/sqlite/sqlite.c
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2009-04-05 23:24:06 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2009-04-05 23:24:06 +0200
commited42c85deb452305180ca78b1543c5455fff160c (patch)
tree05e4588cdf9f80b90bf4c5e3bc9180549452d5b8 /database/sqlite/sqlite.c
parentff744b48fdc0665b620339d51424892def8d8071 (diff)
downloadeurephia-ed42c85deb452305180ca78b1543c5455fff160c.tar.gz
eurephia-ed42c85deb452305180ca78b1543c5455fff160c.tar.xz
eurephia-ed42c85deb452305180ca78b1543c5455fff160c.zip
Added improved filtering support to SQLite3 driver
Follow up of commit ff744b48fdc0665b620339d51424892def8d8071
Diffstat (limited to 'database/sqlite/sqlite.c')
-rw-r--r--database/sqlite/sqlite.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/database/sqlite/sqlite.c b/database/sqlite/sqlite.c
index be86642..0bc6bb2 100644
--- a/database/sqlite/sqlite.c
+++ b/database/sqlite/sqlite.c
@@ -335,7 +335,23 @@ char *_build_sqlpart(int btyp, eDBfieldMap *map) {
append_str(buf, ".", 8192);
}
append_str(buf, ptr->field_name, 8192);
- append_str(buf, "=", 8192);
+
+ switch( ptr->filter_type ) {
+ case flt_LT:
+ append_str(buf, "<", 8192); break;
+ case flt_LTE:
+ append_str(buf, "<=", 8192); break;
+ case flt_GT:
+ append_str(buf, ">", 8192); break;
+ case flt_GTE:
+ append_str(buf, ">=", 8192); break;
+ case flt_NEQ:
+ append_str(buf, "!=", 8192); break;
+
+ case flt_EQ:
+ default:
+ append_str(buf, "=", 8192); break;
+ }
append_str(buf, val, 8192);
sqlite3_free(val);
first = 0;