summaryrefslogtreecommitdiffstats
path: root/tests/hawd/dataset.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/hawd/dataset.h')
-rw-r--r--tests/hawd/dataset.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/hawd/dataset.h b/tests/hawd/dataset.h
index eb18b70..f23d67c 100644
--- a/tests/hawd/dataset.h
+++ b/tests/hawd/dataset.h
@@ -36,6 +36,12 @@ public:
36 class Row 36 class Row
37 { 37 {
38 public: 38 public:
39 enum StandardCols {
40 Annotation,
41 CommitHash,
42 Timestamp,
43 All = Annotation | CommitHash | Timestamp
44 };
39 Row(const Row &other); 45 Row(const Row &other);
40 Row &operator=(const Row &rhs); 46 Row &operator=(const Row &rhs);
41 void setValue(const QString &column, const QVariant &value); 47 void setValue(const QString &column, const QVariant &value);
@@ -43,7 +49,7 @@ public:
43 void annotate(const QString &note); 49 void annotate(const QString &note);
44 qint64 key() const; 50 qint64 key() const;
45 QByteArray toBinary() const; 51 QByteArray toBinary() const;
46 QString toString() const; 52 QString toString(const QStringList &cols = QStringList(), int standardCols = All, const QString &seperator = "\t") const;
47 53
48 private: 54 private:
49 Row(); 55 Row();
@@ -54,6 +60,7 @@ public:
54 QHash<QString, DataDefinition> m_columns; 60 QHash<QString, DataDefinition> m_columns;
55 QHash<QString, QVariant> m_data; 61 QHash<QString, QVariant> m_data;
56 QString m_annotation; 62 QString m_annotation;
63 QString m_hash;
57 const Dataset *m_dataset; 64 const Dataset *m_dataset;
58 friend class Dataset; 65 friend class Dataset;
59 }; 66 };
@@ -62,11 +69,13 @@ public:
62 Dataset(const QString &name, const State &state); 69 Dataset(const QString &name, const State &state);
63 ~Dataset(); 70 ~Dataset();
64 71
65 bool isValid(); 72 bool isValid() const;
66 const DatasetDefinition &definition() const; 73 const DatasetDefinition &definition() const;
74 QString tableHeaders(const QStringList &cols = QStringList(), int standardCols = Row::All, const QString &seperator = "\t") const;
67 75
68 qint64 insertRow(const Row &row); 76 qint64 insertRow(const Row &row);
69 void removeRow(const Row &row); 77 void removeRow(const Row &row);
78 void eachRow(const std::function<void(const Row &row)> &resultHandler);
70 Row row(qint64 key = 0); 79 Row row(qint64 key = 0);
71 Row lastRow(); 80 Row lastRow();
72 //TODO: row cursor 81 //TODO: row cursor