From f9a9b5a9058e218818dbef2de114c270a82d12a4 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Mon, 8 Sep 2014 17:56:55 +0800 Subject: [PATCH] new query builder based on driver --- orm/qb.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/orm/qb.go b/orm/qb.go index 8869a68c..c85902b3 100644 --- a/orm/qb.go +++ b/orm/qb.go @@ -14,6 +14,8 @@ package orm +import "errors" + type QueryBuilder interface { Select(fields ...string) QueryWriter From(tables ...string) QueryWriter @@ -29,7 +31,15 @@ type QueryBuilder interface { String() string } -func NewQueryBuilder() (qb QueryBuilder) { - qb = new(MySQLQueryBuilder) +func NewQueryBuilder(driver string) (qb QueryBuilder, err error) { + if driver == "mysql" { + qb = new(MySQLQueryBuilder) + } else if driver == "postgres" { + err = errors.New("postgres querybuilder is not supported yet!") + } else if driver == "sqlite" { + err = errors.New("sqlite querybuilder is not supported yet!") + } else { + err = errors.New("unknown driver for query builder!") + } return }