aboutsummaryrefslogtreecommitdiff
path: root/qlite/src/query_builder.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2017-03-12 19:33:31 +0100
committerMarvin W <git@larma.de>2017-03-12 20:55:11 +0100
commitc2643a45b0dc05c4fd82ec7d32577700dae7450e (patch)
treed8a52d8eeee351f8279f9827b7e6d1b8024e7beb /qlite/src/query_builder.vala
parent4f34e431163ac49e2c41079d44c5dd4a71b362d1 (diff)
downloaddino-c2643a45b0dc05c4fd82ec7d32577700dae7450e.tar.gz
dino-c2643a45b0dc05c4fd82ec7d32577700dae7450e.zip
Qlite: Return OptionalRow instead of Row?, add ability to remove columns on version upgrade
Diffstat (limited to 'qlite/src/query_builder.vala')
-rw-r--r--qlite/src/query_builder.vala18
1 files changed, 9 insertions, 9 deletions
diff --git a/qlite/src/query_builder.vala b/qlite/src/query_builder.vala
index 65cbb8f6..37f9b261 100644
--- a/qlite/src/query_builder.vala
+++ b/qlite/src/query_builder.vala
@@ -131,20 +131,20 @@ public class QueryBuilder : StatementBuilder {
public int64 count() throws DatabaseError {
this.column_selector = @"COUNT($column_selector) AS count";
this.single_result = true;
- return row().get_integer("count");
+ return row_().get_integer("count");
}
- public Row? row() throws DatabaseError {
+ private Row? row_() throws DatabaseError {
if (!single_result) throw new DatabaseError.NON_UNIQUE("query is not suited to return a single row, but row() was called.");
return iterator().next_value();
}
+ public RowOption row() throws DatabaseError {
+ return new RowOption(row_());
+ }
+
public T get<T>(Column<T> field) throws DatabaseError {
- Row row = row();
- if (row != null) {
- return row[field];
- }
- return null;
+ return row()[field];
}
public override Statement prepare() throws DatabaseError {
@@ -155,8 +155,8 @@ public class QueryBuilder : StatementBuilder {
return stmt;
}
- public Row.RowIterator iterator() throws DatabaseError {
- return new Row.RowIterator.from_query_builder(this);
+ public RowIterator iterator() throws DatabaseError {
+ return new RowIterator.from_query_builder(this);
}
class OrderingTerm {