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
					
				
					 10 changed files with 156 additions and 478 deletions
				
			
		
							
								
								
									
										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…
	
	Add table
		Add a link
		
	
		Reference in a new issue