parent
							
								
									cff7845e58
								
							
						
					
					
						commit
						b8f33a42a4
					
				
							
								
								
									
										4
									
								
								.github/workflows/reviewdog.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/reviewdog.yml
									
									
									
									
										vendored
									
									
								
							| @ -6,6 +6,8 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Check out code into the Go module directory |       - name: Check out code into the Go module directory | ||||||
|         uses: actions/checkout@v1 |         uses: actions/checkout@v2 | ||||||
|       - name: golangci-lint |       - name: golangci-lint | ||||||
|         uses: reviewdog/action-golangci-lint@v2 |         uses: reviewdog/action-golangci-lint@v2 | ||||||
|  |         with: | ||||||
|  |           golangci_lint_flags: '-E cyclop,unconvert,misspell,unparam,ineffassign,gocritic,prealloc,exportloopref,gosec' | ||||||
|  | |||||||
| @ -67,6 +67,12 @@ func (expr Expr) Build(builder Builder) { | |||||||
| 			builder.WriteByte(v) | 			builder.WriteByte(v) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	if idx < len(expr.Vars) { | ||||||
|  | 		for _, v := range expr.Vars[idx:] { | ||||||
|  | 			builder.AddVar(builder, sql.NamedArg{Value: v}) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // NamedExpr raw expression for named expr
 | // NamedExpr raw expression for named expr
 | ||||||
|  | |||||||
| @ -284,6 +284,11 @@ func (stmt *Statement) BuildCondition(query interface{}, args ...interface{}) [] | |||||||
| 				return []clause.Expression{clause.NamedExpr{SQL: s, Vars: args}} | 				return []clause.Expression{clause.NamedExpr{SQL: s, Vars: args}} | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
|  | 			if strings.Contains(strings.TrimSpace(s), " ") { | ||||||
|  | 				// looks like a where condition
 | ||||||
|  | 				return []clause.Expression{clause.Expr{SQL: s, Vars: args}} | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
| 			if len(args) == 1 { | 			if len(args) == 1 { | ||||||
| 				return []clause.Expression{clause.Eq{Column: s, Value: args[0]}} | 				return []clause.Expression{clause.Eq{Column: s, Value: args[0]}} | ||||||
| 			} | 			} | ||||||
|  | |||||||
| @ -4,11 +4,13 @@ go 1.14 | |||||||
| 
 | 
 | ||||||
| require ( | require ( | ||||||
| 	github.com/google/uuid v1.3.0 | 	github.com/google/uuid v1.3.0 | ||||||
|  | 	github.com/jackc/pgx/v4 v4.14.0 // indirect | ||||||
| 	github.com/jinzhu/now v1.1.3 | 	github.com/jinzhu/now v1.1.3 | ||||||
| 	github.com/lib/pq v1.10.4 | 	github.com/lib/pq v1.10.4 | ||||||
|  | 	golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 // indirect | ||||||
| 	gorm.io/driver/mysql v1.2.0 | 	gorm.io/driver/mysql v1.2.0 | ||||||
| 	gorm.io/driver/postgres v1.2.2 | 	gorm.io/driver/postgres v1.2.2 | ||||||
| 	gorm.io/driver/sqlite v1.2.4 | 	gorm.io/driver/sqlite v1.2.6 | ||||||
| 	gorm.io/driver/sqlserver v1.2.1 | 	gorm.io/driver/sqlserver v1.2.1 | ||||||
| 	gorm.io/gorm v1.22.3 | 	gorm.io/gorm v1.22.3 | ||||||
| ) | ) | ||||||
|  | |||||||
| @ -44,6 +44,10 @@ func TestPostgres(t *testing.T) { | |||||||
| 	if err := DB.First(&result, "id = ?", harumph.ID).Error; err != nil || harumph.Name != "jinzhu" { | 	if err := DB.First(&result, "id = ?", harumph.ID).Error; err != nil || harumph.Name != "jinzhu" { | ||||||
| 		t.Errorf("No error should happen, but got %v", err) | 		t.Errorf("No error should happen, but got %v", err) | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := DB.Where("id = $1", harumph.ID).First(&Harumph{}).Error; err != nil || harumph.Name != "jinzhu" { | ||||||
|  | 		t.Errorf("No error should happen, but got %v", err) | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type Post struct { | type Post struct { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user