Skip to content

Commit e7bb45c

Browse files
Vasily RodionovVasily Rodionov
authored andcommitted
new: flavor getters
1 parent be6fb8b commit e7bb45c

17 files changed

+178
-0
lines changed

createtable.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ func (ctb *CreateTableBuilder) SetFlavor(flavor Flavor) (old Flavor) {
158158
return
159159
}
160160

161+
func (ctb *CreateTableBuilder) GetFlavor() Flavor {
162+
return ctb.args.Flavor
163+
}
164+
161165
// Var returns a placeholder for value.
162166
func (ctb *CreateTableBuilder) Var(arg interface{}) string {
163167
return ctb.args.Add(arg)

createtable_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ package sqlbuilder
55

66
import (
77
"fmt"
8+
"testing"
9+
10+
"github.com/huandu/go-assert"
811
)
912

1013
func ExampleCreateTable() {
@@ -86,3 +89,17 @@ func ExampleCreateTableBuilder_NumDefine() {
8689
// Output:
8790
// 5
8891
}
92+
93+
func TestCreateTableGetFlavor(t *testing.T) {
94+
a := assert.New(t)
95+
ctb := newCreateTableBuilder()
96+
postgresFlavor := PostgreSQL
97+
clickhouseFlavor := ClickHouse
98+
ctb.SetFlavor(postgresFlavor)
99+
flavor := ctb.GetFlavor()
100+
a.Equal(postgresFlavor, flavor)
101+
102+
ctbClick := clickhouseFlavor.NewCreateTableBuilder()
103+
flavor = ctbClick.GetFlavor()
104+
a.Equal(clickhouseFlavor, flavor)
105+
}

cte.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ func (cteb *CTEBuilder) SetFlavor(flavor Flavor) (old Flavor) {
112112
return
113113
}
114114

115+
func (cteb *CTEBuilder) GetFlavor() Flavor {
116+
return cteb.args.Flavor
117+
}
118+
115119
// SQL adds an arbitrary sql to current position.
116120
func (cteb *CTEBuilder) SQL(sql string) *CTEBuilder {
117121
cteb.injection.SQL(cteb.marker, sql)

cte_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,31 @@ func TestRecursiveCTEBuilder(t *testing.T) {
130130
sql = ctetb.String()
131131
a.Equal(sql, "/* table init */ t (a, b) /* after table */ AS (SELECT a, b FROM t) /* after table as */")
132132
}
133+
134+
func TestCTEGetFlavor(t *testing.T) {
135+
a := assert.New(t)
136+
cteb := newCTEBuilder()
137+
postgresFlavor := PostgreSQL
138+
clickhouseFlavor := ClickHouse
139+
cteb.SetFlavor(postgresFlavor)
140+
flavor := cteb.GetFlavor()
141+
a.Equal(postgresFlavor, flavor)
142+
143+
ctebClick := clickhouseFlavor.NewCTEBuilder()
144+
flavor = ctebClick.GetFlavor()
145+
a.Equal(clickhouseFlavor, flavor)
146+
}
147+
148+
func TestCTEQueryBuilderGetFlavor(t *testing.T) {
149+
a := assert.New(t)
150+
ctetb := newCTEQueryBuilder()
151+
postgresFlavor := PostgreSQL
152+
clickhouseFlavor := ClickHouse
153+
ctetb.SetFlavor(postgresFlavor)
154+
flavor := ctetb.GetFlavor()
155+
a.Equal(postgresFlavor, flavor)
156+
157+
ctetbClick := clickhouseFlavor.NewCTEQueryBuilder()
158+
flavor = ctetbClick.GetFlavor()
159+
a.Equal(clickhouseFlavor, flavor)
160+
}

ctequery.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ func (ctetb *CTEQueryBuilder) SetFlavor(flavor Flavor) (old Flavor) {
124124
return
125125
}
126126

127+
func (ctetb *CTEQueryBuilder) GetFlavor() Flavor {
128+
return ctetb.args.Flavor
129+
}
130+
127131
// SQL adds an arbitrary sql to current position.
128132
func (ctetb *CTEQueryBuilder) SQL(sql string) *CTEQueryBuilder {
129133
ctetb.injection.SQL(ctetb.marker, sql)

delete.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,10 @@ func (db *DeleteBuilder) SetFlavor(flavor Flavor) (old Flavor) {
200200
return
201201
}
202202

203+
func (db *DeleteBuilder) GetFlavor() Flavor {
204+
return db.args.Flavor
205+
}
206+
203207
// SQL adds an arbitrary sql to current position.
204208
func (db *DeleteBuilder) SQL(sql string) *DeleteBuilder {
205209
db.injection.SQL(db.marker, sql)

delete_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ package sqlbuilder
55

66
import (
77
"fmt"
8+
"testing"
9+
10+
"github.com/huandu/go-assert"
811
)
912

1013
func ExampleDeleteFrom() {
@@ -80,3 +83,17 @@ func ExampleDeleteBuilder_With() {
8083
// Output:
8184
// WITH users AS (SELECT id, name FROM users WHERE name IS NULL) DELETE FROM orders WHERE users.id = orders.user_id
8285
}
86+
87+
func TestDeleteBuilderGetFlavor(t *testing.T) {
88+
a := assert.New(t)
89+
db := newDeleteBuilder()
90+
postgresFlavor := PostgreSQL
91+
clickhouseFlavor := ClickHouse
92+
db.SetFlavor(postgresFlavor)
93+
flavor := db.GetFlavor()
94+
a.Equal(postgresFlavor, flavor)
95+
96+
dbClick := clickhouseFlavor.NewDeleteBuilder()
97+
flavor = dbClick.GetFlavor()
98+
a.Equal(clickhouseFlavor, flavor)
99+
}

insert.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,10 @@ func (ib *InsertBuilder) SetFlavor(flavor Flavor) (old Flavor) {
213213
return
214214
}
215215

216+
func (ib *InsertBuilder) GetFlavor() Flavor {
217+
return ib.args.Flavor
218+
}
219+
216220
// Var returns a placeholder for value.
217221
func (ib *InsertBuilder) Var(arg interface{}) string {
218222
return ib.args.Add(arg)

insert_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ package sqlbuilder
55

66
import (
77
"fmt"
8+
"testing"
9+
10+
"github.com/huandu/go-assert"
811
)
912

1013
func ExampleInsertInto() {
@@ -241,3 +244,17 @@ func ExampleInsertBuilder_NumValue() {
241244
// Output:
242245
// 2
243246
}
247+
248+
func TestInsertBuilderGetFlavor(t *testing.T) {
249+
a := assert.New(t)
250+
ib := newInsertBuilder()
251+
postgresFlavor := PostgreSQL
252+
clickhouseFlavor := ClickHouse
253+
ib.SetFlavor(postgresFlavor)
254+
flavor := ib.GetFlavor()
255+
a.Equal(postgresFlavor, flavor)
256+
257+
ibClick := clickhouseFlavor.NewInsertBuilder()
258+
flavor = ibClick.GetFlavor()
259+
a.Equal(clickhouseFlavor, flavor)
260+
}

select.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,10 @@ func (sb *SelectBuilder) SetFlavor(flavor Flavor) (old Flavor) {
537537
return
538538
}
539539

540+
func (sb *SelectBuilder) GetFlavor() Flavor {
541+
return sb.args.Flavor
542+
}
543+
540544
// SQL adds an arbitrary sql to current position.
541545
func (sb *SelectBuilder) SQL(sql string) *SelectBuilder {
542546
sb.injection.SQL(sb.marker, sql)

0 commit comments

Comments
 (0)