summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2019-12-18 14:07:36 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2019-12-18 21:07:36 +0800
commit6d811bcb14eb7199452d2673a6c30412989f7498 (patch)
treeaa5b16dc73b0cf7d4fa53b770a1fbb5f85d5daee
parent3b4682e1722441a2c64f0bacd05aa795f8fb27da (diff)
downloadgitea-6d811bcb14eb7199452d2673a6c30412989f7498.tar.gz
gitea-6d811bcb14eb7199452d2673a6c30412989f7498.zip
Hide not allowed Reactions (#9387)
* Hide not allowed Reactions * filter in query :D * use ` Co-Authored-By: Alexey 〒erentyev <axifnx@gmail.com> * update xorm v0.8.0 -> v0.8.1
-rw-r--r--go.mod2
-rw-r--r--go.sum2
-rw-r--r--integrations/api_issue_reaction_test.go10
-rw-r--r--models/issue_reaction.go1
-rw-r--r--vendor/modules.txt2
-rw-r--r--vendor/xorm.io/xorm/.drone.yml513
-rw-r--r--vendor/xorm.io/xorm/engine.go47
-rw-r--r--vendor/xorm.io/xorm/session.go24
-rw-r--r--vendor/xorm.io/xorm/session_raw.go4
-rw-r--r--vendor/xorm.io/xorm/session_update.go17
10 files changed, 150 insertions, 472 deletions
diff --git a/go.mod b/go.mod
index e50f7a5eb9..8e605720cf 100644
--- a/go.mod
+++ b/go.mod
@@ -111,5 +111,5 @@ require (
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251
xorm.io/builder v0.3.6
xorm.io/core v0.7.2
- xorm.io/xorm v0.8.0
+ xorm.io/xorm v0.8.1
)
diff --git a/go.sum b/go.sum
index e05834f879..b3ca74e82f 100644
--- a/go.sum
+++ b/go.sum
@@ -791,3 +791,5 @@ xorm.io/core v0.7.2 h1:mEO22A2Z7a3fPaZMk6gKL/jMD80iiyNwRrX5HOv3XLw=
xorm.io/core v0.7.2/go.mod h1:jJfd0UAEzZ4t87nbQYtVjmqpIODugN6PD2D9E+dJvdM=
xorm.io/xorm v0.8.0 h1:iALxgJrX8O00f8Jk22GbZwPmxJNgssV5Mv4uc2HL9PM=
xorm.io/xorm v0.8.0/go.mod h1:ZkJLEYLoVyg7amJK/5r779bHyzs2AU8f8VMiP6BM7uY=
+xorm.io/xorm v0.8.1 h1:4f2KXuQxVdaX3RdI3Fw81NzMiSpZeyCZt8m3sEVeIkQ=
+xorm.io/xorm v0.8.1/go.mod h1:ZkJLEYLoVyg7amJK/5r779bHyzs2AU8f8VMiP6BM7uY=
diff --git a/integrations/api_issue_reaction_test.go b/integrations/api_issue_reaction_test.go
index f3fcf3946f..c474f7bad2 100644
--- a/integrations/api_issue_reaction_test.go
+++ b/integrations/api_issue_reaction_test.go
@@ -26,7 +26,6 @@ func TestAPIIssuesReactions(t *testing.T) {
session := loginUser(t, owner.Name)
token := getTokenForLoggedInUser(t, session)
- user1 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User)
user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)
urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/reactions?token=%s",
owner.Name, issue.Repo.Name, issue.Index, token)
@@ -61,17 +60,12 @@ func TestAPIIssuesReactions(t *testing.T) {
DecodeJSON(t, resp, &apiReactions)
expectResponse := make(map[int]api.ReactionResponse)
expectResponse[0] = api.ReactionResponse{
- User: user1.APIFormat(),
- Reaction: "zzz",
- Created: time.Unix(1573248002, 0),
- }
- expectResponse[1] = api.ReactionResponse{
User: user2.APIFormat(),
Reaction: "eyes",
Created: time.Unix(1573248003, 0),
}
- expectResponse[2] = apiNewReaction
- assert.Len(t, apiReactions, 3)
+ expectResponse[1] = apiNewReaction
+ assert.Len(t, apiReactions, 2)
for i, r := range apiReactions {
assert.Equal(t, expectResponse[i].Reaction, r.Reaction)
assert.Equal(t, expectResponse[i].Created.Unix(), r.Created.Unix())
diff --git a/models/issue_reaction.go b/models/issue_reaction.go
index b4f332a089..6896eeeafc 100644
--- a/models/issue_reaction.go
+++ b/models/issue_reaction.go
@@ -69,6 +69,7 @@ func findReactions(e Engine, opts FindReactionsOptions) ([]*Reaction, error) {
reactions := make([]*Reaction, 0, 10)
sess := e.Where(opts.toConds())
return reactions, sess.
+ In("reaction.`type`", setting.UI.Reactions).
Asc("reaction.issue_id", "reaction.comment_id", "reaction.created_unix", "reaction.id").
Find(&reactions)
}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 34b0f6c6e8..901f06c98e 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -609,5 +609,5 @@ strk.kbt.io/projects/go/libravatar
xorm.io/builder
# xorm.io/core v0.7.2
xorm.io/core
-# xorm.io/xorm v0.8.0
+# xorm.io/xorm v0.8.1
xorm.io/xorm
diff --git a/vendor/xorm.io/xorm/.drone.yml b/vendor/xorm.io/xorm/.drone.yml
index c373975df6..b2198e380a 100644
--- a/vendor/xorm.io/xorm/.drone.yml
+++ b/vendor/xorm.io/xorm/.drone.yml
@@ -1,11 +1,6 @@
---
kind: pipeline
-name: matrix-1
-
-platform:
- os: linux
- arch: amd64
-
+name: go1.10-test
workspace:
base: /go
path: src/gitea.com/xorm/xorm
@@ -15,9 +10,7 @@ steps:
pull: default
image: golang:1.10
commands:
- - go get -t -d -v ./...
- - go get -u xorm.io/core
- - go get -u xorm.io/builder
+ - go get -t -d -v
- go build -v
when:
event:
@@ -27,8 +20,9 @@ steps:
- name: test-sqlite
pull: default
image: golang:1.10
+ depends_on:
+ - build
commands:
- - go get -u github.com/wadey/gocovmerge
- "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -coverprofile=coverage1-1.txt -covermode=atomic"
- "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic"
when:
@@ -39,6 +33,8 @@ steps:
- name: test-mysql
pull: default
image: golang:1.10
+ depends_on:
+ - build
commands:
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -coverprofile=coverage2-1.txt -covermode=atomic"
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic"
@@ -50,6 +46,8 @@ steps:
- name: test-mysql-utf8mb4
pull: default
image: golang:1.10
+ depends_on:
+ - test-mysql
commands:
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -coverprofile=coverage2.1-1.txt -covermode=atomic"
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -cache=true -coverprofile=coverage2.1-2.txt -covermode=atomic"
@@ -61,6 +59,8 @@ steps:
- name: test-mymysql
pull: default
image: golang:1.10
+ depends_on:
+ - test-mysql-utf8mb4
commands:
- "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -coverprofile=coverage3-1.txt -covermode=atomic"
- "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic"
@@ -72,6 +72,8 @@ steps:
- name: test-postgres
pull: default
image: golang:1.10
+ depends_on:
+ - build
commands:
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -coverprofile=coverage4-1.txt -covermode=atomic"
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic"
@@ -83,6 +85,8 @@ steps:
- name: test-postgres-schema
pull: default
image: golang:1.10
+ depends_on:
+ - build
commands:
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -coverprofile=coverage5-1.txt -covermode=atomic"
- "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic"
@@ -94,6 +98,8 @@ steps:
- name: test-mssql
pull: default
image: golang:1.10
+ depends_on:
+ - build
commands:
- "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -coverprofile=coverage6-1.txt -covermode=atomic"
- "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic"
@@ -105,213 +111,30 @@ steps:
- name: test-tidb
pull: default
image: golang:1.10
+ depends_on:
+ - build
commands:
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -coverprofile=coverage7-1.txt -covermode=atomic"
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -cache=true -coverprofile=coverage7-2.txt -covermode=atomic"
- - gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage2.1-1.txt coverage2.1-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
- when:
- event:
- - push
- - pull_request
-
-services:
-- name: mysql
- pull: default
- image: mysql:5.7
- environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: xorm_test
- when:
- event:
- - push
- - tag
- - pull_request
-
-- name: tidb
- pull: default
- image: pingcap/tidb:v3.0.3
- when:
- event:
- - push
- - tag
- - pull_request
-
-- name: pgsql
- pull: default
- image: postgres:9.5
- environment:
- POSTGRES_DB: xorm_test
- POSTGRES_USER: postgres
- when:
- event:
- - push
- - tag
- - pull_request
-
-- name: mssql
- pull: default
- image: microsoft/mssql-server-linux:latest
- environment:
- ACCEPT_EULA: Y
- SA_PASSWORD: yourStrong(!)Password
- MSSQL_PID: Developer
- when:
- event:
- - push
- - tag
- - pull_request
-
----
-kind: pipeline
-name: matrix-2
-
-platform:
- os: linux
- arch: amd64
-
-workspace:
- base: /go
- path: src/gitea.com/xorm/xorm
-
-steps:
-- name: build
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "off"
- commands:
- - go get -t -d -v ./...
- - go get -u xorm.io/core
- - go get -u xorm.io/builder
- - go build -v
- when:
- event:
- - push
- - pull_request
-
-- name: build-gomod
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - go build -v
- when:
- event:
- - push
- - pull_request
-
-- name: test-sqlite
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -coverprofile=coverage1-1.txt -covermode=atomic"
- - "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mysql
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -coverprofile=coverage2-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mysql-utf8mb4
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -coverprofile=coverage2.1-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -cache=true -coverprofile=coverage2.1-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mymysql
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -coverprofile=coverage3-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-postgres
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -coverprofile=coverage4-1.txt -covermode=atomic"
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic"
when:
event:
- push
- pull_request
-- name: test-postgres-schema
+- name: test-end
pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -coverprofile=coverage5-1.txt -covermode=atomic"
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mssql
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -coverprofile=coverage6-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic"
-
- when:
- event:
- - push
- - pull_request
-
-- name: test-tidb
- pull: default
- image: golang:1.11
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
+ image: golang:1.10
+ depends_on:
+ - test-sqlite
+ - test-mysql
+ - test-mysql-utf8mb4
+ - test-mymysql
+ - test-postgres
+ - test-postgres-schema
+ - test-mssql
+ - test-tidb
commands:
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -coverprofile=coverage7-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -cache=true -coverprofile=coverage7-2.txt -covermode=atomic"
- - go get github.com/wadey/gocovmerge
- - gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage2.1-1.txt coverage2.1-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
+ - echo "go1.10 build end"
when:
event:
- push
@@ -330,15 +153,6 @@ services:
- tag
- pull_request
-- name: tidb
- pull: default
- image: pingcap/tidb:v3.0.3
- when:
- event:
- - push
- - tag
- - pull_request
-
- name: pgsql
pull: default
image: postgres:9.5
@@ -364,175 +178,6 @@ services:
- tag
- pull_request
----
-kind: pipeline
-name: matrix-3
-
-platform:
- os: linux
- arch: amd64
-
-workspace:
- base: /go
- path: src/gitea.com/xorm/xorm
-
-steps:
-
-- name: build
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "off"
- commands:
- - go get -t -d -v ./...
- - go get -u xorm.io/core
- - go get -u xorm.io/builder
- - go build -v
- when:
- event:
- - push
- - pull_request
-
-- name: build-gomod
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - go build -v
- when:
- event:
- - push
- - pull_request
-
-- name: test-sqlite
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -coverprofile=coverage1-1.txt -covermode=atomic"
- - "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mysql
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -coverprofile=coverage2-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test\" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mysql-utf8mb4
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -coverprofile=coverage2.1-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(mysql)/xorm_test?charset=utf8mb4\" -cache=true -coverprofile=coverage2.1-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mymysql
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -coverprofile=coverage3-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mymysql\" -conn_str=\"tcp:mysql:3306*xorm_test/root/\" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-postgres
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -coverprofile=coverage4-1.txt -covermode=atomic"
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-postgres-schema
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -coverprofile=coverage5-1.txt -covermode=atomic"
- - "go test -v -race -db=\"postgres\" -conn_str=\"postgres://postgres:@pgsql/xorm_test?sslmode=disable\" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-mssql
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -coverprofile=coverage6-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mssql\" -conn_str=\"server=mssql;user id=sa;password=yourStrong(!)Password;database=xorm_test\" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic"
- when:
- event:
- - push
- - pull_request
-
-- name: test-tidb
- pull: default
- image: golang:1.12
- environment:
- GO111MODULE: "on"
- GOPROXY: "https://goproxy.cn"
- commands:
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -coverprofile=coverage7-1.txt -covermode=atomic"
- - "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -cache=true -coverprofile=coverage7-2.txt -covermode=atomic"
- - go get github.com/wadey/gocovmerge
- - gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage2.1-1.txt coverage2.1-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
- when:
- event:
- - push
- - pull_request
-
-services:
-- name: mysql
- pull: default
- image: mysql:5.7
- environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_DATABASE: xorm_test
- when:
- event:
- - push
- - tag
- - pull_request
-
- name: tidb
pull: default
image: pingcap/tidb:v3.0.3
@@ -542,68 +187,19 @@ services:
- tag
- pull_request
-- name: pgsql
- pull: default
- image: postgres:9.5
- environment:
- POSTGRES_DB: xorm_test
- POSTGRES_USER: postgres
- when:
- event:
- - push
- - tag
- - pull_request
-
-- name: mssql
- pull: default
- image: microsoft/mssql-server-linux:latest
- environment:
- ACCEPT_EULA: Y
- SA_PASSWORD: yourStrong(!)Password
- MSSQL_PID: Developer
- when:
- event:
- - push
- - tag
- - pull_request
-
---
kind: pipeline
-name: go1.13
-
-platform:
- os: linux
- arch: amd64
-
-workspace:
- base: /go
- path: src/gitea.com/xorm/xorm
-
+name: go1.13-test
steps:
-
- name: build
pull: default
image: golang:1.13
environment:
- GO111MODULE: "off"
- commands:
- - go get -t -d -v ./...
- - go get -u xorm.io/core
- - go get -u xorm.io/builder
- - go build -v
- when:
- event:
- - push
- - pull_request
-
-- name: build-gomod
- pull: default
- image: golang:1.13
- environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.cn"
commands:
- go build -v
+ - go vet
when:
event:
- push
@@ -640,6 +236,8 @@ steps:
- name: test-mysql-utf8mb4
pull: default
image: golang:1.13
+ depends_on:
+ - test-mysql
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.cn"
@@ -654,6 +252,8 @@ steps:
- name: test-mymysql
pull: default
image: golang:1.13
+ depends_on:
+ - test-mysql-utf8mb4
environment:
GO111MODULE: "on"
GOPROXY: "https://goproxy.cn"
@@ -716,6 +316,28 @@ steps:
commands:
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -coverprofile=coverage7-1.txt -covermode=atomic"
- "go test -v -race -db=\"mysql\" -conn_str=\"root:@tcp(tidb:4000)/xorm_test\" -ignore_select_update=true -cache=true -coverprofile=coverage7-2.txt -covermode=atomic"
+ when:
+ event:
+ - push
+ - pull_request
+
+- name: merge_coverage
+ pull: default
+ image: golang:1.13
+ environment:
+ GO111MODULE: "on"
+ GOPROXY: "https://goproxy.cn"
+ depends_on:
+ - build
+ - test-sqlite
+ - test-mysql
+ - test-mysql-utf8mb4
+ - test-mymysql
+ - test-postgres
+ - test-postgres-schema
+ - test-mssql
+ - test-tidb
+ commands:
- go get github.com/wadey/gocovmerge
- gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage2.1-1.txt coverage2.1-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
when:
@@ -724,6 +346,7 @@ steps:
- pull_request
services:
+
- name: mysql
pull: default
image: mysql:5.7
@@ -736,15 +359,6 @@ services:
- tag
- pull_request
-- name: tidb
- pull: default
- image: pingcap/tidb:v3.0.3
- when:
- event:
- - push
- - tag
- - pull_request
-
- name: pgsql
pull: default
image: postgres:9.5
@@ -768,4 +382,13 @@ services:
event:
- push
- tag
+ - pull_request
+
+- name: tidb
+ pull: default
+ image: pingcap/tidb:v3.0.3
+ when:
+ event:
+ - push
+ - tag
- pull_request \ No newline at end of file
diff --git a/vendor/xorm.io/xorm/engine.go b/vendor/xorm.io/xorm/engine.go
index 4ed0f77a92..a7e52ea484 100644
--- a/vendor/xorm.io/xorm/engine.go
+++ b/vendor/xorm.io/xorm/engine.go
@@ -207,25 +207,46 @@ func (engine *Engine) QuoteTo(buf *strings.Builder, value string) {
return
}
- quotePair := engine.dialect.Quote("")
+ quoteTo(buf, engine.dialect.Quote(""), value)
+}
- if value[0] == '`' || len(quotePair) < 2 || value[0] == quotePair[0] { // no quote
+func quoteTo(buf *strings.Builder, quotePair string, value string) {
+ if len(quotePair) < 2 { // no quote
_, _ = buf.WriteString(value)
return
- } else {
- prefix, suffix := quotePair[0], quotePair[1]
-
- _ = buf.WriteByte(prefix)
- for i := 0; i < len(value); i++ {
- if value[i] == '.' {
- _ = buf.WriteByte(suffix)
- _ = buf.WriteByte('.')
- _ = buf.WriteByte(prefix)
+ }
+
+ prefix, suffix := quotePair[0], quotePair[1]
+
+ i := 0
+ for i < len(value) {
+ // start of a token; might be already quoted
+ if value[i] == '.' {
+ _ = buf.WriteByte('.')
+ i++
+ } else if value[i] == prefix || value[i] == '`' {
+ // Has quotes; skip/normalize `name` to prefix+name+sufix
+ var ch byte
+ if value[i] == prefix {
+ ch = suffix
} else {
+ ch = '`'
+ }
+ i++
+ _ = buf.WriteByte(prefix)
+ for ; i < len(value) && value[i] != ch; i++ {
+ _ = buf.WriteByte(value[i])
+ }
+ _ = buf.WriteByte(suffix)
+ i++
+ } else {
+ // Requires quotes
+ _ = buf.WriteByte(prefix)
+ for ; i < len(value) && value[i] != '.'; i++ {
_ = buf.WriteByte(value[i])
}
+ _ = buf.WriteByte(suffix)
}
- _ = buf.WriteByte(suffix)
}
}
@@ -330,7 +351,7 @@ func (engine *Engine) Ping() error {
return session.Ping()
}
-// logging sql
+// logSQL save sql
func (engine *Engine) logSQL(sqlStr string, sqlArgs ...interface{}) {
if engine.showSQL && !engine.showExecTime {
if len(sqlArgs) > 0 {
diff --git a/vendor/xorm.io/xorm/session.go b/vendor/xorm.io/xorm/session.go
index b33955fdce..8307193550 100644
--- a/vendor/xorm.io/xorm/session.go
+++ b/vendor/xorm.io/xorm/session.go
@@ -57,6 +57,7 @@ type Session struct {
//beforeSQLExec func(string, ...interface{})
lastSQL string
lastSQLArgs []interface{}
+ showSQL bool
ctx context.Context
sessionType sessionType
@@ -72,6 +73,7 @@ func (session *Session) Clone() *Session {
func (session *Session) Init() {
session.statement.Init()
session.statement.Engine = session.engine
+ session.showSQL = session.engine.showSQL
session.isAutoCommit = true
session.isCommitedOrRollbacked = false
session.isAutoClose = false
@@ -226,6 +228,16 @@ func (session *Session) Cascade(trueOrFalse ...bool) *Session {
return session
}
+// MustLogSQL means record SQL or not and don't follow engine's setting
+func (session *Session) MustLogSQL(log ...bool) *Session {
+ if len(log) > 0 {
+ session.showSQL = log[0]
+ } else {
+ session.showSQL = true
+ }
+ return session
+}
+
// NoCache ask this session do not retrieve data from cache system and
// get data from database directly.
func (session *Session) NoCache() *Session {
@@ -842,7 +854,17 @@ func (session *Session) slice2Bean(scanResults []interface{}, fields []string, b
func (session *Session) saveLastSQL(sql string, args ...interface{}) {
session.lastSQL = sql
session.lastSQLArgs = args
- session.engine.logSQL(sql, args...)
+ session.logSQL(sql, args...)
+}
+
+func (session *Session) logSQL(sqlStr string, sqlArgs ...interface{}) {
+ if session.showSQL && !session.engine.showExecTime {
+ if len(sqlArgs) > 0 {
+ session.engine.logger.Infof("[SQL] %v %#v", sqlStr, sqlArgs)
+ } else {
+ session.engine.logger.Infof("[SQL] %v", sqlStr)
+ }
+ }
}
// LastSQL returns last query information
diff --git a/vendor/xorm.io/xorm/session_raw.go b/vendor/xorm.io/xorm/session_raw.go
index 67648ef130..a929829670 100644
--- a/vendor/xorm.io/xorm/session_raw.go
+++ b/vendor/xorm.io/xorm/session_raw.go
@@ -27,7 +27,9 @@ func (session *Session) queryRows(sqlStr string, args ...interface{}) (*core.Row
session.queryPreprocess(&sqlStr, args...)
- if session.engine.showSQL {
+ if session.showSQL {
+ session.lastSQL = sqlStr
+ session.lastSQLArgs = args
if session.engine.showExecTime {
b4ExecTime := time.Now()
defer func() {
diff --git a/vendor/xorm.io/xorm/session_update.go b/vendor/xorm.io/xorm/session_update.go
index c5c65a452a..231163e063 100644
--- a/vendor/xorm.io/xorm/session_update.go
+++ b/vendor/xorm.io/xorm/session_update.go
@@ -377,10 +377,23 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
return 0, errors.New("No content found to be updated")
}
- sqlStr = fmt.Sprintf("UPDATE %v%v SET %v %v",
+ var tableAlias = session.engine.Quote(tableName)
+ var fromSQL string
+ if session.statement.TableAlias != "" {
+ switch session.engine.dialect.DBType() {
+ case core.MSSQL:
+ fromSQL = fmt.Sprintf("FROM %s %s ", tableAlias, session.statement.TableAlias)
+ tableAlias = session.statement.TableAlias
+ default:
+ tableAlias = fmt.Sprintf("%s AS %s", tableAlias, session.statement.TableAlias)
+ }
+ }
+
+ sqlStr = fmt.Sprintf("UPDATE %v%v SET %v %v%v",
top,
- session.engine.Quote(tableName),
+ tableAlias,
strings.Join(colNames, ", "),
+ fromSQL,
condSQL)
res, err := session.exec(sqlStr, append(args, condArgs...)...)