Skip to content

Releases: ClickHouse/clickhouse-go

v2.37.2

23 Jun 23:31
Compare
Choose a tag to compare

What's Changed

Other Changes πŸ› 

Full Changelog: v2.37.1...v2.37.2

v2.37.1

17 Jun 07:36
Compare
Choose a tag to compare

What's Changed

Bug fixes πŸ›

  • Fix Native API HTTP bugs by @SpencerTorres in #1578
  • Fixed critical bug with the new HTTP Native API where connections were not being released.
  • Also fixed random HTTP 400 errors with large batches over HTTP

Full Changelog: v2.37.0...v2.37.1

v2.37.0

16 Jun 18:24
Compare
Choose a tag to compare

What's Changed

Enhancements πŸŽ‰

  • Scanning Datetime and Datetime64 into int64 by @vaibhav-kt in #1560
  • Supports scanning of Array, IPv4, IPv6, and Map types into Go values that implement the sql.Scanner interface. by @zapateo in #1570
  • Support HTTP connnections in Native Go interface by @SpencerTorres in #1577 (see details at bottom of release notes!)

Bug fixes πŸ›

  • fix: Prevent panic on slice map keys by @disq in #1567
  • object_json: split JSON tag to remove any trailing omitempty by @dschofie in #1547
  • fix: namedValue namedDatevalue usage error by @tosolveit in #1575
  • Fix false positives in TestInterfaceArray by @tosolveit in #1572

HTTP in ClickHouse API

This release includes a bug fix / enhancement for the "ClickHouse API" interface. Previously the only way to use HTTP was through the database/sql interface, but now you can use Protocol: clickhouse.HTTP in your clickhouse.Open options.
HTTP still has some limitations to be aware of for things like batch flushing and session context, so be cautious when switching over code to this protocol. Please report any issues you may have with this change. Native protocol shouldn't be affected, but you can downgrade to v2.36.x if you notice any issues.

New Contributors

Full Changelog: v2.36.0...v2.37.0

v2.36.0

03 Jun 20:42
Compare
Choose a tag to compare

What's Changed

Enhancements πŸŽ‰

The batch.Close() function was added to prevent connections from being leaked by the batch interface. In the previous API, it is possible that an early return (due to return err or some other cause) would cause the connection to be held until the connection timed out.

Here's an example of using this new function:

batch, err := conn.PrepareBatch(ctx, "INSERT INTO function null('x UInt64') VALUES (1)")
if err != nil { . . . }
// This defer call will make sure the batch is absolutely cleaned up before it falls out of scope.
defer batch.Close()

Users should update their code to call this new function. Depending on your insert logic you may be leaking connections if Send never gets called.

Full Changelog: v2.35.0...v2.36.0

v2.35.0

22 May 00:48
Compare
Choose a tag to compare

What's Changed

Enhancements πŸŽ‰

Full Changelog: v2.34.0...v2.35.0

v2.34.0

01 Apr 01:41
Compare
Choose a tag to compare

What's Changed

Enhancements πŸŽ‰

Bug fixes πŸ›

Other Changes πŸ› 

  • chore: replace github.com/pkg/errors with stdlib by @hazzik in #1530

New Contributors

Full Changelog: v2.33.1...v2.34.0

v2.33.1

18 Mar 17:23
Compare
Choose a tag to compare

What's Changed

Bug fixes πŸ›

Full Changelog: v2.33.0...v2.33.1

v2.33.0

07 Mar 00:02
Compare
Choose a tag to compare

What's Changed

Enhancements πŸŽ‰

  • Add handling for nested structs in named tuples by @Exca-DK in #1500
  • Add option to control MaxConnsPerHost for http.Transport by @holycheater in #1517

Bug fixes πŸ›

New Contributors

Full Changelog: v2.32.2...v2.33.0

v2.32.2

20 Feb 22:39
Compare
Choose a tag to compare

What's Changed

Bug Fixes πŸ›

Full Changelog: v2.32.1...v2.32.2

v2.32.1

17 Feb 22:55
Compare
Choose a tag to compare

What's Changed

Bug Fixes πŸ›

Full Changelog: v2.32.0...v2.32.1