diff --git a/src/main/scala/gitbucket/core/service/IssuesService.scala b/src/main/scala/gitbucket/core/service/IssuesService.scala index 86430a9..6a2ff3f 100644 --- a/src/main/scala/gitbucket/core/service/IssuesService.scala +++ b/src/main/scala/gitbucket/core/service/IssuesService.scala @@ -115,18 +115,18 @@ , PR.REPOSITORY_NAME , PR.ISSUE_ID , COUNT(CS.STATE) AS CS_ALL - , SUM(CS.STATE='success') AS CS_SUCCESS + , COUNT(CS.STATE = 'success') AS CS_SUCCESS , PR.COMMIT_ID_TO AS COMMIT_ID FROM PULL_REQUEST PR JOIN COMMIT_STATUS CS - ON PR.USER_NAME=CS.USER_NAME - AND PR.REPOSITORY_NAME=CS.REPOSITORY_NAME - AND PR.COMMIT_ID_TO=CS.COMMIT_ID + ON PR.USER_NAME = CS.USER_NAME + AND PR.REPOSITORY_NAME = CS.REPOSITORY_NAME + AND PR.COMMIT_ID_TO = CS.COMMIT_ID WHERE $issueIdQuery GROUP BY PR.USER_NAME, PR.REPOSITORY_NAME, PR.ISSUE_ID) as SUMM LEFT OUTER JOIN COMMIT_STATUS CSD ON SUMM.CS_ALL = 1 AND SUMM.COMMIT_ID = CSD.COMMIT_ID"""); - query(issueList).list.map{ + query(issueList).list.map { case(userName, repositoryName, issueId, count, successCount, context, state, targetUrl, description) => (userName, repositoryName, issueId) -> CommitStatusInfo(count, successCount, context, state, targetUrl, description) }.toMap diff --git a/src/main/scala/gitbucket/core/util/DatabaseConfig.scala b/src/main/scala/gitbucket/core/util/DatabaseConfig.scala index dd38d97..c109749 100644 --- a/src/main/scala/gitbucket/core/util/DatabaseConfig.scala +++ b/src/main/scala/gitbucket/core/util/DatabaseConfig.scala @@ -71,7 +71,13 @@ object PostgreSQL extends DatabaseType { val jdbcDriver = "org.postgresql.Driver" - val slickDriver = slick.driver.PostgresDriver + val slickDriver = new slick.driver.PostgresDriver { + override def quoteIdentifier(id: String): String = { + val s = new StringBuilder(id.length + 4) append '"' + for(c <- id) if(c == '"') s append "\"\"" else s append c.toLower + (s append '"').toString + } + } val liquiDriver = new PostgresDatabase() } } diff --git a/src/main/scala/gitbucket/core/util/JDBCUtil.scala b/src/main/scala/gitbucket/core/util/JDBCUtil.scala index 48a37e8..8f6a313 100644 --- a/src/main/scala/gitbucket/core/util/JDBCUtil.scala +++ b/src/main/scala/gitbucket/core/util/JDBCUtil.scala @@ -88,11 +88,16 @@ sb.append(") VALUES (") val values = columns.map { case (columnName, columnType) => - columnType match { - case Types.BOOLEAN => rs.getBoolean(columnName) - case Types.VARCHAR | Types.CLOB | Types.CHAR => rs.getString(columnName) - case Types.INTEGER => rs.getInt(columnName) - case Types.TIMESTAMP => rs.getTimestamp(columnName) + println(columnName) + if(rs.getObject(columnName) == null){ + null + } else { + columnType match { + case Types.BOOLEAN | Types.BIT => rs.getBoolean(columnName) + case Types.VARCHAR | Types.CLOB | Types.CHAR => rs.getString(columnName) + case Types.INTEGER => rs.getInt(columnName) + case Types.TIMESTAMP => rs.getTimestamp(columnName) + } } } @@ -120,7 +125,7 @@ using(conn.getMetaData.getTables(null, null, "%", Seq("TABLE").toArray)) { rs => val tableNames = new ListBuffer[String] while (rs.next) { - val name = rs.getString("TABLE_NAME") + val name = rs.getString("TABLE_NAME").toUpperCase if (name != "VERSIONS") { tableNames += name } @@ -133,7 +138,7 @@ using(meta.getImportedKeys(null, null, tableName)) { rs => val parents = new ListBuffer[String] while (rs.next) { - val tableName = rs.getString("PKTABLE_NAME") + val tableName = rs.getString("PKTABLE_NAME").toUpperCase parents += tableName parents ++= parentTables(meta, tableName) }