Commit graph

33 commits

Author SHA1 Message Date
Niko Matsakis
2e3f8b1a3d name the field runtime_id 2018-10-30 21:00:33 -04:00
Niko Matsakis
59ab0bd7a2 introduce simple callbacks that can be used to build better logging 2018-10-30 20:19:25 -04:00
Niko Matsakis
39dd71ff66 remove use of upgradable_read from input queries 2018-10-30 15:08:09 -04:00
Niko Matsakis
13ae45d441 remove input policies 2018-10-30 12:59:33 -04:00
Niko Matsakis
e6d7cee501 no need for format! in panic! 2018-10-27 06:44:19 -04:00
Niko Matsakis
042f89e7f8 add input policies to permit a wider range of inputs 2018-10-26 19:34:11 -04:00
Niko Matsakis
c21ea47cfc introduce SweepStrategy 2018-10-25 05:48:37 -04:00
Niko Matsakis
7f1d1995aa introduce ability to ask a table what keys it has 2018-10-25 05:48:37 -04:00
Niko Matsakis
649b1a6f99 introduce a sweep routine 2018-10-25 05:48:37 -04:00
Niko Matsakis
d429926ddd treat constants more uniformly
We used to ignore constant inputs entirely. We now track them, but if we
find that a value is constant, we discard ITS inputs.  This means that
-- if we track dependencies -- we have an "outer rim" of constant
values.

Also take the opportunity to reshuffle how derived inputs represent
their state.
2018-10-25 05:48:36 -04:00
Niko Matsakis
1ab8d1a64e refactor ChangedAt into a struct
There are really two orthogonal things going on here.
2018-10-25 05:47:45 -04:00
Kevin Leimkuhler
7b20806417 Initial removal of Eq bound on Q::Val 2018-10-18 15:29:15 -07:00
Aleksey Kladov
4401e88fba Hide public impl detail in the plumbing module 2018-10-16 11:24:51 +03:00
Niko Matsakis
1799e12aa4 more debug! when executing from inputs 2018-10-15 05:25:05 -04:00
Niko Matsakis
4f4676df60 remove a bunch of unused imports 2018-10-12 11:21:40 -04:00
Niko Matsakis
890207346f do not hold input write lock while incrementing revision 2018-10-12 05:28:17 -04:00
Niko Matsakis
d11a15aff9 add debugging methods on input::set 2018-10-12 05:27:42 -04:00
Niko Matsakis
6778898a34 track when a value *became* constant
Turns out we need this, as demonstrated by the included test =)
2018-10-11 04:53:49 -04:00
Niko Matsakis
16d151e4c8 add debugging APIs -- just is_constant for now 2018-10-11 04:37:29 -04:00
Niko Matsakis
42b88fe7e6 rewrite map to just grab a write lock, and fix some latent bugs 2018-10-09 20:36:29 -04:00
Niko Matsakis
a7317084dc support set_constant in inputs
FIXME: Need test for the `panic!` case etc
2018-10-09 20:36:29 -04:00
Niko Matsakis
032b269113 extract a set_common helper 2018-10-09 20:36:29 -04:00
Niko Matsakis
3ffd166f2c check if input has changed before incrementing revision
WIP -- needs test
2018-10-09 20:36:29 -04:00
Niko Matsakis
6a0ed30d73 rename MutQueryStorageOps to InputQueryStorageOps 2018-10-09 20:36:29 -04:00
Aleksey Kladov
74486afdec elide some lifetimes 2018-10-10 00:44:26 +03:00
Aleksey Kladov
f28e8c1be5 disable in-band lifetimes 2018-10-09 22:39:03 +03:00
Niko Matsakis
296d33aae7 factor out ChangedAt to record when something changed 2018-10-09 08:53:13 -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
a4fb4b7b13 rename query context to database 2018-10-05 04:54:51 -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
b5d1ba9000 extract StampedValue into the runtime module 2018-10-01 08:39:50 -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