diff -r da975b1f188d -r 87328572e36f src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt
--- a/src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt Wed Aug 18 12:47:32 2021 +0200
+++ b/src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt Wed Aug 18 14:57:45 2021 +0200
@@ -129,17 +129,19 @@
executeUpdate()
}
}
-//
+ //
//
//language=SQL
- private val versionQuery = "select versionid, project, name, node, ordinal, status from lpit_version"
+ private val versionQuery = "select versionid, project, name, node, ordinal, status, release, eol from lpit_version"
private fun ResultSet.extractVersion() =
Version(getInt("versionid"), getInt("project")).apply {
name = getString("name")
node = getString("node")
ordinal = getInt("ordinal")
+ release = getDate("release")
+ eol = getDate("eol")
status = getEnum("status")
}
@@ -171,7 +173,7 @@
from lpit_version v
left join issues using (versionid)
)
- select v.versionid, project, name, node, ordinal, status,
+ select v.versionid, project, name, node, ordinal, status, release, eol,
ro.total as resolved_open, ra.total as resolved_active, rd.total as resolved_done,
ao.total as affected_open, aa.total as affected_active, ad.total as affected_done
from lpit_version v
@@ -212,13 +214,15 @@
}
override fun insertVersion(version: Version) {
- withStatement("insert into lpit_version (name, node, ordinal, status, project) values (?, ?, ?, ?::version_status, ?)") {
+ withStatement("insert into lpit_version (name, node, ordinal, status, project, release, eol) values (?, ?, ?, ?::version_status, ?, ?, ?)") {
with(version) {
setStringSafe(1, name)
setStringSafe(2, node)
setInt(3, ordinal)
setEnum(4, status)
setInt(5, version.projectid)
+ setDateOrNull(6, version.release)
+ setDateOrNull(7, version.eol)
}
executeUpdate()
}
@@ -226,18 +230,20 @@
}
override fun updateVersion(version: Version) {
- withStatement("update lpit_version set name = ?, node = ?, ordinal = ?, status = ?::version_status where versionid = ?") {
+ withStatement("update lpit_version set name = ?, node = ?, ordinal = ?, status = ?::version_status, release=?,eol=? where versionid = ?") {
with(version) {
setStringSafe(1, name)
setStringSafe(2, node)
setInt(3, ordinal)
setEnum(4, status)
- setInt(5, id)
+ setDateOrNull(5, version.release)
+ setDateOrNull(6, version.eol)
+ setInt(7, id)
}
executeUpdate()
}
}
-//
+ //
//
//language=SQL
@@ -347,9 +353,9 @@
}
}
-//
+ //
-//
+ //
//language=SQL
private val projectQuery =
@@ -441,9 +447,9 @@
}
}
-//
+ //
-//
+ //
//language=SQL
private val issueQuery =
@@ -485,19 +491,24 @@
}
//language=SQL
- fun versionQuery(table: String) =
+ val queryAffected =
"""
- select versionid, project, name, status, ordinal, node
- from lpit_version join $table using (versionid)
- where issueid = ?
- order by ordinal, name
+ $versionQuery join lpit_issue_affected_version using (versionid)
+ where issueid = ? order by ordinal, name
""".trimIndent()
- issue.affectedVersions = withStatement(versionQuery("lpit_issue_affected_version")) {
+ //language=SQL
+ val queryResolved =
+ """
+ $versionQuery join lpit_issue_resolved_version using (versionid)
+ where issueid = ? order by ordinal, name
+ """.trimIndent()
+
+ issue.affectedVersions = withStatement(queryAffected) {
setInt(1, issue.id)
queryAll { it.extractVersion() }
}
- issue.resolvedVersions = withStatement(versionQuery("lpit_issue_resolved_version")) {
+ issue.resolvedVersions = withStatement(queryResolved) {
setInt(1, issue.id)
queryAll { it.extractVersion() }
}
@@ -640,9 +651,9 @@
insertVersionInfo(issue.id, issue)
}
-//
+ //
-//
+ //
private fun ResultSet.extractIssueComment() =
IssueComment(getInt("commentid"), getInt("issueid")).apply {
@@ -693,5 +704,5 @@
}
}
}
-//
+ //
}
\ No newline at end of file