1## Changelog
2
3Dec 15th, 2016: On `db.v2`, upper-db produced queries that mutated themselves:
4
5```
6q := sess.SelectFrom("users")
7
8q.Where(...) // This method modified q's internal state.
9```
10
11Starting on `db.v3` this is no longer valid, if you want to use values to
12represent queries you'll have to reassign them, like this:
13
14```
15q := sess.SelectFrom("users")
16
17q = q.Where(...)
18
19q.And(...) // Nothing happens, the Where() method does not affect q.
20```
21
22This applies to all query builder methods, `db.Result`, `db.And` and `db.Or`.
23
24If you want to check your code for statatements that might rely on the old
25behaviour and could cause you trouble use `dbcheck`:
26
27```
28go get -u github.com/upper/cmd/dbcheck
29
30dbcheck github.com/my/package/...
31```
32