diff --git a/internal/sqladapter/result.go b/internal/sqladapter/result.go
index e9a79e9359c0f8d4085cda86e3c936cbbf797a51..108ec25b3d09c6c0f28eeb467b7e88b43e6af44b 100644
--- a/internal/sqladapter/result.go
+++ b/internal/sqladapter/result.go
@@ -212,15 +212,11 @@ func (r *Result) Count() (uint64, error) {
 }
 
 func (r *Result) buildSelect() sqlbuilder.Selector {
-	q := r.b.Select(r.fields...)
-
-	q.From(r.table)
-	q.Where(filter(r.conds)...)
-	q.Limit(r.limit)
-	q.Offset(r.offset)
-
-	q.GroupBy(r.groupBy...)
-	q.OrderBy(r.orderBy...)
-
-	return q
+	return r.b.Select(r.fields...).
+		From(r.table).
+		Where(filter(r.conds)...).
+		Limit(r.limit).
+		Offset(r.offset).
+		GroupBy(r.groupBy...).
+		OrderBy(r.orderBy...)
 }
diff --git a/lib/sqlbuilder/batch.go b/lib/sqlbuilder/batch.go
index 0177b8e686384797f07b1e82125b323a0d2d04df..1ed3836534d6596399441e98aa1412ae409217e3 100644
--- a/lib/sqlbuilder/batch.go
+++ b/lib/sqlbuilder/batch.go
@@ -32,7 +32,7 @@ func (b *BatchInserter) nextQuery() *inserter {
 	i := 0
 	for values := range b.values {
 		i++
-		clone.Values(values...)
+		clone = clone.Values(values...).(*inserter)
 		if i == b.size {
 			break
 		}
diff --git a/lib/sqlbuilder/builder_test.go b/lib/sqlbuilder/builder_test.go
index 44d5b60ccd2a3ee93826efd056cae4da51d9ff4a..e4c72565fa3d273c2650e8e9185b41320c071e68 100644
--- a/lib/sqlbuilder/builder_test.go
+++ b/lib/sqlbuilder/builder_test.go
@@ -628,7 +628,7 @@ func TestSelect(t *testing.T) {
 			Where(db.Cond{"hub_id": 3})
 
 		// Don't reassign
-		sq.And(db.Cond{"role": []int{1, 2}})
+		_ = sq.And(db.Cond{"role": []int{1, 2}})
 
 		assert.Equal(
 			`SELECT "user_id" FROM "user_access" WHERE ("hub_id" = $1)`,
diff --git a/postgresql/collection.go b/postgresql/collection.go
index 2a66fc50290a09f7a689ac7abee8cd0bcbc0bb7e..fb6f89b4adb921265953ebd9c5b8b0ba9b4be7c3 100644
--- a/postgresql/collection.go
+++ b/postgresql/collection.go
@@ -102,7 +102,7 @@ func (t *table) Insert(item interface{}) (interface{}, error) {
 	}
 
 	// Asking the database to return the primary key after insertion.
-	q.Returning(pKey...)
+	q = q.Returning(pKey...)
 
 	var keyMap db.Cond
 	if err = q.Iterator().One(&keyMap); err != nil {