gorm/chainable_api_test.go
2021-07-19 17:02:13 +08:00

36 lines
906 B
Go

package gorm_test
import (
"gorm.io/gorm/callbacks"
"gorm.io/gorm/utils/tests"
"strings"
"testing"
"gorm.io/gorm"
)
func TestDB_Raw_Limit(t *testing.T) {
var (
t1 *gorm.DB
t2 *gorm.DB
t3 *gorm.DB
)
tx, _ := gorm.Open(
tests.DummyDialector{},
//&gorm.Config{Logger: logger.Default.LogMode(logger.Info)},
)
t1 = tx.Table("pod_events").Limit(1)
t2 = tx.Raw("SELECT * FROM `pod_events`").Limit(1)
t3 = tx.Raw("SELECT * FROM `pod_events` LIMIT 1").Limit(1)
t1.Statement.BuildClauses = []string{"SELECT", "FROM", "WHERE", "GROUP BY", "ORDER BY", "LIMIT", "FOR"}
callbacks.BuildQuerySQL(t1)
callbacks.BuildQuerySQL(t2)
callbacks.BuildQuerySQL(t3)
s1 := t1.Statement.SQL.String()
s2 := t2.Statement.SQL.String()
s3 := t3.Statement.SQL.String()
if !strings.EqualFold(s1, s2) || !strings.EqualFold(s1, s3) {
t.Errorf("s1 != s2 != s3\ns1 = %v\ns2 = %v\ns3 = %v\n", s1, s2, s3)
}
}