Skip to content

Commit 14ac75f

Browse files
committed
fix the request
1 parent b5ae662 commit 14ac75f

File tree

6 files changed

+19
-19
lines changed

6 files changed

+19
-19
lines changed

modules/infra/src/main/scala/scaladex/infra/sql/ArtifactDependencyTable.scala

+5-5
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,17 @@ object ArtifactDependencyTable {
6767
val computeProjectDependency: Query0[ProjectDependency] =
6868
selectRequest(
6969
fullJoin,
70-
"DISTINCT d.organization, d.repository, t.organization, t.repository",
70+
"d.organization, d.repository, t.organization, t.repository",
7171
groupBy = Seq("d.organization", "d.repository", "t.organization", "t.repository")
7272
)
7373

7474
val computeReleaseDependency: Query0[ReleaseDependency] = {
75-
val sourceReleaseFields = ReleaseTable.fields.map("d." + _)
76-
val targetReleaseFields = ReleaseTable.fields.map("t." + _)
75+
val sourceReleaseFields = ReleaseTable.primaryKeys.map("d." + _)
76+
val targetReleaseFields = ReleaseTable.primaryKeys.map("t." + _)
7777
selectRequest(
7878
fullJoin,
79-
s"DISTINCT ${sourceReleaseFields.mkString(", ")}, ${targetReleaseFields.mkString(", ")}, d.scope",
80-
groupBy = (sourceReleaseFields ++ targetReleaseFields) :+ "d.scope"
79+
s"${sourceReleaseFields.mkString(", ")}, MIN(d.release_date), ${targetReleaseFields.mkString(", ")}, MIN(t.release_date), d.scope",
80+
groupBy = (sourceReleaseFields ++ targetReleaseFields) ++ Seq("d.scope")
8181
)
8282
}
8383

modules/infra/src/main/scala/scaladex/infra/sql/ReleaseTable.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ import scaladex.infra.sql.DoobieUtils.insertOrUpdateRequest
77

88
object ReleaseTable {
99
private val table: String = "releases"
10-
private val primaryKeys: Seq[String] =
10+
val primaryKeys: Seq[String] =
1111
Seq(
1212
"organization",
1313
"repository",
1414
"platform",
1515
"language_version",
1616
"version"
1717
)
18-
val fields: Seq[String] =
18+
private val fields: Seq[String] =
1919
primaryKeys ++ Seq(
2020
"release_date"
2121
)

modules/server/src/it/scala/scaladex/RelevanceTest.scala

+5-6
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import cats.effect.ContextShift
1414
import scala.concurrent.ExecutionContext
1515
import scaladex.core.model.Project
1616
import scaladex.core.model.search.SearchParams
17-
import scaladex.infra.{ElasticsearchEngine, FilesystemStorage, FlywayMigration, SqlDatabase}
17+
import scaladex.infra.{ElasticsearchEngine, FilesystemStorage, SqlDatabase}
1818
import scaladex.infra.sql.DoobieUtils
1919
import scaladex.server.service.SearchSynchronizer
2020
import scaladex.core.model.search.PageParams
21-
import scaladex.server.service.ProjectDependenciesUpdater
21+
import scaladex.server.service.DependencyUpdater
2222

2323
class RelevanceTest extends TestKit(ActorSystem("SbtActorTest")) with AsyncFunSuiteLike with BeforeAndAfterAll {
2424

@@ -31,18 +31,17 @@ class RelevanceTest extends TestKit(ActorSystem("SbtActorTest")) with AsyncFunSu
3131
implicit val cs: ContextShift[IO] = IO.contextShift(ExecutionContext.global)
3232
val datasource = DoobieUtils.getHikariDataSource(config.database)
3333
val transactor = DoobieUtils.transactor(datasource)
34-
val flyway = FlywayMigration(datasource)
3534
transactor
3635
.use { xa =>
37-
val database = new SqlDatabase(xa)
36+
val database = new SqlDatabase(datasource, xa)
3837
val filesystem = FilesystemStorage(config.filesystem)
3938

4039
val searchSync = new SearchSynchronizer(database, searchEngine)
41-
val projectDependenciesUpdater = new ProjectDependenciesUpdater(database)
40+
val projectDependenciesUpdater = new DependencyUpdater(database)
4241

4342
IO.fromFuture(IO {
4443
for {
45-
_ <- Init.run(database, filesystem, flyway)
44+
_ <- Init.run(database, filesystem)
4645
_ <- searchEngine.init(true)
4746
_ <- projectDependenciesUpdater.updateAll()
4847
_ <- searchSync.syncAll()

modules/server/src/main/scala/scaladex/server/Server.scala

+5-4
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,13 @@ object Server extends LazyLogging {
5454
val searchEngine = ElasticsearchEngine.open(config.elasticsearch)
5555

5656
val resources = {
57-
val datasource = DoobieUtils.getHikariDataSource(config.database)
57+
val datasourceWeb = DoobieUtils.getHikariDataSource(config.database)
58+
val datasourceScheduler = DoobieUtils.getHikariDataSource(config.database)
5859
for {
59-
webPool <- DoobieUtils.transactor(datasource)
60-
schedulerPool <- DoobieUtils.transactor(datasource)
60+
webPool <- DoobieUtils.transactor(datasourceWeb)
61+
schedulerPool <- DoobieUtils.transactor(datasourceScheduler)
6162
publishPool <- ExecutionContexts.fixedThreadPool[IO](8)
62-
} yield (webPool, schedulerPool, publishPool, datasource)
63+
} yield (webPool, schedulerPool, publishPool, datasourceWeb)
6364
}
6465
resources
6566
.use {

modules/server/src/main/scala/scaladex/server/service/ProjectDependenciesUpdater.scala renamed to modules/server/src/main/scala/scaladex/server/service/DependencyUpdater.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.typesafe.scalalogging.LazyLogging
77
import scaladex.core.service.SchedulerDatabase
88
import scaladex.core.util.ScalaExtensions._
99

10-
class ProjectDependenciesUpdater(database: SchedulerDatabase)(implicit ec: ExecutionContext) extends LazyLogging {
10+
class DependencyUpdater(database: SchedulerDatabase)(implicit ec: ExecutionContext) extends LazyLogging {
1111

1212
def updateAll(): Future[Unit] =
1313
for {

modules/server/src/main/scala/scaladex/server/service/SchedulerService.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class SchedulerService(
2222
) extends LazyLogging {
2323
implicit val ec: ExecutionContextExecutor = ExecutionContext.global
2424
val searchSynchronizer = new SearchSynchronizer(database, searchEngine)
25-
val projectDependenciesUpdater = new ProjectDependenciesUpdater(database)
25+
val projectDependenciesUpdater = new DependencyUpdater(database)
2626

2727
private val schedulers = Seq(
2828
Scheduler("update-dependency-tables", projectDependenciesUpdater.updateAll, 1.hour),

0 commit comments

Comments
 (0)