Aleksey Kladov
|
f28e8c1be5
|
disable in-band lifetimes
|
2018-10-09 22:39:03 +03:00 |
|
Aleksey Kladov
|
c3fb7a1f24
|
disable nll
|
2018-10-09 22:37:55 +03:00 |
|
Aleksey Kladov
|
69b9dff557
|
Use AtomicUsize instead of AtomicU64
|
2018-10-09 22:37:38 +03:00 |
|
Aleksey Kladov
|
1c349d4229
|
Switch crate to pub(crate)
|
2018-10-09 22:34:30 +03:00 |
|
Niko Matsakis
|
3b5f16cbcb
|
Merge pull request #43 from nikomatsakis/derived-storage
Combine memoized and volatile to make "derived storage"
|
2018-10-09 15:19:14 -04:00 |
|
Niko Matsakis
|
0dd96865c7
|
refactor to unwrap less
|
2018-10-09 15:11:57 -04:00 |
|
Niko Matsakis
|
6658a47a36
|
rename is_volatile to should_track_inputs
|
2018-10-09 13:28:33 -04:00 |
|
Niko Matsakis
|
c93868c9dc
|
make volatile queries memoize
This ensures consistency of results.
|
2018-10-09 12:41:56 -04:00 |
|
Niko Matsakis
|
7c65d07ea6
|
rename from WeakMemoizedStorage to DerivedStorage
|
2018-10-09 12:15:33 -04:00 |
|
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 |
|
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
|
2f5c2f1b44
|
add a comment
|
2018-10-06 07:12:29 -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
|
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
|
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
|
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
|
157e1e47f1
|
add support for "dependency only" tracking
|
2018-10-01 08:40:15 -04:00 |
|
Niko Matsakis
|
5a802ae05c
|
add a helper method overwrite_placeholder
|
2018-10-01 08:40:15 -04:00 |
|
Niko Matsakis
|
5849af83ac
|
track the "changed at" revision for every query read as well
|
2018-10-01 08:40:14 -04:00 |
|
Niko Matsakis
|
436d4d5084
|
combine changed_at and value into a stamped value in the Memo
|
2018-10-01 08:39:50 -04:00 |
|
Niko Matsakis
|
b5d1ba9000
|
extract StampedValue into the runtime module
|
2018-10-01 08:39:50 -04:00 |
|
Aleksey Kladov
|
e13187f747
|
Track cycles in volatile queries
|
2018-10-01 13:58:54 +03:00 |
|
Niko Matsakis
|
968149dc34
|
rename from of to get and use read in tests
|
2018-09-30 10:59:08 -04:00 |
|
Niko Matsakis
|
6b5871c5af
|
nicer macro syntax
we give bad error messages if misused, though
|
2018-09-30 10:55:59 -04:00 |
|
Niko Matsakis
|
0846e6ebba
|
write tests for input
|
2018-09-30 10:50:46 -04:00 |
|
Niko Matsakis
|
e2da42d36a
|
add "input" storage
|
2018-09-30 10:22:11 -04:00 |
|
Niko Matsakis
|
1fef80d659
|
expand incremental tests
|
2018-09-30 07:32:24 -04:00 |
|