go fix applied the modernizers. One rewrite it got wrong is corrected here: a
reverse loop over runes became a range over slices.Backward that bound the index
and the value to the SAME name, which does not compile and would have compared a
rune to an index if it had. The value gets its own name.
Co-authored-by: Hanzo Dev <[email protected]>
The datastore:// migration driver is now a self-contained golang-migrate
database.Driver that opens through github.com/hanzo-ds/go (the native
ClickHouse-wire driver registered as the database/sql name "datastore").
The ClickHouse-specific migration logic (multi-statement exec,
schema_migrations DDL, cluster/engine config, Version/SetVersion/Drop/Lock)
is ported directly into database/datastore, so it no longer embeds or
imports the upstream database/clickhouse driver or
github.com/ClickHouse/clickhouse-go.
- Delete database/clickhouse (driver + test + examples) and
internal/cli/build_clickhouse.go.
- internal/cli/build_datastore.go drops the clickhouse-go blank import.
- go.mod: drop github.com/ClickHouse/clickhouse-go, add
github.com/hanzo-ds/go v1.0.1; tidy. Zero clickhouse-go in go.mod,
go.sum, and the module/dependency graph.
- Port the driver test + example migrations under database/datastore
(integration test requires a live datastore/clickhouse-wire backend).
- Update README, release workflow build tags, bug report template.
Co-authored-by: Hanzo Dev <[email protected]>
Registers "datastore://" as a URL scheme that delegates to the
ClickHouse driver. This allows golang-migrate to natively connect
to Hanzo Datastore instances without URL rewriting in scripts.
* ci: update golangci-lint to v2
update method:
```
golangci-lint migrate
golangci-lint run --fix
```
and fix the last ones manually
* Apply suggestion from @Copilot
* fix tests
---------
Co-authored-by: Hanzo Dev <[email protected]>
* feat: remove dependency on "hashicorp/go-multierror"
It seems the project has been unmainted for quite some time already,
see for example https://github.com/hashicorp/go-multierror/issues/97
and https://github.com/hashicorp/go-multierror/issues/98.
This also removes an uneccessary dependency which slims down the go.mod.
Go as of version 1.20 supports appending errors by specifying
multiple "%w" formatters in the "fmt.Errorf"[^0] function.
[^0]: https://pkg.go.dev/fmt#Errorf
* feat: use errors.Join to combine multiple errors
As an update to the previous commit 59f084ea3be2e7ec9d912c1a311402b1e4c40df6,
use "errors.Join"[^0] instead of multiple "%w" formatters for "fmt.Errorf".
[^0]: https://pkg.go.dev/errors#Join
* chore: bring back unused util.go file as removing it is a breaking change
* Remove old versions of MongoDB
Removed:
| Release | Release Date | End of Life Date |
|-------------|---------------|------------------|
| MongoDB 3.4 | November 2016 | January 2020 |
| MongoDB 3.6 | November 2017 | April 2021 |
| MongoDB 4.0 | June 2018 | April 2022 |
| MongoDB 4.2 | August 2019 | April 2023 |
Added:
| Release | Release Date | End of Life Date |
|-------------|---------------|------------------|
| MongoDB 5.0 | July 2021 | October 2024 |
| MongoDB 6.0 | July 2022 | July 2025 |
| MongoDB 7.0 | August 2023 | August 2026 |
| MongoDB 8.0 | October 2024 | TBD |
https://www.mongodb.com/legal/support-policy/lifecycles
* test(postgres): run tests with PostgreSQL 17
Add PostgreSQL 17, remove PostgreSQL 12 (EOL since November 21, 2024).
https://www.postgresql.org/support/versioning/
* test(cockroachdb): remove old versions of CockroachDB in tests
Removed:
| Release | Released | Maintenance Support | Assistance Support | Latest |
|:-------------------:|:--------------------------------------:|:--------------------------------------------:|:--------------------------------------------:|:---------------------:|
| 2.1 | 6 years ago (30 Oct 2018) | Ended 5 years ago (30 Oct 2019) | Ended 4 years and 7 months ago (30 Apr 2020) | 2.1.11 (22 Jan 2020) |
| 2.0 | 6 years and 8 months ago (04 Apr 2018) | Ended 5 years and 8 months ago (04 Apr 2019) | Ended 5 years ago (04 Oct 2019) | 2.0.7 (28 Nov 2018) |
| 1.1 | 7 years ago (12 Oct 2017) | Ended 6 years ago (12 Oct 2018) | Ended 5 years and 8 months ago (12 Apr 2019) | 1.1.9 (01 Oct 2018) |
| 1.0 | 7 years ago (10 May 2017) | Ended 6 years ago (10 May 2018) | Ended 6 years ago (10 Nov 2018) | 1.0.7 (11 Feb 2018) |
Added:
| Release | Released | Maintenance Support | Assistance Support | Latest |
|:-------------------:|:--------------------------------------:|:--------------------------------------------:|:--------------------------------------------:|:---------------------:|
| 24.3 | 3 weeks ago (18 Nov 2024) | Ends in 11 months (18 Nov 2025) | Ends in 1 year and 5 months (18 May 2026) | 24.3.0 (20 Nov 2024) |
| 24.2 | 3 months and 4 weeks ago (12 Aug 2024) | Ends in 2 months (12 Feb 2025) | Ends in 2 months (12 Feb 2025) | 24.2.5 (11 Nov 2024) |
| 24.1 (Upcoming LTS) | 6 months and 3 weeks ago (20 May 2024) | Ends in 5 months (20 May 2025) | Ends in 11 months (20 Nov 2025) | 24.1.7 (11 Nov 2024) |
| 23.2 (Upcoming LTS) | 10 months ago (05 Feb 2024) | Ends in 1 month and 4 weeks (05 Feb 2025) | Ends in 7 months and 4 weeks (05 Aug 2025) | 23.2.16 (13 Nov 2024) |
* test(firebird): remove old versions of Firebird in tests
Removed: Firebird 2.5, see https://firebirdsql.org/en/discontinued-versions/
Added:
- Firebird 4.0 (https://firebirdsql.org/en/firebird-4-0-5/)
- Firebird 5.0 (https://firebirdsql.org/en/firebird-5-0-1/)
* test(clickhouse): run ClickHouse tests with official LTS image (24.8)
* Run go mod tidy
* Fix Github linting action
Changes:
* checkout before setting up go
* pin golangci-lint version
* Update supported db versions
* Use start-single-node instead of start for cockroachdb