[fork] ws4sql v0.17dev4
Pre-releaseThis is a fourth pre-release of a new fork of ws4sqlite, that will "transit" the app to a new version that will support more databases than sqlite (hence the new name, if you noticed 😉). It will take some time, through improvements and, alas, breaking changes.
This is not the latest release of ws4sqlite, which is still here.
The work will take place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.
Compiled in Github Actions using Go 1.23.5. Docker images for amd64 and aarch64 (arm64) are at ghcr.io/proofrock/ws4sql:latest.
Fixed in this release
- #49: Potential issue with container from ghcr.io: "exec /ws4sql: no such file or directory"
- #50: Issue with certain type mapping when translating results from duckdb, "Json: error calling MarshalJSON for type orderedmap.OrderedMap: json: unsupported type: duckdb.Map"
- #51: ARM64 static compilation fails with linking errors
Now linux binaries are built using musl, for more consistent static compilation, and the docker images use the same binaries.
Next up, proper static building for macos & windows.
Credits
Thanks @mskyttner, @blaix and @eberfreitas for all the testing and advices!
Migration
- For any
--dband--mem-dbswitch that was used, an explicit YAML config file must be created. The format is the same, but there is a new section at the beginning:
database:
type: SQLITE # SQLITE or DUCKDB. If omitted, defaults to SQLITE
inMemory: false # If type = SQLITE|DUCKDB. The db is a memory one? If omitted, defaults to false
path: ".../test.db" # If type = SQLITE|DUCKDB. The db file path.
id: test # If omitted and !inMemory, calculates it from the file name (if type = SQLITE|DUCKDB)
disableWALMode: false # If type = SQLITE. Same as before, but moved here.
readOnly: false # Same as before, but moved here.As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻