diff options
author | Max Kellermann <max@duempel.org> | 2014-12-12 22:26:04 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-12-12 22:26:04 +0100 |
commit | 49968541fd1229a92e5eadbd037b051d3b6a87da (patch) | |
tree | b9972ecf8f26b1d6f787433b9cb50cc3bc2d5399 /src/sticker/StickerDatabase.cxx | |
parent | cc143105b884bfcaa188c6e9f93babec5958ea87 (diff) | |
download | mpd-49968541fd1229a92e5eadbd037b051d3b6a87da.tar.gz mpd-49968541fd1229a92e5eadbd037b051d3b6a87da.tar.xz mpd-49968541fd1229a92e5eadbd037b051d3b6a87da.zip |
sticker/Match: add inequality operators
Diffstat (limited to 'src/sticker/StickerDatabase.cxx')
-rw-r--r-- | src/sticker/StickerDatabase.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/sticker/StickerDatabase.cxx b/src/sticker/StickerDatabase.cxx index bd809c1d3..df6dc22dd 100644 --- a/src/sticker/StickerDatabase.cxx +++ b/src/sticker/StickerDatabase.cxx @@ -44,6 +44,8 @@ enum sticker_sql { STICKER_SQL_DELETE_VALUE, STICKER_SQL_FIND, STICKER_SQL_FIND_VALUE, + STICKER_SQL_FIND_LT, + STICKER_SQL_FIND_GT, }; static const char *const sticker_sql[] = { @@ -64,6 +66,12 @@ static const char *const sticker_sql[] = { //[STICKER_SQL_FIND_VALUE] = "SELECT uri,value FROM sticker WHERE type=? AND uri LIKE (? || '%') AND name=? AND value=?", + + //[STICKER_SQL_FIND_LT] = + "SELECT uri,value FROM sticker WHERE type=? AND uri LIKE (? || '%') AND name=? AND value<?", + + //[STICKER_SQL_FIND_GT] = + "SELECT uri,value FROM sticker WHERE type=? AND uri LIKE (? || '%') AND name=? AND value>?", }; static const char sticker_sql_create[] = @@ -392,6 +400,16 @@ BindFind(const char *type, const char *base_uri, const char *name, return BindAllOrNull(error, sticker_stmt[STICKER_SQL_FIND_VALUE], type, base_uri, name, value); + + case StickerOperator::LESS_THAN: + return BindAllOrNull(error, + sticker_stmt[STICKER_SQL_FIND_LT], + type, base_uri, name, value); + + case StickerOperator::GREATER_THAN: + return BindAllOrNull(error, + sticker_stmt[STICKER_SQL_FIND_GT], + type, base_uri, name, value); } assert(false); |