Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: vmvarela/sql-pipe
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.8.0
Choose a base ref
...
head repository: vmvarela/sql-pipe
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.8.1
Choose a head ref
  • 1 commit
  • 3 files changed
  • 1 contributor

Commits on May 8, 2026

  1. fix: make --xml-root and --xml-row work for XML input parsing (#140)

    * fix: make --xml-root and --xml-row work for XML input parsing
    
    Previously these flags only controlled XML output element names.
    The parser always used the actual document root and accepted any
    element as a row, making it impossible to query nested structures
    like RSS feeds (<rss> → <channel> → <item>).
    
    Changes:
    - Add XmlParser.skipElementBody() to skip a complete element tree
    - Add XmlParser.navigateToRoot() to descend into a named container
    - Add row_tag_filter to XmlParser.nextRow() to skip non-matching elements
    - Update loadXmlInput, getXmlColumnNames, summarizeXml to accept
      optional xml_root and xml_row parameters (null = legacy behaviour)
    - Thread xml_root_input / xml_row_input from CLI args through
      ParsedArgs, ColumnsArgs, and ValidateArgs to all call sites
    - Fix test_xml_no_rows to use <results> root (consistent with default)
    - Add integration tests 114 and 115 for nested navigation
    
    Closes #139
    
    * fix: address oracle code review findings for PR #140
    
    - skipElementBody: validate closing tag name against expected tag (was discarding it)
    - skipElementBody: replace fragile peek().? pattern with safe orelse-break idiom
    - navigateToRoot: skip text nodes between siblings instead of fataling
    - navigateToRoot: improve error message to say 'not found as a direct child of'
    - getXmlColumnNames/summarizeXml/loadXmlInput: emit tailored error when --xml-row
      filter matches nothing ('check --xml-row value') vs generic 'no row elements'
    - Unit tests: skipElementBody (body skip, nested elements), navigateToRoot
      (fast path, nested child, text nodes), nextRow with row_tag_filter
    - Integration tests 116-120: --xml-root alone, --xml-row alone, filter-no-match
      error, --columns with both flags, fast path when --xml-root equals actual root
    - Fix test 104 comment (output-only, not input)
    vmvarela authored May 8, 2026
    Configuration menu
    Copy the full SHA
    e8cbd32 View commit details
    Browse the repository at this point in the history
Loading