Skip to content

simplest-view-semantics#109

Merged
general-kroll-4-life merged 1 commit into
mainfrom
feature/view-execution-foundations
Dec 15, 2022
Merged

simplest-view-semantics#109
general-kroll-4-life merged 1 commit into
mainfrom
feature/view-execution-foundations

Conversation

@general-kroll-4-life

Copy link
Copy Markdown
Contributor

Summary:

  • View logic implemented as inlined, aliased subqueries.
  • Dataflow dependencies enforced through builder, sophisticated analysis unnecessary.
  • Robot test updated.

Summary:

- View logic implemented as inlined, aliased subqueries.
- Dataflow dependencies enforced through builder, sophisticated analysis unnecessary.
- Robot test updated.
@general-kroll-4-life general-kroll-4-life merged commit 6dd36cd into main Dec 15, 2022
@general-kroll-4-life general-kroll-4-life deleted the feature/view-execution-foundations branch December 15, 2022 13:59
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>
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