From 0dc15fdb7b63dc739e2bccf5f9a6d37e7e9fa744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Sat, 29 Jan 2011 11:41:43 +0100 Subject: [PATCH] Fix a bug in search engine --- src/model/Database.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/model/Database.cpp b/src/model/Database.cpp index 3b6b754..ea9b9d0 100644 --- a/src/model/Database.cpp +++ b/src/model/Database.cpp @@ -1291,7 +1291,8 @@ std::vector* Database::Search(User* user, wxString* description, wxDa if (firstCond) req += wxT(" AND ") ; else firstCond = true; req += wxT("("); req += wxT("year >= ") + yearFrom ; - req += wxT(" AND (month > '") + monthFrom + wxT("' OR (month == '") + monthFrom + wxT("' AND day >= '") + dayFrom + wxT("'))"); + req += wxT(" AND (month > '") + monthFrom + wxT("' OR (month == '") + monthFrom + wxT("' AND day >= '") + dayFrom + wxT("')"); + req += wxT(" OR (month < '") + monthFrom + wxT("' AND year > '") + yearFrom + wxT("'))"); req += wxT(")"); } @@ -1300,7 +1301,8 @@ std::vector* Database::Search(User* user, wxString* description, wxDa if (firstCond) req += wxT(" AND ") ; else firstCond = true; req += wxT("("); req += wxT("year <= ") + yearTo ; - req += wxT(" AND (month < '") + monthTo + wxT("' OR (month == '") + monthTo + wxT("' AND day <= '") + dayTo + wxT("'))"); + req += wxT(" AND (month < '") + monthTo + wxT("' OR (month == '") + monthTo + wxT("' AND day <= '") + dayTo + wxT("')"); + req += wxT(" OR (month > '") + monthTo + wxT("' AND year < '") + yearTo + wxT("'))"); req += wxT(")"); }