github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/sqlparse/sqlparser/count_rewrite_test.go (about)

     1  package sqlparser
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestCountSqlx(t *testing.T) {
    10  	countParsed, _ := Parse(`select count(*)`)
    11  	parsed, err := Parse(`select a, b, c from t_mytable where a = ? order by b limit ?,?`)
    12  	assert.Nil(t, err)
    13  
    14  	selectQuery, ok := parsed.(*Select)
    15  	assert.True(t, ok)
    16  
    17  	selectQuery.SelectExprs = countParsed.(*Select).SelectExprs
    18  	selectQuery.OrderBy = nil
    19  	selectQuery.Having = nil
    20  	selectQuery.Limit = nil
    21  	assert.Equal(t, `select count(*) from t_mytable where a = ?`, String(selectQuery))
    22  }