Niko Matsakis
880681df49
make a test for transitive cancellation
2019-01-04 13:51:10 -05:00
Niko Matsakis
e5043a5644
make sum
invoke is_current_revision_canceled
deterministically
2019-01-04 13:51:09 -05:00
Niko Matsakis
da3be98295
extend cancellation test
2019-01-04 13:51:07 -05:00
Aleksey Kladov
a2198f1f8a
prevent untracked queries from moving brackwards in time
...
If a query observes an untracked read, it gets changed_at equal to the
current revision. When we re-validate the query later, if it doesn't
do an untracked read this time, it gets changed_at equal to the
maximum of the dependencies. Crucially, this new changed_at may
be **older** then the previous value of changed_at. That is, we break
the rule that `changed_at` monotonically increases.
This can lead to missed re-executions down the line (see the added
test).
closes #66
2018-12-30 10:54:34 +03:00
Kevin Leimkuhler
bc60b09fc7
Refactor overwrite_placeholder
into PanicGuard
2018-11-01 16:53:08 -07:00
Kevin Leimkuhler
461ab22822
Change uses of fork
to snapshot
2018-11-01 11:26:16 -07:00
Kevin Leimkuhler
83482293c6
Use Event API and add docs
2018-11-01 11:26:16 -07:00
Kevin Leimkuhler
5bface5bb9
Ensure parallel panic safety and add test
2018-11-01 11:26:16 -07:00
Niko Matsakis
49cc8abe43
introduce query_mut
which you must use to get set
methods
2018-11-01 04:53:56 -04:00
Niko Matsakis
e070bf9809
s/Frozen/Snapshot/
2018-10-31 20:06:06 -04:00
Niko Matsakis
fc2a720ae2
s/fork/snapshot/
2018-10-31 20:05:31 -04:00
Niko Matsakis
5066726147
panic if you fork from inside a query for now
2018-10-31 16:03:03 -04:00
Niko Matsakis
b0171dbc11
remove fork_mut
and adopt new strategy
...
Required simplifying the various tests.
2018-10-31 12:01:36 -04:00
Niko Matsakis
38dc4c31dd
introduce fork
, which yields a frozen handle
2018-10-31 06:05:03 -04:00
Niko Matsakis
9cac418ac8
rename fork
to fork_mut
2018-10-31 06:03:33 -04:00
Niko Matsakis
cf9db9cc7f
fix typo
2018-10-30 20:38:41 -04:00
Niko Matsakis
e355300554
use callbacks in parallel test
2018-10-30 20:19:25 -04:00
Aleksey Kladov
f4c00cfe97
Add a stress test
2018-10-30 14:41:56 -04:00
Aleksey Kladov
f709e64bd5
Add one more cancellation test
...
closes #66
2018-10-25 17:06:55 +03:00
Niko Matsakis
c94db84945
add a test for the revision lock
2018-10-19 06:00:52 -04:00
Niko Matsakis
e348c21528
move signal
into its own module
2018-10-19 06:00:44 -04:00
Niko Matsakis
e58702ebd0
replace use of await
, which is a keyword in Rust 2018
2018-10-19 05:17:26 -04:00
Niko Matsakis
2359d8aa0c
add a test of computing sum("abc")
twice in parallel
2018-10-14 14:58:31 -04:00
Niko Matsakis
3318921717
show that executing queries on distinct keys can proceed in parallel
2018-10-13 05:45:28 -04:00
Niko Matsakis
e9fadfcfe7
add more knobs, and refactor to make that easier
2018-10-13 05:39:51 -04:00
Niko Matsakis
8da63ec029
move distinct tests into their own files to ease reading
2018-10-13 05:27:20 -04:00
Niko Matsakis
fb5ba07290
move the test setup in setup.rs
2018-10-13 05:22:38 -04:00
Niko Matsakis
8f03f3bb76
move parallel tests into a directory
2018-10-13 05:03:34 -04:00