Repository navigation
AltSql v0.4.0
The first AltSql release published with ready-built binaries for every
system, made and checked by the release workflow. The engine's behaviour is
unchanged from 0.3.0-alpha; file format version 3 is unchanged too.
- One version for both. AltSql Core and AltSql DB now share one version
number, 0.4.0. Core was 0.1.0-alpha and DB 0.3.0-alpha;altsql-db --versionprints both, and both now say 0.4.0. - Binaries for Linux and macOS.
altsqlandaltsql-dbfor Linux x86-64
and ARM64 (static) and for macOS on Apple silicon and Intel, as
altsql_<system>_<arch>.tar.gzon the release page. Each build runs the
end-to-end shell test before the release goes out. The names carry no
version, so thereleases/latest/download/links stay the same. - macOS. AltSql DB built with
-D_POSIX_C_SOURCEalone couldn't see
F_FULLFSYNCand didn't compile. The sync now falls back tofsyncwhen
F_FULLFSYNCis hidden, and both Makefiles add-D_DARWIN_C_SOURCEon
macOS, so a sync there reaches the disk. - Tests on every push. Core's tests, DB's tests and the shell test run on
Linux x86-64, Linux ARM and macOS (.github/workflows/test.yml). A green
run onmainwith a new version is what publishes a release; see
RELEASING.md. - Tests give the same data on every compiler. Some tests passed two or
three random draws as arguments to one call, and C leaves the order of
those unspecified: gcc on x86-64 drew them right to left, clang and gcc on
ARM left to right. The ARM builds made other test data, and with it one
statement intest_savepointneeded more savepoint room than its cache
allowed (a documented limit, so a failed transaction, as designed). Each
draw now has its own line, in gcc's x86-64 order, so every recorded result
stays valid: the outputs of all nine suites are byte for byte the same as
before under gcc, and the same under clang.test_vs_sqlite, which isn't
run in CI, keeps its old calls. - The browser demo in
demos/db/is rebuilt at 0.4.0
(app/engine-db.v4.js). - Releases now live on the GitHub release page.
releases/keeps the
0.2.0-alpha and 0.3.0-alpha folders as they were.
Downloads
| System | File |
|---|---|
| Linux, x86-64 (static) | altsql_linux_amd64.tar.gz |
| Linux, ARM64 (static) | altsql_linux_arm64.tar.gz |
| macOS, Apple silicon | altsql_darwin_arm64.tar.gz |
| macOS, Intel | altsql_darwin_amd64.tar.gz |
Each archive holds the two shells, altsql for a device's database and altsql-db for a gateway's, with README.md, LICENSE and NOTICE. SHA256SUMS lists the checksums. The macOS binaries aren't signed by Apple, so macOS may ask you to allow them the first time, or run xattr -d com.apple.quarantine on each. AltSql is an alpha: file formats may still change, and it isn't for production.