mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-10 01:05:14 +00:00
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
This commit is contained in:
parent
3b4682e172
commit
6d811bcb14
2
go.mod
2
go.mod
|
@ -111,5 +111,5 @@ require (
|
||||||
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251
|
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251
|
||||||
xorm.io/builder v0.3.6
|
xorm.io/builder v0.3.6
|
||||||
xorm.io/core v0.7.2
|
xorm.io/core v0.7.2
|
||||||
xorm.io/xorm v0.8.0
|
xorm.io/xorm v0.8.1
|
||||||
)
|
)
|
||||||
|
|
2
go.sum
2
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/core v0.7.2/go.mod h1:jJfd0UAEzZ4t87nbQYtVjmqpIODugN6PD2D9E+dJvdM=
|
||||||
xorm.io/xorm v0.8.0 h1:iALxgJrX8O00f8Jk22GbZwPmxJNgssV5Mv4uc2HL9PM=
|
xorm.io/xorm v0.8.0 h1:iALxgJrX8O00f8Jk22GbZwPmxJNgssV5Mv4uc2HL9PM=
|
||||||
xorm.io/xorm v0.8.0/go.mod h1:ZkJLEYLoVyg7amJK/5r779bHyzs2AU8f8VMiP6BM7uY=
|
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=
|
||||||
|
|
|
@ -26,7 +26,6 @@ func TestAPIIssuesReactions(t *testing.T) {
|
||||||
session := loginUser(t, owner.Name)
|
session := loginUser(t, owner.Name)
|
||||||
token := getTokenForLoggedInUser(t, session)
|
token := getTokenForLoggedInUser(t, session)
|
||||||
|
|
||||||
user1 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User)
|
|
||||||
user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*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",
|
urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/reactions?token=%s",
|
||||||
owner.Name, issue.Repo.Name, issue.Index, token)
|
owner.Name, issue.Repo.Name, issue.Index, token)
|
||||||
|
@ -61,17 +60,12 @@ func TestAPIIssuesReactions(t *testing.T) {
|
||||||
DecodeJSON(t, resp, &apiReactions)
|
DecodeJSON(t, resp, &apiReactions)
|
||||||
expectResponse := make(map[int]api.ReactionResponse)
|
expectResponse := make(map[int]api.ReactionResponse)
|
||||||
expectResponse[0] = api.ReactionResponse{
|
expectResponse[0] = api.ReactionResponse{
|
||||||
User: user1.APIFormat(),
|
|
||||||
Reaction: "zzz",
|
|
||||||
Created: time.Unix(1573248002, 0),
|
|
||||||
}
|
|
||||||
expectResponse[1] = api.ReactionResponse{
|
|
||||||
User: user2.APIFormat(),
|
User: user2.APIFormat(),
|
||||||
Reaction: "eyes",
|
Reaction: "eyes",
|
||||||
Created: time.Unix(1573248003, 0),
|
Created: time.Unix(1573248003, 0),
|
||||||
}
|
}
|
||||||
expectResponse[2] = apiNewReaction
|
expectResponse[1] = apiNewReaction
|
||||||
assert.Len(t, apiReactions, 3)
|
assert.Len(t, apiReactions, 2)
|
||||||
for i, r := range apiReactions {
|
for i, r := range apiReactions {
|
||||||
assert.Equal(t, expectResponse[i].Reaction, r.Reaction)
|
assert.Equal(t, expectResponse[i].Reaction, r.Reaction)
|
||||||
assert.Equal(t, expectResponse[i].Created.Unix(), r.Created.Unix())
|
assert.Equal(t, expectResponse[i].Created.Unix(), r.Created.Unix())
|
||||||
|
|
|
@ -69,6 +69,7 @@ func findReactions(e Engine, opts FindReactionsOptions) ([]*Reaction, error) {
|
||||||
reactions := make([]*Reaction, 0, 10)
|
reactions := make([]*Reaction, 0, 10)
|
||||||
sess := e.Where(opts.toConds())
|
sess := e.Where(opts.toConds())
|
||||||
return reactions, sess.
|
return reactions, sess.
|
||||||
|
In("reaction.`type`", setting.UI.Reactions).
|
||||||
Asc("reaction.issue_id", "reaction.comment_id", "reaction.created_unix", "reaction.id").
|
Asc("reaction.issue_id", "reaction.comment_id", "reaction.created_unix", "reaction.id").
|
||||||
Find(&reactions)
|
Find(&reactions)
|
||||||
}
|
}
|
||||||
|
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
|
@ -609,5 +609,5 @@ strk.kbt.io/projects/go/libravatar
|
||||||
xorm.io/builder
|
xorm.io/builder
|
||||||
# xorm.io/core v0.7.2
|
# xorm.io/core v0.7.2
|
||||||
xorm.io/core
|
xorm.io/core
|
||||||
# xorm.io/xorm v0.8.0
|
# xorm.io/xorm v0.8.1
|
||||||
xorm.io/xorm
|
xorm.io/xorm
|
||||||
|
|
527
vendor/xorm.io/xorm/.drone.yml
generated
vendored
527
vendor/xorm.io/xorm/.drone.yml
generated
vendored
|
@ -1,11 +1,6 @@
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: matrix-1
|
name: go1.10-test
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
workspace:
|
workspace:
|
||||||
base: /go
|
base: /go
|
||||||
path: src/gitea.com/xorm/xorm
|
path: src/gitea.com/xorm/xorm
|
||||||
|
@ -15,9 +10,7 @@ steps:
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
commands:
|
commands:
|
||||||
- go get -t -d -v ./...
|
- go get -t -d -v
|
||||||
- go get -u xorm.io/core
|
|
||||||
- go get -u xorm.io/builder
|
|
||||||
- go build -v
|
- go build -v
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
|
@ -27,8 +20,9 @@ steps:
|
||||||
- name: test-sqlite
|
- name: test-sqlite
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
commands:
|
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\" -coverprofile=coverage1-1.txt -covermode=atomic"
|
||||||
- "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic"
|
- "go test -v -race -db=\"sqlite3\" -conn_str=\"./test.db\" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic"
|
||||||
when:
|
when:
|
||||||
|
@ -39,6 +33,8 @@ steps:
|
||||||
- name: test-mysql
|
- name: test-mysql
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
commands:
|
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\" -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"
|
- "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
|
- name: test-mysql-utf8mb4
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- test-mysql
|
||||||
commands:
|
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\" -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"
|
- "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
|
- name: test-mymysql
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- test-mysql-utf8mb4
|
||||||
commands:
|
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/\" -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"
|
- "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
|
- name: test-postgres
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
commands:
|
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\" -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"
|
- "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
|
- name: test-postgres-schema
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
commands:
|
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 -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"
|
- "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
|
- name: test-mssql
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
commands:
|
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\" -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"
|
- "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,10 +111,30 @@ steps:
|
||||||
- name: test-tidb
|
- name: test-tidb
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.10
|
image: golang:1.10
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
commands:
|
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 -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 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
|
||||||
|
|
||||||
|
- name: test-end
|
||||||
|
pull: default
|
||||||
|
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:
|
||||||
|
- echo "go1.10 build end"
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
@ -127,15 +153,6 @@ services:
|
||||||
- tag
|
- tag
|
||||||
- pull_request
|
- pull_request
|
||||||
|
|
||||||
- name: tidb
|
|
||||||
pull: default
|
|
||||||
image: pingcap/tidb:v3.0.3
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- tag
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: pgsql
|
- name: pgsql
|
||||||
pull: default
|
pull: default
|
||||||
image: postgres:9.5
|
image: postgres:9.5
|
||||||
|
@ -161,175 +178,6 @@ services:
|
||||||
- tag
|
- tag
|
||||||
- pull_request
|
- 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
|
|
||||||
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"
|
|
||||||
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
|
- name: tidb
|
||||||
pull: default
|
pull: default
|
||||||
image: pingcap/tidb:v3.0.3
|
image: pingcap/tidb:v3.0.3
|
||||||
|
@ -339,264 +187,11 @@ services:
|
||||||
- tag
|
- tag
|
||||||
- pull_request
|
- 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
|
kind: pipeline
|
||||||
name: matrix-3
|
name: go1.13-test
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
base: /go
|
|
||||||
path: src/gitea.com/xorm/xorm
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: build
|
- 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
|
|
||||||
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: go1.13
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
base: /go
|
|
||||||
path: src/gitea.com/xorm/xorm
|
|
||||||
|
|
||||||
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
|
pull: default
|
||||||
image: golang:1.13
|
image: golang:1.13
|
||||||
environment:
|
environment:
|
||||||
|
@ -604,6 +199,7 @@ steps:
|
||||||
GOPROXY: "https://goproxy.cn"
|
GOPROXY: "https://goproxy.cn"
|
||||||
commands:
|
commands:
|
||||||
- go build -v
|
- go build -v
|
||||||
|
- go vet
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
@ -640,6 +236,8 @@ steps:
|
||||||
- name: test-mysql-utf8mb4
|
- name: test-mysql-utf8mb4
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.13
|
image: golang:1.13
|
||||||
|
depends_on:
|
||||||
|
- test-mysql
|
||||||
environment:
|
environment:
|
||||||
GO111MODULE: "on"
|
GO111MODULE: "on"
|
||||||
GOPROXY: "https://goproxy.cn"
|
GOPROXY: "https://goproxy.cn"
|
||||||
|
@ -654,6 +252,8 @@ steps:
|
||||||
- name: test-mymysql
|
- name: test-mymysql
|
||||||
pull: default
|
pull: default
|
||||||
image: golang:1.13
|
image: golang:1.13
|
||||||
|
depends_on:
|
||||||
|
- test-mysql-utf8mb4
|
||||||
environment:
|
environment:
|
||||||
GO111MODULE: "on"
|
GO111MODULE: "on"
|
||||||
GOPROXY: "https://goproxy.cn"
|
GOPROXY: "https://goproxy.cn"
|
||||||
|
@ -716,6 +316,28 @@ steps:
|
||||||
commands:
|
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 -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 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
|
- 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
|
- 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:
|
when:
|
||||||
|
@ -724,6 +346,7 @@ steps:
|
||||||
- pull_request
|
- pull_request
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
- name: mysql
|
- name: mysql
|
||||||
pull: default
|
pull: default
|
||||||
image: mysql:5.7
|
image: mysql:5.7
|
||||||
|
@ -736,15 +359,6 @@ services:
|
||||||
- tag
|
- tag
|
||||||
- pull_request
|
- pull_request
|
||||||
|
|
||||||
- name: tidb
|
|
||||||
pull: default
|
|
||||||
image: pingcap/tidb:v3.0.3
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- tag
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: pgsql
|
- name: pgsql
|
||||||
pull: default
|
pull: default
|
||||||
image: postgres:9.5
|
image: postgres:9.5
|
||||||
|
@ -764,6 +378,15 @@ services:
|
||||||
ACCEPT_EULA: Y
|
ACCEPT_EULA: Y
|
||||||
SA_PASSWORD: yourStrong(!)Password
|
SA_PASSWORD: yourStrong(!)Password
|
||||||
MSSQL_PID: Developer
|
MSSQL_PID: Developer
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: tidb
|
||||||
|
pull: default
|
||||||
|
image: pingcap/tidb:v3.0.3
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
45
vendor/xorm.io/xorm/engine.go
generated
vendored
45
vendor/xorm.io/xorm/engine.go
generated
vendored
|
@ -207,25 +207,46 @@ func (engine *Engine) QuoteTo(buf *strings.Builder, value string) {
|
||||||
return
|
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)
|
_, _ = buf.WriteString(value)
|
||||||
return
|
return
|
||||||
} else {
|
}
|
||||||
prefix, suffix := quotePair[0], quotePair[1]
|
|
||||||
|
prefix, suffix := quotePair[0], quotePair[1]
|
||||||
|
|
||||||
_ = buf.WriteByte(prefix)
|
i := 0
|
||||||
for i := 0; i < len(value); i++ {
|
for i < len(value) {
|
||||||
if value[i] == '.' {
|
// start of a token; might be already quoted
|
||||||
_ = buf.WriteByte(suffix)
|
if value[i] == '.' {
|
||||||
_ = buf.WriteByte('.')
|
_ = buf.WriteByte('.')
|
||||||
_ = buf.WriteByte(prefix)
|
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 {
|
} else {
|
||||||
|
ch = '`'
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
_ = buf.WriteByte(prefix)
|
||||||
|
for ; i < len(value) && value[i] != ch; i++ {
|
||||||
_ = buf.WriteByte(value[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()
|
return session.Ping()
|
||||||
}
|
}
|
||||||
|
|
||||||
// logging sql
|
// logSQL save sql
|
||||||
func (engine *Engine) logSQL(sqlStr string, sqlArgs ...interface{}) {
|
func (engine *Engine) logSQL(sqlStr string, sqlArgs ...interface{}) {
|
||||||
if engine.showSQL && !engine.showExecTime {
|
if engine.showSQL && !engine.showExecTime {
|
||||||
if len(sqlArgs) > 0 {
|
if len(sqlArgs) > 0 {
|
||||||
|
|
24
vendor/xorm.io/xorm/session.go
generated
vendored
24
vendor/xorm.io/xorm/session.go
generated
vendored
|
@ -57,6 +57,7 @@ type Session struct {
|
||||||
//beforeSQLExec func(string, ...interface{})
|
//beforeSQLExec func(string, ...interface{})
|
||||||
lastSQL string
|
lastSQL string
|
||||||
lastSQLArgs []interface{}
|
lastSQLArgs []interface{}
|
||||||
|
showSQL bool
|
||||||
|
|
||||||
ctx context.Context
|
ctx context.Context
|
||||||
sessionType sessionType
|
sessionType sessionType
|
||||||
|
@ -72,6 +73,7 @@ func (session *Session) Clone() *Session {
|
||||||
func (session *Session) Init() {
|
func (session *Session) Init() {
|
||||||
session.statement.Init()
|
session.statement.Init()
|
||||||
session.statement.Engine = session.engine
|
session.statement.Engine = session.engine
|
||||||
|
session.showSQL = session.engine.showSQL
|
||||||
session.isAutoCommit = true
|
session.isAutoCommit = true
|
||||||
session.isCommitedOrRollbacked = false
|
session.isCommitedOrRollbacked = false
|
||||||
session.isAutoClose = false
|
session.isAutoClose = false
|
||||||
|
@ -226,6 +228,16 @@ func (session *Session) Cascade(trueOrFalse ...bool) *Session {
|
||||||
return 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
|
// NoCache ask this session do not retrieve data from cache system and
|
||||||
// get data from database directly.
|
// get data from database directly.
|
||||||
func (session *Session) NoCache() *Session {
|
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{}) {
|
func (session *Session) saveLastSQL(sql string, args ...interface{}) {
|
||||||
session.lastSQL = sql
|
session.lastSQL = sql
|
||||||
session.lastSQLArgs = args
|
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
|
// LastSQL returns last query information
|
||||||
|
|
4
vendor/xorm.io/xorm/session_raw.go
generated
vendored
4
vendor/xorm.io/xorm/session_raw.go
generated
vendored
|
@ -27,7 +27,9 @@ func (session *Session) queryRows(sqlStr string, args ...interface{}) (*core.Row
|
||||||
|
|
||||||
session.queryPreprocess(&sqlStr, args...)
|
session.queryPreprocess(&sqlStr, args...)
|
||||||
|
|
||||||
if session.engine.showSQL {
|
if session.showSQL {
|
||||||
|
session.lastSQL = sqlStr
|
||||||
|
session.lastSQLArgs = args
|
||||||
if session.engine.showExecTime {
|
if session.engine.showExecTime {
|
||||||
b4ExecTime := time.Now()
|
b4ExecTime := time.Now()
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|
17
vendor/xorm.io/xorm/session_update.go
generated
vendored
17
vendor/xorm.io/xorm/session_update.go
generated
vendored
|
@ -377,10 +377,23 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
|
||||||
return 0, errors.New("No content found to be updated")
|
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,
|
top,
|
||||||
session.engine.Quote(tableName),
|
tableAlias,
|
||||||
strings.Join(colNames, ", "),
|
strings.Join(colNames, ", "),
|
||||||
|
fromSQL,
|
||||||
condSQL)
|
condSQL)
|
||||||
|
|
||||||
res, err := session.exec(sqlStr, append(args, condArgs...)...)
|
res, err := session.exec(sqlStr, append(args, condArgs...)...)
|
||||||
|
|
Loading…
Reference in a new issue