@@ -97,18 +97,23 @@ extension UnidocDatabase.Packages
97
97
func findGitHub( repo id: Int32 ,
98
98
with session: Mongo . Session ) async throws -> Unidoc . PackageMetadata ?
99
99
{
100
- try await session. run (
101
- command: Mongo . Find< Mongo . Single< Unidoc . PackageMetadata>>. init( Self . name, limit: 1 )
100
+ let command : Mongo . Find < Mongo . Single < Unidoc . PackageMetadata > > = . init( Self . name,
101
+ limit: 1 )
102
+ {
103
+ $0 [ . filter] = . init
102
104
{
103
- $0 [ . filter] = . init
104
- {
105
- $0 [ Unidoc . PackageMetadata [ . repo] /
106
- Unidoc. PackageRepo [ . github] /
107
- Unidoc. PackageRepo. GitHubOrigin [ . id] ] = id
108
- }
109
- $0 [ . hint] = Self . indexRepoGitHub. id
110
- } ,
111
- against: self . database)
105
+ // We need this to use the partial index, for some reason.
106
+ $0 [ Unidoc . PackageMetadata [ . repo] /
107
+ Unidoc. PackageRepo [ . github] ] = . init { $0 [ . exists] = true }
108
+
109
+ $0 [ Unidoc . PackageMetadata [ . repo] /
110
+ Unidoc. PackageRepo [ . github] /
111
+ Unidoc. PackageRepo. GitHubOrigin [ . id] ] = id
112
+ }
113
+ $0 [ . hint] = Self . indexRepoGitHub. id
114
+ }
115
+
116
+ return try await session. run ( command: command, against: self . database)
112
117
}
113
118
114
119
public
@@ -158,21 +163,21 @@ extension UnidocDatabase.Packages
158
163
func stalest( _ limit: Int ,
159
164
with session: Mongo . Session ) async throws -> [ Unidoc . PackageMetadata ]
160
165
{
161
- try await session. run (
162
- command: Mongo . Find< Mongo . SingleBatch< Unidoc . PackageMetadata>>. init( Self . name,
163
- limit: limit)
166
+ let command : Mongo . Find < Mongo . SingleBatch < Unidoc . PackageMetadata > > = . init( Self . name,
167
+ limit: limit)
168
+ {
169
+ $0 [ . filter] = . init
164
170
{
165
- $0 [ . filter] = . init
166
- {
167
- $0 [ Unidoc . PackageMetadata [ . repo] ] = . init { $0 [ . exists] = true }
168
- }
169
- $0 [ . sort] = . init
170
- {
171
- $0 [ Unidoc . PackageMetadata [ . expires] ] = ( + )
172
- }
173
- $0 [ . hint] = Self . indexExpiration. id
174
- } ,
175
- against: self . database)
171
+ $0 [ Unidoc . PackageMetadata [ . repo] ] = . init { $0 [ . exists] = true }
172
+ }
173
+ $0 [ . sort] = . init
174
+ {
175
+ $0 [ Unidoc . PackageMetadata [ . expires] ] = ( + )
176
+ }
177
+ $0 [ . hint] = Self . indexExpiration. id
178
+ }
179
+
180
+ return try await session. run ( command: command, against: self . database)
176
181
}
177
182
}
178
183
extension UnidocDatabase . Packages
0 commit comments