diff --git a/src/blackmisc/db/datastoreobjectlist.cpp b/src/blackmisc/db/datastoreobjectlist.cpp index d3ac892d0..93e6b4641 100644 --- a/src/blackmisc/db/datastoreobjectlist.cpp +++ b/src/blackmisc/db/datastoreobjectlist.cpp @@ -79,6 +79,20 @@ namespace BlackMisc return keys; } + template + QString IDatastoreObjectList::dbKeysAsStrings(const QString &separator) const + { + if (ITimestampObjectList::container().isEmpty()) { return ""; } + const QSet keys = IDatastoreObjectList::toDbKeySet(); + QString s; + for (const KEYTYPE &k : keys) + { + if (!s.isEmpty()) { s += separator; } + s = s.append(k); // append works with string and int + } + return s; + } + template KEYTYPE IDatastoreObjectList::getMaxKey(bool *ok) const { diff --git a/src/blackmisc/db/datastoreobjectlist.h b/src/blackmisc/db/datastoreobjectlist.h index 32604f2da..ea71e5811 100644 --- a/src/blackmisc/db/datastoreobjectlist.h +++ b/src/blackmisc/db/datastoreobjectlist.h @@ -38,6 +38,9 @@ namespace BlackMisc //! All keys as list QSet toDbKeySet() const; + //! The DB keys as string + QString dbKeysAsStrings(const QString &separator) const; + //! Max.key value (making sense with integer key) KEYTYPE getMaxKey(bool *ok = nullptr) const;