new query builder based on driver
Showing
1 changed file
with
12 additions
and
2 deletions
| ... | @@ -14,6 +14,8 @@ | ... | @@ -14,6 +14,8 @@ |
| 14 | 14 | ||
| 15 | package orm | 15 | package orm |
| 16 | 16 | ||
| 17 | import "errors" | ||
| 18 | |||
| 17 | type QueryBuilder interface { | 19 | type QueryBuilder interface { |
| 18 | Select(fields ...string) QueryWriter | 20 | Select(fields ...string) QueryWriter |
| 19 | From(tables ...string) QueryWriter | 21 | From(tables ...string) QueryWriter |
| ... | @@ -29,7 +31,15 @@ type QueryBuilder interface { | ... | @@ -29,7 +31,15 @@ type QueryBuilder interface { |
| 29 | String() string | 31 | String() string |
| 30 | } | 32 | } |
| 31 | 33 | ||
| 32 | func NewQueryBuilder() (qb QueryBuilder) { | 34 | func NewQueryBuilder(driver string) (qb QueryBuilder, err error) { |
| 33 | qb = new(MySQLQueryBuilder) | 35 | if driver == "mysql" { |
| 36 | qb = new(MySQLQueryBuilder) | ||
| 37 | } else if driver == "postgres" { | ||
| 38 | err = errors.New("postgres querybuilder is not supported yet!") | ||
| 39 | } else if driver == "sqlite" { | ||
| 40 | err = errors.New("sqlite querybuilder is not supported yet!") | ||
| 41 | } else { | ||
| 42 | err = errors.New("unknown driver for query builder!") | ||
| 43 | } | ||
| 34 | return | 44 | return |
| 35 | } | 45 | } | ... | ... |
-
Please register or sign in to post a comment