Commit graph

387 commits

Author SHA1 Message Date
Niko Matsakis
3cde493e4e remove the virtual fn call for creating query descriptors
Previously, to "make the connection" between the database type `DB` and
the query type `Q`, we were passing down a fn pointer that would crate
the query descriptor. But now we have this `GetQueryTable` trait -- use
that instead.
2018-12-13 05:51:45 -05:00
Niko Matsakis
5415100358
Merge pull request #94 from nikomatsakis/build-on-stable
build-on-stable etc
2018-12-13 05:36:46 -05:00
Niko Matsakis
2ec060e097 build-on-stable etc 2018-12-13 05:32:16 -05:00
Niko Matsakis
5c156e7157
Merge pull request #93 from nikomatsakis/toolchain
kill toolchain
2018-12-13 05:31:25 -05:00
Niko Matsakis
174e0edece kill toolchain
We now build on stable.
2018-12-13 05:13:31 -05:00
Niko Matsakis
92e57f4b8b
Merge pull request #92 from salsa-rs/matklad-patch-1
Don't publish rust toolchain
2018-12-13 05:11:51 -05:00
Aleksey Kladov
547ff0dfe3
Don't publish rust toolchain 2018-12-06 22:19:14 +03:00
Niko Matsakis
1af16d5d7c
Merge pull request #81 from kleimkuhler/issue-24-ensure-parallel-panic-safety
Ensure parallel panic safety
2018-11-04 06:22:28 -05:00
Niko Matsakis
ee62af42c2
Merge pull request #83 from memoryruins/patch-1
add badges to readme
2018-11-04 06:14:19 -05:00
Niko Matsakis
6dac59cd6f
Merge pull request #85 from matklad/debug-snapshot
make Snapshot Debug
2018-11-04 06:14:03 -05: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
Aleksey Kladov
229c0b944d make Snapshot Debug 2018-11-01 15:16:57 +03:00
Niko Matsakis
bfcca3059c
Merge pull request #84 from nikomatsakis/master
release 0.8.0
2018-11-01 06:06:28 -04:00
Niko Matsakis
4a8b9123e6 update hello-world 2018-11-01 05:59:33 -04:00
Niko Matsakis
206af35e2b release 0.8.0
- major refactoring to the database APIs for safer parallel
  processing (#78, #82):
  - To set an input, you now write `db.query_mut(Query).set(...)`,
    and you must declare your database as `mut`.
  - To fork a thread, you now write `db.snapshot()`, which acquires
    a read-lock that is only released when the snapshot is dropped
    (note that this read-lock blocks `set` from occuring on the main
    thread).
  - Therefore, there can only be one mutable handle to the
    database; all other handles are snapshots. This eliminates a variety
    of complex and error-prone usage patterns.
- introduced the `salsa_event` callback that can be used for logging
  and introspection (#63)
2018-11-01 05:56:03 -04:00
Niko Matsakis
642df84ed6
Merge pull request #82 from nikomatsakis/query-mut
introduce `query_mut` which you must use to get `set` methods
2018-11-01 05:55:12 -04:00
memoryruins
d77ba1707f
add badges to readme 2018-11-01 05:04:55 -04:00
Niko Matsakis
d689d02117 remove outdated note on atomicity; not a concern anymore 2018-11-01 05:03:09 -04:00
Niko Matsakis
341619d20e reorganize to put "how to implement this" at the end 2018-11-01 05:02:33 -04:00
Niko Matsakis
5a88871b9a improve snapshot docs
Using two snapshots from the same thread isn't really very easy to do,
so we don't have to warn about that really (it's really nested use of
snapshots that's a problem, and to do that you have to use thread-locals
or something just to get the snapshot *into* the database -- at that
point, something is really going wrong)).
2018-11-01 05:01:13 -04:00
Niko Matsakis
a8ca57c06d document (and start warning on missing docs) 2018-11-01 04:57:52 -04: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
981de0cac1
Merge pull request #78 from nikomatsakis/now-with-fewer-footguns
make `fork` give you a `Frozen<DB>`
2018-10-31 20:40:46 -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
2a6b8e07f9 remove the query_in_progress field 2018-10-31 15:59:00 -04:00
Niko Matsakis
252132f9b4 remove the start_query function, which is no longer needed 2018-10-31 13:31:29 -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
2d8dbce6c1
Merge pull request #63 from nikomatsakis/logging
Simple logging methods
2018-10-31 04:41:48 -04:00
Niko Matsakis
2e3f8b1a3d name the field runtime_id 2018-10-30 21:00: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
Niko Matsakis
59ab0bd7a2 introduce simple callbacks that can be used to build better logging 2018-10-30 20:19:25 -04:00
Niko Matsakis
87680f379d
Merge pull request #76 from nikomatsakis/release-v0.7.0
publish v0.7.0
2018-10-30 17:03:33 -04:00
Niko Matsakis
729904ddd3 publish v0.7.0
Changes:
- correct dead locks and add parallel stress test (#72)
- we now panic if you `get` an input that has not been `set` and
  we do not compare inputs for equality (thus dropped `Default` and `Eq`
  bounds) (#69)
- `PanicGuard` now detects internal salsa bugs (#71)
2018-10-30 17:03:04 -04:00
Niko Matsakis
05223f2b7e
Merge pull request #72 from nikomatsakis/issue-70
be more careful when updating after a dependency check
2018-10-30 15:18:39 -04:00
Niko Matsakis
39dd71ff66 remove use of upgradable_read from input queries 2018-10-30 15:08:09 -04:00
Aleksey Kladov
f4c00cfe97 Add a stress test 2018-10-30 14:41:56 -04:00
Niko Matsakis
7cfcbd73b8 remove unnecessary upgradable_read 2018-10-30 14:41:24 -04:00
Niko Matsakis
79e24cfa55 fix typo 2018-10-30 14:40:58 -04:00
Niko Matsakis
abeebfedc8 improve the error message here 2018-10-30 14:40:58 -04:00
Niko Matsakis
1c2b4d8d43 be more careful when updating after a dependency check 2018-10-30 14:40:58 -04:00
Niko Matsakis
aea746cb91
Merge pull request #69 from nikomatsakis/input-policies
add input policies to permit a wider range of inputs
2018-10-30 13:37:10 -04:00
Niko Matsakis
6c75c57cd9 fix docs 2018-10-30 13:19:59 -04:00