Skip to content

the static libraries, built from zu a92d9c1b9c51 - #28

Closed
github-actions[bot] wants to merge 4 commits into
mainfrom
libs-a92d9c1b9c51
Closed

github-actions[bot] wants to merge 4 commits into
mainfrom
libs-a92d9c1b9c51

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Five archives, one per platform, each built on a runner of its own platform from tamnd/zu at a92d9c1b9c511cbff8b49b426ffe04f73f0d96d4 by the Libraries workflow. Nothing here was built by hand. NATIVE_STATIC_LIBS in each directory is what rustc said that target needs at link time, and prebuilt.go is what this client actually passes, which is the same list minus whatever cgo already puts on the link.

tamnd and others added 4 commits August 25, 2026 07:33
The engine grew four accessors on an error handle and the vendored
header did not have them, which is what the engine job in CI notices
first: it diffs the header against the one in the engine tree and stops
there. The four are zu_error_subject_kind, zu_error_subject,
zu_error_graph and zu_error_schema.

They are the rest of what ISO 39075 subclause 23.2 asks a diagnostic
record to carry. The subject is what the condition is about when it is
about something the statement named, split into a kind and a name so
that asking whether a failure is about a label is one string compared
against one word rather than a sentence parsed for a quoted thing. The
graph and the schema are where the statement was running, which are
empty together when the failure happened before there was a connection
at all.

A program that underlines the offending name in an editor is the case
this is for. Before this it had to find the name inside English prose,
which is the whole reason these are fields.

The header is copied from the engine tree rather than edited, so the
diff step passes by construction.

Closes #25
Ten words became reserved in the engine and six of them are spelled as
aliases in these tests: nothing, sum, count and next, plus the same
sum in two of the zusql examples. A reserved word after AS is a syntax
error, so the next lib.yml run that moves the vendored pin turns all of
them red at the same moment, which is a confusing way to find out.

The renames are only in the test text. Nothing in the package names a
column, so there is nothing here for a user to notice. Where the Go
variable was named after the column it moves with it, so the two still
read as the same thing.

I swept the other four clients the same way, matching every alias
against the reserved and pre-reserved lists in the engine's generated
keywords: zu-node, zu-java and zu-c are clean, and zu-python had one
false positive that turned out to be DuckDB SQL in a comparison test.

Closes #26
The corpus runner has a test saying a case ahead of the engine comes
back unsupported rather than failed, which is what lets the corpus be
the contract and the engine catch up to it. It used SELECT 1 as the
statement no engine had reached yet. The engine parses SELECT now, so
the case ran, came back with a column named 1 where the case wanted n,
and the test was grading a real failure as though it were a gap.

CREATE NODE TABLE person(uid INT64) is the replacement. It refuses with
42001 and the message says CREATE is not implemented yet.

A test like this is a canary by construction and the comment now says
so: the day CREATE lands, this stops testing what it says it tests and
has to pick another spelling. The same assumption was in the Java
runner this was ported from and it was fixed there in tamnd/zu-java#20.
@tamnd

tamnd commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Folded into #27 rather than merged on its own. The three things this client is behind on cannot land separately: the header refresh alone leaves the vendored jobs linking against archives with no zu_error_subject_kind in them, and these archives alone turn six reserved word aliases in the tests red. Both issues said all three want to land together and this is what that looks like. The commit here is the one this workflow built, fast forwarded onto that branch unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant