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.7.1
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.0
Choose a head ref
  • 8 commits
  • 11 files changed
  • 1 contributor

Commits on May 1, 2026

  1. fix: replace dnf config-manager --add-repo with curl to support DNF5 (#…

    …126)
    
    DNF5 (Fedora 41+, RHEL 10) removed the --add-repo argument from
    config-manager. Use curl to drop the .repo file directly into
    /etc/yum.repos.d/, which works on both DNF4 and DNF5.
    vmvarela authored May 1, 2026
    Configuration menu
    Copy the full SHA
    3dbd251 View commit details
    Browse the repository at this point in the history
  2. docs: add real-world examples and JSON/NDJSON input documentation (#128)

    - Update intro: 'reads CSV from stdin' → 'reads CSV, JSON, or NDJSON'
    - Add JSON/NDJSON input paragraph and example to Usage section
    - Add -I/--input-format and -O/--output-format to flags table
    - Fix broken chain example (missing -H on first sql-pipe call)
    - Add Real-world examples section with 6 verified live examples:
      La Liga wins/goals (CSV), OWID energy solar/wind (CSV+chain),
      restcountries density (NDJSON), Open-Meteo Madrid forecast (NDJSON)
    
    Closes #127
    vmvarela authored May 1, 2026
    Configuration menu
    Copy the full SHA
    4856992 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2026

  1. feat: add --silent / -s flag to suppress row count output (#114)

    * feat: add --silent / -s flag to suppress row count output (#114)
    
    * docs: add --silent / -s flag to README and man page
    vmvarela authored May 7, 2026
    Configuration menu
    Copy the full SHA
    06ac64d View commit details
    Browse the repository at this point in the history
  2. feat: add --validate mode to check input syntax without running a que…

    …ry (#88)
    
    * feat: add --validate mode to check CSV syntax without running a query (#88)
    
    * feat: extend --validate to support JSON and NDJSON input formats
    
    * fix: enforce --validate mutual exclusion with --output and --columns
    vmvarela authored May 7, 2026
    Configuration menu
    Copy the full SHA
    ef8c6f0 View commit details
    Browse the repository at this point in the history
  3. feat: add --sample <n> flag for quick data preview with schema (#131)

    * feat: add --sample <n> flag for quick data preview with schema (#89)
    
    * ci: downgrade labeler to v5 to restore title-based label matching
    
    * ci: replace broken labeler action with github-script title matching
    
    * fix: address code review findings in --sample implementation
    
    - Add SampleWithOutput error: --sample --output now exits 1 with error
      instead of silently discarding the output file path
    - Fix stdout write errors in runSample to call fatal instead of
      std.log.err, preventing silent truncation with exit code 0
    - Add type_inference field to SampleArgs so --no-type-inference is
      respected in --sample mode (shows all columns as TEXT)
    - Use @max for max_col_width computation (style)
    - Clarify help text ambiguity around mutual exclusions
    - Add 10 integration tests (85-94) covering all --sample acceptance
      criteria: row count, schema on stderr, type inference, TSV input,
      error cases and edge cases
    vmvarela authored May 7, 2026
    Configuration menu
    Copy the full SHA
    d8451c2 View commit details
    Browse the repository at this point in the history
  4. feat: support multi-character input delimiters (#132)

    * feat: support multi-character input delimiters (#86)
    
    Extend -d/--delimiter to accept strings of 1-8 bytes instead of a
    single character. Common real-world separators like '||', ';;', or
    two spaces now work without preprocessing.
    
    - CsvReader: delimiter field changed from u8 to []const u8; added
      partial_delim: usize to track in-progress multi-byte matches in
      the streaming state machine
    - parseDelimiter: returns []const u8, rejects empty and >8-byte values
    - writeField / printRow / printHeaderRow: delimiter type updated to
      []const u8; quoting detection uses std.mem.indexOf instead of
      byte-by-byte comparison
    - New unit tests: 2-char (||), 3-char (;;;), partial-match false
      positive, quoted field containing multi-char delimiter
    - New integration tests 95-98: double-pipe, three-char, empty-error,
      too-long-error
    - README and man page updated to describe the 1-8 char constraint
    
    * test: add edge-case unit tests for multi-char delimiters
    
    - Reset partial_delim at start of nextRecord (latent correctness fix:
      avoids stale state if a previous call exited via a non-fatal error)
    - Add 6 unit tests covering: empty first field, empty last field,
      only-delimiter input, EOF without newline, partial delimiter at EOF
      treated as field content, and greedy left-to-right matching behavior
    vmvarela authored May 7, 2026
    Configuration menu
    Copy the full SHA
    fe2e1b1 View commit details
    Browse the repository at this point in the history
  5. feat: add XML input/output format support

    Closes #99
    
    - Row-based XML parser and writer (no external library)
    - `-I xml` / `-O xml` format flags
    - `--xml-root` / `--xml-row` element name customisation with XML name validation
    - XML supported in `--columns` and `--validate`; rejected with clear error in `--sample`
    - `src/sqlite.zig`: shared SQLite helpers extracted from json.zig (DRY)
    - 13 unit tests + 15 integration tests (entities, NULL, roundtrip, edge cases)
    vmvarela authored May 7, 2026
    Configuration menu
    Copy the full SHA
    76981e3 View commit details
    Browse the repository at this point in the history
  6. fix: pass -Dbundle-sqlite=true to unit-test step in CI (#137)

    On Windows there is no system sqlite3 library, so xml.zig unit tests
    fail with 'unable to find dynamic system library sqlite3'.
    The SQLite amalgamation is already downloaded before this step,
    so bundling it is both correct and sufficient on all platforms.
    
    Closes #136
    vmvarela authored May 7, 2026
    Configuration menu
    Copy the full SHA
    adbc99d View commit details
    Browse the repository at this point in the history
Loading