@@ -26,25 +26,25 @@ extension Unidoc.DB.EditionDependencies
26
26
static let indexSourceChangedABI : Mongo . CollectionIndex = . init( " SourceChangedABI " ,
27
27
collation: SimpleCollation . spec)
28
28
{
29
- $0 [ Unidoc . EditionDependency [ . id] / Unidoc. Edge< Unidoc . Edition> [ . source] ] = ( + )
29
+ $0 [ Element [ . id] / Unidoc. Edge< Unidoc . Edition> [ . source] ] = ( + )
30
30
}
31
31
where :
32
32
{
33
- $0[ Uni do c . EditionDependency [ . targetChanged] ] = true
33
+ $0[ Element [ . targetChanged] ] = true
34
34
}
35
35
36
36
public
37
37
static let indexSource : Mongo . CollectionIndex = . init( " Source " ,
38
38
collation: SimpleCollation . spec)
39
39
{
40
- $0 [ Unidoc . EditionDependency [ . id] / Unidoc. Edge< Unidoc . Edition> [ . source] ] = ( + )
40
+ $0 [ Element [ . id] / Unidoc. Edge< Unidoc . Edition> [ . source] ] = ( + )
41
41
}
42
42
43
43
public
44
44
static let indexTarget : Mongo . CollectionIndex = . init( " Target " ,
45
45
collation: SimpleCollation . spec)
46
46
{
47
- $0 [ Unidoc . EditionDependency [ . id] / Unidoc. Edge< Unidoc . Edition> [ . target] ] = ( + )
47
+ $0 [ Element [ . id] / Unidoc. Edge< Unidoc . Edition> [ . target] ] = ( + )
48
48
}
49
49
}
50
50
extension Unidoc . DB . EditionDependencies : Mongo . CollectionModel
@@ -67,6 +67,18 @@ extension Unidoc.DB.EditionDependencies:Mongo.CollectionModel
67
67
}
68
68
extension Unidoc . DB . EditionDependencies
69
69
{
70
+ public
71
+ func dirty( limit: Int ) async throws -> [ Unidoc . EditionDependency ]
72
+ {
73
+ try await session. run (
74
+ command: Mongo . Find< Mongo . SingleBatch< Element>>. init( Self . name, limit: limit)
75
+ {
76
+ $0 [ . filter] { $0 [ Element [ . targetChanged] ] = true }
77
+ $0 [ . hint] = Self . indexSourceChangedABI. id
78
+ } ,
79
+ against: self . database)
80
+ }
81
+
70
82
func create( dependent: Unidoc . Edition ,
71
83
from boundaries: [ Unidoc . Mesh . Boundary ] ) async throws
72
84
{
0 commit comments