summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-12-22 13:46:13 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-12-22 13:46:13 +0100
commit1fe8664ec74165fc3f250098609ea0e049e3adc8 (patch)
tree76cccc0abfa9c57f96e70f7a1aba8f0ad6a32817
parent82f4e8d525b6a82a9377e19ae115fcbb8ef33110 (diff)
downloadsink-1fe8664ec74165fc3f250098609ea0e049e3adc8.tar.gz
sink-1fe8664ec74165fc3f250098609ea0e049e3adc8.zip
Better query debug output
-rw-r--r--common/query.cpp13
-rw-r--r--common/query.h11
-rw-r--r--common/standardqueries.h3
3 files changed, 26 insertions, 1 deletions
diff --git a/common/query.cpp b/common/query.cpp
index 14acde0..940c596 100644
--- a/common/query.cpp
+++ b/common/query.cpp
@@ -39,9 +39,19 @@ QDebug operator<<(QDebug dbg, const Sink::QueryBase::Comparator &c)
39 return dbg.space(); 39 return dbg.space();
40} 40}
41 41
42QDebug operator<<(QDebug dbg, const Sink::QueryBase::Filter &filter)
43{
44 if (filter.ids.isEmpty()) {
45 dbg.nospace() << "Filter(" << filter.propertyFilter << ")";
46 } else {
47 dbg.nospace() << "Filter(" << filter.ids << ")";
48 }
49 return dbg.maybeSpace();
50}
51
42QDebug operator<<(QDebug dbg, const Sink::QueryBase &query) 52QDebug operator<<(QDebug dbg, const Sink::QueryBase &query)
43{ 53{
44 dbg.nospace() << "Query [" << query.type() << "]\n"; 54 dbg.nospace() << "Query [" << query.type() << "] << Id: " << query.id() << "\n";
45 dbg.nospace() << " Filter: " << query.getBaseFilters() << "\n"; 55 dbg.nospace() << " Filter: " << query.getBaseFilters() << "\n";
46 dbg.nospace() << " Ids: " << query.ids() << "\n"; 56 dbg.nospace() << " Ids: " << query.ids() << "\n";
47 dbg.nospace() << " Sorting: " << query.sortProperty() << "\n"; 57 dbg.nospace() << " Sorting: " << query.sortProperty() << "\n";
@@ -54,6 +64,7 @@ QDebug operator<<(QDebug dbg, const Sink::Query &query)
54 dbg.nospace() << " Requested: " << query.requestedProperties << "\n"; 64 dbg.nospace() << " Requested: " << query.requestedProperties << "\n";
55 dbg.nospace() << " Parent: " << query.parentProperty() << "\n"; 65 dbg.nospace() << " Parent: " << query.parentProperty() << "\n";
56 dbg.nospace() << " IsLive: " << query.liveQuery() << "\n"; 66 dbg.nospace() << " IsLive: " << query.liveQuery() << "\n";
67 dbg.nospace() << " ResourceFilter: " << query.getResourceFilter() << "\n";
57 return dbg.maybeSpace(); 68 return dbg.maybeSpace();
58} 69}
59 70
diff --git a/common/query.h b/common/query.h
index c265f92..e1d5f1c 100644
--- a/common/query.h
+++ b/common/query.h
@@ -82,6 +82,16 @@ public:
82 return hasFilter(T::name); 82 return hasFilter(T::name);
83 } 83 }
84 84
85 void setId(const QByteArray &id)
86 {
87 mId = id;
88 }
89
90 QByteArray id() const
91 {
92 return mId;
93 }
94
85 void setBaseFilters(const QHash<QByteArray, Comparator> &filter) 95 void setBaseFilters(const QHash<QByteArray, Comparator> &filter)
86 { 96 {
87 mBaseFilterStage.propertyFilter = filter; 97 mBaseFilterStage.propertyFilter = filter;
@@ -275,6 +285,7 @@ private:
275 QList<QSharedPointer<FilterStage>> mFilterStages; 285 QList<QSharedPointer<FilterStage>> mFilterStages;
276 QByteArray mType; 286 QByteArray mType;
277 QByteArray mSortProperty; 287 QByteArray mSortProperty;
288 QByteArray mId;
278}; 289};
279 290
280/** 291/**
diff --git a/common/standardqueries.h b/common/standardqueries.h
index ccb02a2..70e03cb 100644
--- a/common/standardqueries.h
+++ b/common/standardqueries.h
@@ -30,6 +30,7 @@ namespace StandardQueries {
30 static Query completeThread(const ApplicationDomain::Mail &mail) 30 static Query completeThread(const ApplicationDomain::Mail &mail)
31 { 31 {
32 Sink::Query query; 32 Sink::Query query;
33 query.setId("completethread");
33 if (!mail.resourceInstanceIdentifier().isEmpty()) { 34 if (!mail.resourceInstanceIdentifier().isEmpty()) {
34 query.resourceFilter(mail.resourceInstanceIdentifier()); 35 query.resourceFilter(mail.resourceInstanceIdentifier());
35 } 36 }
@@ -45,6 +46,7 @@ namespace StandardQueries {
45 static Query threadLeaders(const ApplicationDomain::Folder &folder) 46 static Query threadLeaders(const ApplicationDomain::Folder &folder)
46 { 47 {
47 Sink::Query query; 48 Sink::Query query;
49 query.setId("threadleaders");
48 if (!folder.resourceInstanceIdentifier().isEmpty()) { 50 if (!folder.resourceInstanceIdentifier().isEmpty()) {
49 query.resourceFilter(folder.resourceInstanceIdentifier()); 51 query.resourceFilter(folder.resourceInstanceIdentifier());
50 } 52 }
@@ -63,6 +65,7 @@ namespace StandardQueries {
63 static Query outboxMails() 65 static Query outboxMails()
64 { 66 {
65 Sink::Query query; 67 Sink::Query query;
68 query.setId("outbox");
66 query.resourceContainsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::transport); 69 query.resourceContainsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::transport);
67 query.sort<ApplicationDomain::Mail::Date>(); 70 query.sort<ApplicationDomain::Mail::Date>();
68 return query; 71 return query;