Commit graph

362 commits

Author SHA1 Message Date
Niko Matsakis
5ad0049b9f merge volatile and memoized queries 2018-10-09 12:14:09 -04:00
Niko Matsakis
2d6e454638 add the idea of "untracked reads" and use it to optimize volatile
Now we won't be tracking the inputs to a volatile query, since we don't
care about them anyway.
2018-10-09 11:04:25 -04:00
Niko Matsakis
1e6bfc7fdd introduce a callback into execute_query_implementation 2018-10-09 10:26:33 -04:00
Niko Matsakis
30236cc110 introduce a new helper, verify_inputs 2018-10-09 09:27:59 -04:00
Niko Matsakis
121821117d
Merge pull request #36 from matklad/weak-memoized
Merge Memoized and Dependency storages
2018-10-09 08:53:57 -04:00
Niko Matsakis
296d33aae7 factor out ChangedAt to record when something changed 2018-10-09 08:53:13 -04:00
Niko Matsakis
4efbd411fa check with old_memo.value.is_some() before revalidating inputs 2018-10-09 08:40:53 -04:00
Niko Matsakis
f04d66fce4 rename to MemoizationPolicy 2018-10-09 08:39:41 -04:00
Niko Matsakis
067e478e48 correct spelling, add spacing between fields 2018-10-09 08:37:57 -04:00
Niko Matsakis
d3fdfad141
Merge pull request #42 from memoryruins/remove-send-bounds
Remove Send bounds on Query keys and values
2018-10-09 08:22:16 -04:00
Niko Matsakis
ac6f2a5689
Merge pull request #40 from matklad/reexport-runtime
Re-export runtime
2018-10-09 08:21:44 -04:00
Niko Matsakis
b2f3d7a70f
Merge pull request #39 from matklad/no-default-key
Remove DefaultKey trait
2018-10-09 08:20:40 -04:00
memoryruins
4c7bd8745a Remove bounds on Query keys and values 2018-10-07 15:14:26 -04:00
Aleksey Kladov
f14d846146 Re-export runtime
cc #17
2018-10-07 14:08:22 +03:00
Aleksey Kladov
6c09f40733 Remove DefaultKey trait
We no longer use `.get` function directly, so DefaultKey does not make
much sense
2018-10-07 14:01:58 +03:00
Aleksey Kladov
b411d51a05 Merge Memoized and Dependency storages
closes #18
2018-10-06 20:15:12 +03:00
Niko Matsakis
e5c97040f1
Merge pull request #35 from nikomatsakis/set-unchecked
add a comment to `set_unchecked`
2018-10-06 07:22:31 -04:00
Niko Matsakis
2f5c2f1b44 add a comment 2018-10-06 07:12:29 -04:00
Niko Matsakis
1e5f409027
Merge pull request #33 from nikomatsakis/set-unchecked
add a `set_unchecked` method that can be used to do mocking in tests
2018-10-06 06:53:07 -04:00
Niko Matsakis
6a2a5bc695 add some tests of set_unchecked in use 2018-10-05 15:36:50 -04:00
Niko Matsakis
c52a3775df bump to 0.4.1 since I would like to release this 2018-10-05 15:25:12 -04:00
Niko Matsakis
0225fc615c add a set_unchecked method that can be used to do mocking in tests 2018-10-05 15:23:17 -04:00
Niko Matsakis
a4eaf8686e
Merge pull request #31 from nikomatsakis/fix-repo-link
fix repository link
2018-10-05 11:42:48 -04:00
Niko Matsakis
a4bc62eb71 fix repository link 2018-10-05 11:07:48 -04:00
Niko Matsakis
ad70680561
Merge pull request #30 from nikomatsakis/v0.4.0
publish v0.4.0
2018-10-05 11:05:34 -04:00
Niko Matsakis
56b20a58c5 bump to v0.4.0 2018-10-05 11:04:41 -04:00
Niko Matsakis
8f3561d880
Merge pull request #29 from nikomatsakis/api-3.0
Api 3.0
2018-10-05 11:03:56 -04:00
Niko Matsakis
1428adda47 update readme docs 2018-10-05 11:03:51 -04:00
Niko Matsakis
c75e7e44f7 add a test showing that you can write use fn 2018-10-05 10:39:55 -04:00
Niko Matsakis
8366b3a38b rename query_prototype to query_group 2018-10-05 10:35:50 -04:00
Niko Matsakis
55ec1f51d3 switch to use fn 2018-10-05 10:30:17 -04:00
Niko Matsakis
1b98ecb7a8 change to db.query(Query).set(key, value) 2018-10-05 06:58:51 -04:00
Niko Matsakis
0ee6f3884d make query_prototype also define queries, remove query_definition 2018-10-05 05:55:35 -04:00
Niko Matsakis
cd5622c6de make query method get by default
Use `Query.set(db, key, value)` to set. Not sure about this.
2018-10-05 05:28:51 -04:00
Niko Matsakis
d6c7080877 introduce a GetQueryTable trait and use to get the query tables 2018-10-05 05:15:21 -04:00
Niko Matsakis
84dca313f7 factor out a QueryFunction trait -- inputs don't implement it 2018-10-05 04:59:33 -04:00
Niko Matsakis
a4fb4b7b13 rename query context to database 2018-10-05 04:54:51 -04:00
Niko Matsakis
8074973fc9
Merge pull request #25 from nikomatsakis/v0.3.0
bump to v0.3.0
2018-10-02 20:13:34 -04:00
Niko Matsakis
1c03cc47e5 bump to v0.3.0 2018-10-02 20:12:52 -04:00
Niko Matsakis
89a0ff4221
Merge pull request #21 from nikomatsakis/docs
change `query_prototype` to take entire trait; update the docs
2018-10-02 06:01:57 -04:00
Niko Matsakis
1dacf73063 udpate license 2018-10-02 05:59:10 -04:00
Niko Matsakis
e7d55de454
Merge pull request #19 from matklad/assert
Assert inputs are not modified concurrently
2018-10-02 05:54:19 -04:00
Niko Matsakis
633b4f92d5 update FAQ with a link 2018-10-02 05:52:27 -04:00
Niko Matsakis
0a2a871d98 improve docs 2018-10-02 05:50:38 -04:00
Niko Matsakis
2ddc8032ee make query_prototype take trait, rename hello_world to compiler 2018-10-01 20:42:41 -04:00
Niko Matsakis
5472cfdbc8 simplify the logic by using changed_at and not verified_at
I think they are actually equivalent, as we have already fond that the
inputs did not change in the range `changed_at..=verified_at`.
2018-10-01 13:20:18 -04:00
Aleksey Kladov
981606a121 Assert inputs are not modified concurrently 2018-10-01 16:29:19 +03:00
Niko Matsakis
848019bbca bump to v0.2.0 2018-10-01 09:09:13 -04:00
Niko Matsakis
e18f14fca5
Merge pull request #14 from nikomatsakis/dep-only
Add support for "dependency only" tracking
2018-10-01 08:44:47 -04:00
Niko Matsakis
157e1e47f1 add support for "dependency only" tracking 2018-10-01 08:40:15 -04:00