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
2ec060e097
build-on-stable etc
2018-12-13 05:32:16 -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
Niko Matsakis
13ae45d441
remove input policies
2018-10-30 12:59:33 -04:00
Niko Matsakis
b2c282ff6c
Merge pull request #71 from matklad/more-panics
...
Panic in PanicGuard if it's not explicitly forgotten
2018-10-29 13:15:56 -04:00