Skip to content

feat(parser): support DuckDB MAP literals and PIVOT queries - #2496

Merged
manticore-projects merged 2 commits into
JSQLParser:masterfrom
dengliming:feat/duckdb-pivot-query
Aug 22, 2026
Merged

feat(parser): support DuckDB MAP literals and PIVOT queries#2496
manticore-projects merged 2 commits into
JSQLParser:masterfrom
dengliming:feat/duckdb-pivot-query

Conversation

@dengliming

Copy link
Copy Markdown
Contributor

Support and closes #2423

Summary

Adds support for DuckDB MAP literals and simplified PIVOT queries.

Supported examples:

SELECT MAP {'key': 'value', 'key2': 'other'} AS m FROM t;

CREATE VIEW v AS
SELECT MAP {'category': name, 'count': name} AS summary
FROM products;

PIVOT sales ON region USING SUM(amount);

SELECT * FROM (PIVOT sales ON region USING SUM(amount));

Changes

  • Added MapExpression for DuckDB MAP {key: value} literals.
  • Added PivotQuery for DuckDB simplified PIVOT syntax.
  • Integrated both nodes with visitors, deparsers, validators, and TablesNamesFinder.
  • Added support for PIVOT as a top-level query and subquery.
  • Preserved the existing Oracle/SQL Server-style PIVOT (...) syntax.

Tests

Added tests covering all four reported DuckDB cases, additional PIVOT clauses, table-name extraction, and existing PIVOT compatibility.

Relevant parser and regression tests pass without introducing new JavaCC warnings.

@manticore-projects

Copy link
Copy Markdown
Contributor

This one is awesome! Thank you so much!

@manticore-projects
manticore-projects merged commit e13019a into JSQLParser:master Aug 22, 2026
7 checks passed
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.

[BUG] JSQLParser Version : RDBMS : failing feature description

2 participants