From a3e2e73b6597ec6b2a35d50fb3a6afc02a542146 Mon Sep 17 00:00:00 2001 From: TossPig Date: Wed, 2 Sep 2015 04:16:03 +0800 Subject: [PATCH 1/4] PG connection URIs http://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING --- pq_driver.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pq_driver.go b/pq_driver.go index d86c97bb..f665bed5 100644 --- a/pq_driver.go +++ b/pq_driver.go @@ -41,7 +41,7 @@ func parseURL(connstr string) (string, error) { return "", err } - if u.Scheme != "postgres" { + if u.Scheme != "postgresql" { return "", fmt.Errorf("invalid connection protocol: %s", u.Scheme) } @@ -103,7 +103,7 @@ func (p *pqDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { db := &core.Uri{DbType: core.POSTGRES} o := make(values) var err error - if strings.HasPrefix(dataSourceName, "postgres://") { + if strings.HasPrefix(dataSourceName, "postgresql://") { dataSourceName, err = parseURL(dataSourceName) if err != nil { return nil, err From 1aa62881bb4301b039391afc326744fdeac23497 Mon Sep 17 00:00:00 2001 From: TossPig Date: Thu, 26 Nov 2015 16:47:40 +0800 Subject: [PATCH 2/4] CONNSTRING MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 同时兼容 postgresql和postgres --- pq_driver.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pq_driver.go b/pq_driver.go index f665bed5..a4e26975 100644 --- a/pq_driver.go +++ b/pq_driver.go @@ -41,7 +41,7 @@ func parseURL(connstr string) (string, error) { return "", err } - if u.Scheme != "postgresql" { + if u.Scheme != "postgresql" && u.Scheme != "postgres" { return "", fmt.Errorf("invalid connection protocol: %s", u.Scheme) } @@ -103,7 +103,7 @@ func (p *pqDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { db := &core.Uri{DbType: core.POSTGRES} o := make(values) var err error - if strings.HasPrefix(dataSourceName, "postgresql://") { + if strings.HasPrefix(dataSourceName, "postgresql://") || strings.HasPrefix(dataSourceName, "postgres://") { dataSourceName, err = parseURL(dataSourceName) if err != nil { return nil, err From 1c77c0aa097b52b61b928ac372b382e4ff06603c Mon Sep 17 00:00:00 2001 From: TossPig Date: Thu, 26 Nov 2015 16:49:12 +0800 Subject: [PATCH 3/4] fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复一个判断错误 --- pq_driver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pq_driver.go b/pq_driver.go index a4e26975..98fd62d8 100644 --- a/pq_driver.go +++ b/pq_driver.go @@ -41,7 +41,7 @@ func parseURL(connstr string) (string, error) { return "", err } - if u.Scheme != "postgresql" && u.Scheme != "postgres" { + if u.Scheme != "postgresql" || u.Scheme != "postgres" { return "", fmt.Errorf("invalid connection protocol: %s", u.Scheme) } From 4153efc97ee62f7f6a7ec78ae487a7b96f8594b9 Mon Sep 17 00:00:00 2001 From: TossPig Date: Thu, 26 Nov 2015 19:04:38 +0800 Subject: [PATCH 4/4] Update pq_driver.go fix --- pq_driver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pq_driver.go b/pq_driver.go index 98fd62d8..a4e26975 100644 --- a/pq_driver.go +++ b/pq_driver.go @@ -41,7 +41,7 @@ func parseURL(connstr string) (string, error) { return "", err } - if u.Scheme != "postgresql" || u.Scheme != "postgres" { + if u.Scheme != "postgresql" && u.Scheme != "postgres" { return "", fmt.Errorf("invalid connection protocol: %s", u.Scheme) }