view-analysis-improving#105
Merged
Merged
Conversation
Summary: - Table analysis isolated to support recursion in future. - Plan entrypoint split apart to support recursion in future. - Removed dead code. - Added `TODO` hints. - Build linux executable statically to mitigate WSL shared object errors.
jeffreyaven
added a commit
that referenced
this pull request
Jul 1, 2026
Consumes any-sdk v0.5.3-alpha10, which makes ColumnDescriptor.GetName() return the display name consistently across the resource-schema and response/select-items-schema paths (wire name only via GetWireName). Fixes the postgres backend regression where materialized table/view columns were named by the wire name while SELECT projected the display name, so a case-sensitive backend rejected them (42703) - covering the xml:name, snake_case_aliases and request.nativeCasing triggers. Verified on a real postgres backend: #108 multi-word values populate, SELECT * no longer errors, #109 snake WHERE resolves, #105 OData push-down intact. No stackql source change required. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jeffreyaven
added a commit
that referenced
this pull request
Jul 2, 2026
…overage (#678) * graphql and odata updates * graphql and odata updates * graphql and odata updates * docker fixes * docker fixes * postgres pedicate fixes * make commit package protocol agnostic * package protocol agnostic * fixes for 659, 577, 591 * bump any-sdk to v0.5.3-alpha10 (postgres GetName/GetWireName fix) Consumes any-sdk v0.5.3-alpha10, which makes ColumnDescriptor.GetName() return the display name consistently across the resource-schema and response/select-items-schema paths (wire name only via GetWireName). Fixes the postgres backend regression where materialized table/view columns were named by the wire name while SELECT projected the display name, so a case-sensitive backend rejected them (42703) - covering the xml:name, snake_case_aliases and request.nativeCasing triggers. Verified on a real postgres backend: #108 multi-word values populate, SELECT * no longer errors, #109 snake WHERE resolves, #105 OData push-down intact. No stackql source change required. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * drm: extract response values by property key (GetWireName then GetName) any-sdk keys the row payload by the schema property key. That key equals GetWireName when the wire name carries the case difference (snake_case_aliases: display cidr_block over wire cidrBlock) but equals GetName when the display name does (an xml:name override: display AvailabilityZone over wire availabilityZone). The #108 change extracted solely by GetWireName, which fixed the snake_case case but regressed the xml:name case (e.g. aws.ec2.volumes AvailabilityZone) to NULL on alpha10 - visible only on a case-sensitive backend once alpha10 fixed the column name. Try GetWireName first, then fall back to GetName, so both resolve their value. Undecorated columns have GetWireName == GetName, so they are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * TEMP DEBUG: log response-payload keys on drm value-extraction miss Reverts next commit. Emits DRMDBG to stderr (captured by the robot exec keyword -> output.xml) with the column GetName/GetWireName and the actual payload keys when a value cannot be extracted, so we can see what key the plain-XML objectKey walker used for aws.ec2.volumes AvailabilityZone (misses both GetName and GetWireName). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * TEMP DEBUG: narrow payload-key dump to decorated columns only The prior debug logged on every value-extraction miss, including genuinely-null JSON columns, which flooded stderr and broke the Go integration tests (go test) in the Build step - blocking the downstream Test jobs (robot) we need for the aws line. Now it only logs when the column is decorated (GetName != GetWireName, i.e. snake_case_aliases or an xml:name override) AND still misses. Undecorated columns (all JSON providers) never log, so go test / Build pass and the robot Test jobs run, emitting DRMDBG for aws.ec2.volumes AvailabilityZone. Reverted with the fix. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci: upload robot functional reports as artifacts (always) Adds actions/upload-artifact steps after the mocked functional robot runs (winbuild native + docker postgres_tcp) so output.xml / log.html / report.html survive the runner. This lets us inspect the exec stderr (e.g. the temporary DRMDBG payload-key dump) after a run instead of losing it when the runner is torn down. if: always() so it uploads on failure too. Temporary aid for the aws.ec2.volumes value diagnosis. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test: correct stale AvailabilityZone expected; drop pushdown diagnostics Root cause of the CI "Server Parameter in Select Star" failure was a stale test expectation, not a stackql defect. The aws.ec2.volumes AvailabilityZone column carries an allOf-nested `xml: name: availabilityZone` alias; the drm value extraction now keys the response payload by GetWireName (1d97800), so the column correctly projects `ap-southeast-1a`. The test at line 2362 still asserted the old pre-fix `null`. The snake-aliased sibling views (volumes_presented / _naively_ / _poorly_) already expect `ap-southeast-1a`, corroborating the correct value. - stackql_mocked_from_cmd_line.robot: AvailabilityZone null -> ap-southeast-1a (both rows). - drm_cfg.go: revert the temporary payload-key debug (6cdafd8, 5734373) back to the clean GetWireName-then-GetName extraction. - build.yml: revert the temporary robot-report upload-artifact steps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
TODOhints.