From 5422f3c8fc0f4c50532d8cd6c28b6ffd1a53e631 Mon Sep 17 00:00:00 2001 From: Muhammad Surya Date: Sat, 13 Mar 2021 17:35:33 +0900 Subject: [PATCH] Better example --- .tool-versions | 1 + README.md | 32 +++++++++++++++++++++++++------- connection_adapter.go | 2 +- example_test.go | 23 +++++++++++++++++++++++ go.mod | 2 +- go.sum | 33 ++++++++++++--------------------- mssql.go | 10 ---------- mssql_test.go | 2 +- 8 files changed, 64 insertions(+), 41 deletions(-) create mode 100644 .tool-versions create mode 100644 example_test.go diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..9f117be --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +golang 1.16 diff --git a/README.md b/README.md index 6c2f7b5..5ea49f0 100644 --- a/README.md +++ b/README.md @@ -8,18 +8,36 @@ Microsoft SQL Server adapter for REL. ## Example + ```go -// open mssql connection. -adapter, err := mssql.Open("sqlserver://sa:REL2021-mssql@localhost:1433?database=rel") -if err != nil { - panic(err) +package main + +import ( + "context" + + _ "github.com/denisenkom/go-mssqldb" + "github.com/go-rel/mssql" + "github.com/go-rel/rel" +) + +func main() { + // open mssql connection. + adapter, err := mssql.Open("sqlserver://sa:REL2021-mssql@localhost:1433?database=rel") + if err != nil { + panic(err) + } + defer adapter.Close() + + // initialize REL's repo. + repo := rel.New(adapter) + repo.Ping(context.TODO()) } -defer adapter.Close() -// initialize REL's repo. -repo := rel.New(adapter) ``` +## Supported Driver + +- github.com/denisenkom/go-mssqldb ## Supported Database diff --git a/connection_adapter.go b/connection_adapter.go index ccd8ceb..dd5f57f 100644 --- a/connection_adapter.go +++ b/connection_adapter.go @@ -131,7 +131,7 @@ func (ca ConnectionAdapter) Close() error { return ca.db.Close() } -// NewConnectionAdapter componet. +// NewConnectionAdapter components. func NewConnectionAdapter(instrumentationAdapter *InstrumentationAdapter, db *sql.DB, tx *sql.Tx, savepoint int, adapterFactory AdapterFactory) ConnectionAdapter { return ConnectionAdapter{ instrumentationAdapter: instrumentationAdapter, diff --git a/example_test.go b/example_test.go new file mode 100644 index 0000000..13dfcce --- /dev/null +++ b/example_test.go @@ -0,0 +1,23 @@ +package mssql_test + +import ( + "context" + "testing" + + _ "github.com/denisenkom/go-mssqldb" + "github.com/go-rel/mssql" + "github.com/go-rel/rel" +) + +func TestExample(t *testing.T) { + // open mssql connection. + adapter, err := mssql.Open("sqlserver://sa:REL2021-mssql@localhost:1433?database=rel") + if err != nil { + panic(err) + } + defer adapter.Close() + + // initialize REL's repo. + repo := rel.New(adapter) + repo.Ping(context.TODO()) +} diff --git a/go.mod b/go.mod index 7192a42..8e45e00 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/go-rel/mssql -go 1.14 +go 1.16 require ( github.com/denisenkom/go-mssqldb v0.9.0 diff --git a/go.sum b/go.sum index 7c85400..a76396a 100644 --- a/go.sum +++ b/go.sum @@ -4,17 +4,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/go-rel/rel v0.10.2 h1:SNPaMBe433v3nqLMhNWuvENG8686MmUGN/4PurjXKAY= -github.com/go-rel/rel v0.10.2/go.mod h1:buCqQ7fVotVXxj/XgRbMs9ojmFW5ICHf1mmTl7wcFTI= -github.com/go-rel/rel v0.10.3-0.20210306094353-40e33c7e9ddf h1:b2HRVjoZDAzxQzChvsi6StW5A2P/TmkaYVf6FbFkjuM= -github.com/go-rel/rel v0.10.3-0.20210306094353-40e33c7e9ddf/go.mod h1:XgnuQgSs6iSOQaZ+fp+uz4GdYsdyKcnAKkc0WhkXVJI= -github.com/go-rel/rel v0.10.3-0.20210306094639-121c2f8b6ab8 h1:VQmFP1UIU8bmEZzmSGx6g+cvULRFMVWFnTTjdYPM3nU= -github.com/go-rel/rel v0.10.3-0.20210306094639-121c2f8b6ab8/go.mod h1:XgnuQgSs6iSOQaZ+fp+uz4GdYsdyKcnAKkc0WhkXVJI= -github.com/go-rel/rel v0.10.3-0.20210306130411-4667bea2cb08 h1:PqAPte72zeREqn8W2WbPr2R5+L0hNZTXDhIPx8LaylQ= -github.com/go-rel/rel v0.10.3-0.20210306130411-4667bea2cb08/go.mod h1:XgnuQgSs6iSOQaZ+fp+uz4GdYsdyKcnAKkc0WhkXVJI= -github.com/go-rel/rel v0.10.3-0.20210306135938-df708fac774a h1:pIFxP1M1YA7E9lWwBKvF3X0nOKMdGkdH4mh1pyIir3s= -github.com/go-rel/rel v0.10.3-0.20210306135938-df708fac774a/go.mod h1:XgnuQgSs6iSOQaZ+fp+uz4GdYsdyKcnAKkc0WhkXVJI= github.com/go-rel/rel v0.11.0 h1:eDMn6HCM9rKjWRLrglbb4a5F2qMS+d6ZIsEjw9AT+JI= github.com/go-rel/rel v0.11.0/go.mod h1:XgnuQgSs6iSOQaZ+fp+uz4GdYsdyKcnAKkc0WhkXVJI= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -33,30 +24,27 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= +github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.15.0 h1:1V1NfVQR87RtWAgp1lv9JZJ5Jap+XFGKPi00andXGi4= github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.5 h1:7n6FEkpFmfCoo2t+YYqXH0evK+a9ICQz0xcAy9dYcaQ= github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516 h1:ofR1ZdrNSkiWcMsRrubK9tb2/SlZVWttAfqUjJi6QYc= -github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= github.com/serenize/snaker v0.0.0-20201027110005-a7ad2135616e h1:zWKUYT07mGmVBH+9UgnHXd/ekCK99C8EbDSAt5qsjXE= github.com/serenize/snaker v0.0.0-20201027110005-a7ad2135616e/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.3.0 h1:NGXK3lHquSN08v5vWalVI/L8XU9hdzE/G6xsrze47As= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= @@ -71,8 +59,8 @@ golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200927032502-5d4f70055728/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -84,11 +72,11 @@ golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091 h1:DMyOG0U+gKfu8JZzg2UQe9MeaC1X+xQWlAKcRnjxjCw= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -103,10 +91,13 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/mssql.go b/mssql.go index eb959d8..2a40e9b 100644 --- a/mssql.go +++ b/mssql.go @@ -1,14 +1,4 @@ // Package mssql wraps mssql driver as an adapter for REL. -// -// Usage: -// // open mssql connection. -// adapter, err := mssql.Open("sqlserver://sa:REL2021-mssql@localhost:1433?database=rel") -// if err != nil { -// panic(err) -// } -// defer adapter.Close() -// // initialize REL's repo. -// repo := rel.New(adapter) package mssql import ( diff --git a/mssql_test.go b/mssql_test.go index 1088700..3f120f3 100644 --- a/mssql_test.go +++ b/mssql_test.go @@ -86,7 +86,7 @@ func TestAdapter_specs(t *testing.T) { // Constraint specs // Unique and Foreign constraint is not fully supported. - // Because of driver bug, any error occured when inserting is treated as unique constraint error. + // Because of driver bug, any error occurred when inserting is treated as unique constraint error. // specs.UniqueConstraintOnUpdate(t, repo) specs.ForeignKeyConstraintOnUpdate(t, repo) specs.CheckConstraintOnUpdate(t, repo)