dialect/sql: skip formatting qualified columns (#3469)

This commit is contained in:
Ariel Mashraki
2023-04-11 13:16:40 +03:00
committed by GitHub
parent da69615bd0
commit 36cd6a8a8b
2 changed files with 38 additions and 0 deletions

View File

@@ -2411,3 +2411,29 @@ func TestSelector_JoinedTableView(t *testing.T) {
require.True(t, ok)
require.Equal(t, "`t4`.`c`", t4.C("c"))
}
func TestSelector_Columns(t *testing.T) {
t.Run("MySQL", func(t *testing.T) {
s := Select("*").From(Table("users"))
require.Equal(t, []string{"`users`.`c`"}, s.Columns("c"))
// Already quoted.
require.Equal(t, []string{"`users`.`c`"}, s.Columns("`c`"))
t2 := Table("t2").As("t2")
s.Join(t2)
// Already quoted.
require.Equal(t, []string{"`t2`.`c1`"}, s.Columns(t2.C("c1")))
require.Equal(t, []string{"t2.c1"}, s.Columns("t2.c1"))
})
t.Run("Postgres", func(t *testing.T) {
b := Dialect(dialect.Postgres)
s := b.Select("*").From(Table("users"))
require.Equal(t, []string{`"users"."c"`}, s.Columns("c"))
// Already quoted.
require.Equal(t, []string{`"users"."c"`}, s.Columns(`"c"`))
t2 := b.Table("t2").As("t2")
s.Join(t2)
// Already quoted.
require.Equal(t, []string{`"t2"."c1"`}, s.Columns(t2.C("c1")))
require.Equal(t, []string{"t2.c1"}, s.Columns("t2.c1"))
})
}