aboutsummaryrefslogtreecommitdiff
path: root/qlite
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2018-06-19 12:52:00 +0200
committerSamuel Hand <samuel.hand@openmailbox.org>2018-06-26 15:42:02 +0100
commit638d81d67ecd6c7c8be7fd67aeaf15d16486f8e9 (patch)
treeea1cf3c5f28477bc928777ea0379d2616170fd0b /qlite
parent2a8352c5439129798b5141ec021b3b9405840a8a (diff)
downloaddino-638d81d67ecd6c7c8be7fd67aeaf15d16486f8e9.tar.gz
dino-638d81d67ecd6c7c8be7fd67aeaf15d16486f8e9.zip
More cleanup and database modifications
Diffstat (limited to 'qlite')
-rw-r--r--qlite/src/query_builder.vala10
1 files changed, 8 insertions, 2 deletions
diff --git a/qlite/src/query_builder.vala b/qlite/src/query_builder.vala
index dbfdef2a..75fe0499 100644
--- a/qlite/src/query_builder.vala
+++ b/qlite/src/query_builder.vala
@@ -98,10 +98,16 @@ public class QueryBuilder : StatementBuilder {
}
public QueryBuilder limit(int limit) {
+ if (this.limit_val != 0 && limit > this.limit_val) error("tried to increase an existing limit");
this.limit_val = limit;
return this;
}
+ public QueryBuilder single() {
+ this.single_result = true;
+ return limit(1);
+ }
+
public int64 count() {
this.column_selector = @"COUNT($column_selector) AS count";
this.single_result = true;
@@ -117,8 +123,8 @@ public class QueryBuilder : StatementBuilder {
return new RowOption(row_());
}
- public T get<T>(Column<T> field) {
- return row()[field];
+ public T get<T>(Column<T> field, T def = null) {
+ return row().get(field, def);
}
internal override Statement prepare() {