diff --git a/README.md b/README.md index 0820f3c..61007f8 100644 --- a/README.md +++ b/README.md @@ -266,6 +266,36 @@ func main() { ) } } +``` +Use with [DataDog trace](https://pkg.go.dev/gopkg.in/DataDog/dd-trace-go.v1/contrib/database/sql) +```go +package main + +import ( + "log" + + sqltrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/database/sql" + + clickhouse "github.com/mailru/go-clickhouse/v2" +) + +func main() { + // The first step is to register the clickhouse driver. + sqltrace.Register("chhttp", &clickhouse.Driver{}) + + // Followed by a call to Open. + db, err := sqltrace.Open("chhttp", "http://127.0.0.1:8123/default") + if err != nil { + log.Fatal(err) + } + + rows, err := db.Query("SELECT name FROM users WHERE age=?", 27) + if err != nil { + log.Fatal(err) + } + defer rows.Close() +} + ``` ## Go versions diff --git a/clickhouse.go b/clickhouse.go index c39f355..059c9cb 100644 --- a/clickhouse.go +++ b/clickhouse.go @@ -6,15 +6,15 @@ import ( ) func init() { - sql.Register("chhttp", new(chDriver)) + sql.Register("chhttp", new(Driver)) } -// chDriver implements sql.Driver interface -type chDriver struct { +// Driver implements sql.Driver interface +type Driver struct { } // Open returns new db connection -func (d *chDriver) Open(dsn string) (driver.Conn, error) { +func (d *Driver) Open(dsn string) (driver.Conn, error) { cfg, err := ParseDSN(dsn) if err != nil { return nil, err diff --git a/clickhouse_test.go b/clickhouse_test.go index 7e5b3a6..bfd1be3 100644 --- a/clickhouse_test.go +++ b/clickhouse_test.go @@ -12,7 +12,7 @@ import ( ) var ( - _ driver.Driver = new(chDriver) + _ driver.Driver = new(Driver) ) var ddls = []string{