Skip to content

Latest commit

 

History

History
765 lines (536 loc) · 42.2 KB

CHANGELOG.md

File metadata and controls

765 lines (536 loc) · 42.2 KB

v2.30.0, 2024-10-16

What's Changed

Enhancements 🎉

  • Extended support for HTTP proxy in driver options by @jkaflik in ClickHouse#1424
  • Default implementation of column.IterableOrderedMap by @earwin in ClickHouse#1417

Fixes 🐛

  • Fix serialization for slices of OrderedMap/IterableOrderedMap (#1365) by @earwin in ClickHouse#1418
  • Retry on broken pipe in batch by @jkaflik in ClickHouse#1423

Other Changes 🛠

  • Add 'clickhouse-go-rows-utils' to third-party libraries by @EpicStep in ClickHouse#1413

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.29.0...v2.30.0

v2.29.0, 2024-09-24

What's Changed

Enhancements 🎉

  • Add ability to handle context cancellations for TCP protocol by @tinybit in ClickHouse#1389

Other Changes 🛠

  • Add Examples for batch.Column(n).AppendRow in columnar_insert.go by @achmad-dev in ClickHouse#1410

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.3...v2.29.0

v2.28.3, 2024-09-12

What's Changed

Other Changes 🛠

  • Revert the minimum required Go version to 1.21 by @jkaflik in ClickHouse#1405

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.2...v2.28.3

v2.28.2, 2024-08-30

What's Changed

Fixes 🐛

  • Validate connection in bad state before query execution in the stdlib database/sql driver by @jkaflik in ClickHouse#1396

Other Changes 🛠

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.1...v2.28.2

v2.28.1, 2024-08-27

What's Changed

Fixes 🐛

  • Recognize empty strings as a valid enum key by @genzgd in ClickHouse#1387

Other Changes 🛠

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.0...v2.28.1

v2.28.0, 2024-08-23

What's Changed

Fixes 🐛

  • Fix Enum column definition parse logic to match ClickHouse spec by @jkaflik in ClickHouse#1380
  • Fix support custom serialization in Nested type by @jkaflik in ClickHouse#1381
  • Fix panic on nil map append by @jkaflik in ClickHouse#1383

Other Changes 🛠

  • Remove test coverage for deprecated Object('JSON') type by @jkaflik in ClickHouse#1377
  • Remove JSON type use from a context use example by @jkaflik in ClickHouse#1379
  • Make sure non-secure port is used during readiness check by @jkaflik in ClickHouse#1382
  • Deprecate Go 1.21 ended support and require Go 1.22 by @jkaflik in ClickHouse#1378

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.2...v2.28.0

v2.27.2, 2024-08-20

What's Changed

Enhancements 🎉

Fixes 🐛

  • Fix column list parsing for multiline INSERT statements by @Fiery-Fenix in ClickHouse#1373

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.1...v2.27.2

v2.27.1, 2024-08-05

What's Changed

Fixes 🐛

  • Fix INSERT statement normalization match backtick table name by @jkaflik in ClickHouse#1366

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.0...v2.27.1

v2.27.0, 2024-08-01

Breaking change notice

v2.25.0 was released with a breaking change in ClickHouse#1306. Please review your implementation.

What's Changed

Enhancements 🎉

  • Unpack value of indirect types in array column to support nested structures in interfaced slices/arrays by @jmaicher in ClickHouse#1350

Fixes 🐛

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.26.0...v2.27.0

v2.26.0, 2024-06-25

What's Changed

Enhancements 🎉

  • Reintroduce the random connection strategy by @larry-cdn77 in ClickHouse#1313
  • Make custom debug log function on-par with the built-in one by @vespian in ClickHouse#1317
  • Remove date overflow check as it's normalised by ClickHouse server by @gogingersnap777 in ClickHouse#1315
  • Batch: impl Columns() []column.Interface method by @egsam98 in ClickHouse#1277

Fixes 🐛

  • Fix rows.Close do not return too early by @yujiarista in ClickHouse#1314
  • Setting X-Clickhouse-SSL-Certificate-Auth header correctly given X-ClickHouse-Key by @gogingersnap777 in ClickHouse#1316
  • Retry on network errors and fix retries on async inserts with database/sql interface by @tommyzli in ClickHouse#1330
  • BatchInsert parentheses issue fix by @ramzes642 in ClickHouse#1327

Other Changes 🛠

  • ClickHouse 24.5 by @jkaflik in ClickHouse#1319
  • Align allow_suspicious_low_cardinality_types and allow_suspicious_low_cardinality_types settings in tests due to ClickHouse Cloud incompatibility by @jkaflik in ClickHouse#1331
  • Use HTTPs scheme in std connection failover tests by @jkaflik in ClickHouse#1332

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.25.0...v2.26.0

v2.25.0, 2024-05-28

What's Changed

Breaking Changes 🚨

  • Add a compatibility layer for a database/sql driver to work with sql.NullString and ClickHouse nullable column by @jkaflik in ClickHouse#1306

Other Changes 🛠

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.24.0...v2.25.0

v2.24.0, 2024-05-08

What's Changed

Enhancements 🎉

  • Always compress responses when the client compression is on by @zhkvia in ClickHouse#1286
  • Optional flag to close query with flush by @hongker in ClickHouse#1276

Fixes 🐛

  • Fix prepare batch does not break on values substring in table name by @Wang in ClickHouse#1290
  • Fix nil checks when appending slices of pointers by @markandrus in ClickHouse#1283

Other Changes 🛠

  • Don't recreate keys from LC columns from direct stream by @genzgd in ClickHouse#1291

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.2...v2.24.0

v2.23.2, 2024-04-25

What's Changed

Fixes 🐛

  • Fixed panic on concurrent context key map write by @Wang in ClickHouse#1284

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.1...v2.23.2

v2.23.1, 2024-04-15

What's Changed

Fixes 🐛

  • Zero-value timestamp to be formatted as toDateTime(0) in bind by @jkaflik in ClickHouse#1260

Other Changes 🛠

  • Update #1127 test case to reproduce a progress handle when exception is thrown by @jkaflik in ClickHouse#1259
  • Set max parallel for GH jobs by @jkaflik in ClickHouse#1261
  • Ensure test container termination by @jkaflik in ClickHouse#1274

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.0...v2.23.1

v2.23.0, 2024-03-27

What's Changed

Enhancements 🎉

  • Implement ConnBeginTx as replacement for deprecated Begin by @FelipeLema in ClickHouse#1255

Other Changes 🛠

  • Align error message assertion to new missing custom setting error formatting by @jkaflik in ClickHouse#1256
  • CI chores by @jkaflik in ClickHouse#1258

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.4...v2.23.0

v2.22.4, 2024-03-25

What's Changed

Fixes 🐛

  • Fix column name with parantheses handle in prepare batch by @jkaflik in ClickHouse#1252

Other Changes 🛠

  • Fix TestBatchAppendRows work different on cloud by @jkaflik in ClickHouse#1251

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.3...v2.22.4

v2.22.3, 2024-03-25

What's Changed

Fixes 🐛

Other Changes 🛠

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.2...v2.22.3

v2.22.2, 2024-03-18

What's Changed

Fixes 🐛

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.1...v2.22.2

v2.22.1, 2024-03-18

What's Changed

Fixes 🐛

  • Make errors channel buffered inside query() by @threadedstream in ClickHouse#1237

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.0...v2.22.1

v2.20.0, 2024-02-28

What's Changed

Enhancements 🎉

  • Support [n]byte/[]byte type Scan/Append to FixedString column by @rogeryk in ClickHouse#1205

Other Changes 🛠

  • Enable cloud tests by @jkaflik in ClickHouse#1202
  • Removed LowCardinality(UInt64) tests that caused allow_suspicious_low_cardinality_types related error by @jkaflik in ClickHouse#1206

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.19.0...v2.20.0

v2.19.0, 2024-02-26

What's Changed

Enhancements 🎉

Fixes 🐛

  • Fix panic on format nil *fmt.Stringer type value by @zaneli in ClickHouse#1200

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.18.0...v2.19.0

v2.18.0, 2024-02-01

What's Changed

Enhancements 🎉

  • Add WithAllocBufferColStrProvider string column allocator for batch insert performance boost by @hongker in ClickHouse#1181

Fixes 🐛

Other Changes 🛠

  • resolves #1163 debugF function is not respected by @omurbekjk in ClickHouse#1166

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.17.1...v2.18.0

v2.17.1, 2023-12-27

What's Changed

Fixes 🐛

  • fix panic in contextWatchDog nil pointer check by @nityanandagohain in ClickHouse#1168

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.17.0...v2.17.1

v2.17.0, 2023-12-21

What's Changed

Enhancements 🎉

Fixes 🐛

  • Update README - mention HTTP protocol usable only with database/sql interface by @jkaflik in ClickHouse#1160
  • Fix README example for Debugf by @aramperes in ClickHouse#1153

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.16.0...v2.17.0

v2.16.0, 2023-12-01

What's Changed

Enhancements 🎉

Fixes 🐛

  • Fix DateTime64 range to actual supported range per ClickHouse documentation by @phil-schreiber in ClickHouse#1148

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.15.0...v2.16.0

v2.14.3, 2023-10-12

What's Changed

Fixes 🐛

  • Fix insertion of empty map into JSON column by using _dummy subcolumn by @leodido in ClickHouse#1116

Other Changes 🛠

  • chore: specify method field on compression in example by @rdaniels6813 in ClickHouse#1111
  • chore: remove extra error checks by @rutaka-n in ClickHouse#1095

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.2...v2.14.3

v2.14.2, 2023-10-04

What's Changed

Fixes 🐛

  • Fix: Block stream read process would be terminated by empty block with zero rows by @crisismaple in ClickHouse#1104
  • Free compressor's buffer when FreeBufOnConnRelease enabled by @cergxx in ClickHouse#1100
  • Fix truncate ` for HTTP adapter by @beck917 in ClickHouse#1103

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.1...v2.14.2

v2.14.1, 2023-09-14

What's Changed

Enhancements 🎉

  • parseDSN: support connection pool settings (#1082) by @hanjm in ClickHouse#1084

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.0...v2.14.1

v2.14.0, 2023-09-12

What's Changed

Enhancements 🎉

  • Add FreeBufOnConnRelease to clickhouse.Options by @cergxx in ClickHouse#1091
  • Improving object allocation for (positional) parameter binding by @mdonkers in ClickHouse#1092

Fixes 🐛

  • Fix escaping double quote in SQL statement in prepare batch by @jkaflik in ClickHouse#1083

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.4...v2.14

v2.13.4, 2023-08-30

What's Changed

Fixes 🐛

  • fix(proto): add TCP protocol version in query packet by @jkaflik in ClickHouse#1077

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.3...v2.13.4

v2.13.3, 2023-08-23

What's Changed

Fixes 🐛

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.2...v2.13.3

v2.13.2, 2023-08-18

What's Changed

Fixes 🐛

  • fix: update ch-go to remove string length limit by @jkaflik in ClickHouse#1071

Other Changes 🛠

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.1...v2.13.2

v2.13.1, 2023-08-17

What's Changed

Fixes 🐛

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.0...v2.13.1

v2.13.0, 2023-08-10

What's Changed

Enhancements 🎉

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.12.1...v2.13.0

v2.12.1, 2023-08-02

What's Changed

Fixes 🐛

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.12.0...v2.12.1

v2.12.0, 2023-07-27

What's Changed

Enhancements 🎉

Fixes 🐛

  • Release connection slot on connection acquire timeout by @sentanos in ClickHouse#1042

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.11.0...v2.12.0

v2.11.0, 2023-07-20

What's Changed

Enhancements 🎉

Fixes 🐛

  • Fix startAutoCloseIdleConnections cause goroutine leak by @YenchangChan in ClickHouse#1011
  • Fix netip.Addr pointer panic by @anjmao in ClickHouse#1029

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.10.1...v2.11.0

v2.10.1, 2023-06-06

What's Changed

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.10.0...v2.10.1

v2.10.0, 2023-05-17

What's Changed

Enhancements 🎉

  • Support [16]byte/[]byte typed scan/append for IPv6 column by @crisismaple in ClickHouse#996
  • Add custom dialer option to http protocol by @stephaniehingtgen in ClickHouse#998

Fixes 🐛

  • Tuple scan respects both value and pointer variable by @crisismaple in ClickHouse#971
  • Auto close idle connections in native protocol in respect of ConnMaxLifetime option by @jkaflik in ClickHouse#999

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.3...v2.10.0

v2.9.2, 2023-05-08

What's Changed

Fixes 🐛

  • Pass http.ProxyFromEnvironment configuration to http.Transport by @slvrtrn in ClickHouse#987

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.1...v2.9.2

v2.9.1, 2023-04-24

What's Changed

Enhancements 🎉

  • Do not return hard error on unparsable version in HTTP proto by @hexchain in ClickHouse#975

Fixes 🐛

  • Return ErrBadConn in stdDriver Prepare if connection is broken by @czubocha in ClickHouse#977

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.0...v2.9.1

v2.9.0, 2023-04-13

What's Changed

Enhancements 🎉

  • External tables support for HTTP protocol by @crisismaple in ClickHouse#942
  • Support driver.Valuer in String and FixedString columns by @jkaflik in ClickHouse#946
  • Support boolean and pointer type parameter binding by @crisismaple in ClickHouse#963
  • Support insert/scan IPv4 using UInt32/*UInt32 types by @crisismaple in ClickHouse#966

Fixes 🐛

  • Reset the pointer to the nullable field by @xiaochaoren1 in ClickHouse#964
  • Enable to use ternary operator with named arguments by @crisismaple in ClickHouse#965

Other Changes 🛠

New Contributors

Full Changelog: https://github.com/ClickHouse/clickhouse-go/compare/v2.8.3...v2.9.0

2.8.3, 2023-04-03

Bug fixes

  • Revert: Expire idle connections no longer acquired during lifetime #958 by @jkaflik

2.8.2, 2023-03-31

Bug fixes

  • Expire idle connections no longer acquired during lifetime #945 by @jkaflik

2.8.1, 2023-03-29

Bug fixes

  • Fix idle connection check for TLS connections #951 by @jkaflik & @alekar

2.8.0, 2023-03-27

New features

  • Support customized "url path" in http connection #938 by @crisismaple
  • Allow Auth.Database option to be empty #926 by @v4run

Chores

  • Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 #933
  • fix: small typo in the text of an error #936 by @lspgn
  • Improved bug template #916 by @mshustov

2.7.0, 2023-03-08

New features

  • Date type with user location #923 by @jkaflik
  • Add AppendRow function to BatchColumn #927 by @pikot

Bug fixes

  • fix: fix connect.compression's format verb #924 by @mind1949
  • Add extra padding for strings shorter than FixedColumn length #910 by @jkaflik

Chore

  • Bump github.com/andybalholm/brotli from 1.0.4 to 1.0.5 #911
  • Bump github.com/paulmach/orb from 0.8.0 to 0.9.0 #912
  • Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0 #928

2.6.5, 2023-02-28

Bug fixes

  • Fix array parameter formatting in binding mechanism #921 by @genzgd

2.6.4, 2023-02-23

Bug fixes

  • Fixed concurrency issue in stdConnOpener #918 by @jkaflik

2.6.3, 2023-02-22

Bug fixes

  • Fixed lib/binary/string_safe.go for non 64bit arch #914 by @atoulme

2.6.2, 2023-02-20

Bug fixes

  • Fix decimal encoding with non-standard exponential representation #909 by @vogrelord
  • Add extra padding for strings shorter than FixedColumn length #910 by @jkaflik

Chore

  • Remove Yandex ClickHouse image from Makefile #895 by @alexey-milovidov
  • Remove duplicate of error handling #898 by @Astemirdum
  • Bump github.com/ClickHouse/ch-go from 0.51.2 to 0.52.1 #901

2.6.1, 2023-02-13

Bug fixes

  • Do not reuse expired connections (ConnMaxLifetime) #892 by @iamluc
  • Extend default dial timeout value to 30s #893 by @jkaflik
  • Compression name fixed in sendQuery log #884 by @fredngr

2.6.0, 2023-01-27

New features

  • Client info specification implementation #876 by @jkaflik

Bug fixes

  • Better handling for broken connection errors in the std interface #879 by @n-oden

Chore

  • Document way to provide table or database identifier with query parameters #875 by @jkaflik
  • Bump github.com/ClickHouse/ch-go from 0.51.0 to 0.51.2 #881

2.5.1, 2023-01-10

Bug fixes

  • Flag connection as closed on broken pipe #871 by @n-oden

2.5.0, 2023-01-10

New features

  • Buffered compression column by column for a native protocol. Introduces the MaxCompressionBuffer option - max size (bytes) of compression buffer during column-by-column compression (default 10MiB) #808 by @gingerwizard and @jkaflik
  • Support custom types that implement sql.Scanner interface (e.g. type customString string) #850 by @DarkDrim
  • Append query options to the context instead of overwriting #860 by @aaron276h
  • Query parameters support #854 by @jkaflik
  • Expose DialStrategy function to the user for custom connection routing. #855 by @jkaflik

Bug fixes

  • Close connection on Cancel. This is to make sure context timed out/canceled connection is not reused further #764 by @gingerwizard
  • Fully parse secure and skip_verify in DSN query parameters. #862 by @n-oden

Chore

  • Added tests covering read-only user queries #837 by @jkaflik
  • Agreed on a batch append fail semantics #853 by @jkaflik

2.4.3, 2022-11-30

Bug Fixes

  • Fix in batch concurrency - batch could panic if used in separate go routines.
    The issue was originally detected due to the use of a batch in a go routine and Abort being called after the connection was released on the batch. This would invalidate the connection which had been subsequently reassigned.
    This issue could occur as soon as the conn is released (this can happen in a number of places e.g. after Send or an Append error), and it potentially returns to the pool for use in another go routine. Subsequent releases could then occur e.g., the user calls Abort mainly but also Send would do it. The result is the connection being closed in the release function while another batch or query potentially used it.
    This release includes a guard to prevent release from being called more than once on a batch. It assumes that batches are not thread-safe - they aren't (only connections are).

2.4.2, 2022-11-24

Bug Fixes

  • Don't panic on Send() on batch after invalid Append. #830
  • Fix JSON issue with nil if column order is inconsisent. #824

2.4.1, 2022-11-23

Bug Fixes

  • Patch release to fix "Regression - escape character was not considered when comparing column names". #828

2.4.0, 2022-11-22

New Features

  • Support for Nullables in Tuples. #821 #817
  • Use headers for auth and not url if SSL. #811
  • Support additional headers. #811
  • Support int64 for DateTime. #807
  • Support inserting Enums as int8/int16/int. #802
  • Print error if unsupported server. #792
  • Allow block buffer size to tuned for performance - see BlockBufferSize. #776
  • Support custom datetime in Scan. #767
  • Support insertion of an orderedmap. #763

Bug Fixes

  • Decompress errors over HTTP. #792
  • Use timezone vs timeZone so we work on older versions. #781
  • Ensure only columns specified in INSERT are required in batch. #790
  • Respect order of columns in insert for batch. #790
  • Handle double pointers for Nullable columns when batch inserting. #774
  • Use nil for LowCardinality(Nullable(X)). #768

Breaking Changes

  • Align timezone handling with spec. #776, specifically:
    • If parsing strings for datetime, datetime64 or dates we assume the locale is Local (i.e. the client) if not specified in the string.
    • The server (or column tz) is used for datetime and datetime64 rendering. For date/date32, these have no tz info in the server. For now, they will be rendered as UTC - consistent with the clickhouse-client
    • Addresses bind when no location is set