fix: limit(0).offset(0) return all data
				
					
				
			This commit is contained in:
		
							parent
							
								
									b444011d09
								
							
						
					
					
						commit
						0c769f86a2
					
				@ -33,7 +33,7 @@ func (limit Limit) MergeClause(clause *Clause) {
 | 
				
			|||||||
	clause.Name = ""
 | 
						clause.Name = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if v, ok := clause.Expression.(Limit); ok {
 | 
						if v, ok := clause.Expression.(Limit); ok {
 | 
				
			||||||
		if (limit.Limit == nil || *limit.Limit == 0) && (v.Limit != nil && *v.Limit != 0) {
 | 
							if (limit.Limit == nil || *limit.Limit == 0) && v.Limit != nil {
 | 
				
			||||||
			limit.Limit = v.Limit
 | 
								limit.Limit = v.Limit
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -28,6 +28,10 @@ func TestLimit(t *testing.T) {
 | 
				
			|||||||
			[]clause.Interface{clause.Select{}, clause.From{}, clause.Limit{Limit: &limit0}},
 | 
								[]clause.Interface{clause.Select{}, clause.From{}, clause.Limit{Limit: &limit0}},
 | 
				
			||||||
			"SELECT * FROM `users` LIMIT 0", nil,
 | 
								"SELECT * FROM `users` LIMIT 0", nil,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								[]clause.Interface{clause.Select{}, clause.From{}, clause.Limit{Limit: &limit0}, clause.Limit{Offset: 0}},
 | 
				
			||||||
 | 
								"SELECT * FROM `users` LIMIT 0", nil,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			[]clause.Interface{clause.Select{}, clause.From{}, clause.Limit{Offset: 20}},
 | 
								[]clause.Interface{clause.Select{}, clause.From{}, clause.Limit{Offset: 20}},
 | 
				
			||||||
			"SELECT * FROM `users` OFFSET 20", nil,
 | 
								"SELECT * FROM `users` OFFSET 20", nil,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user