[
https://issues.apache.org/jira/browse/CALCITE-7300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18047515#comment-18047515
]
Oleg Alekseev edited comment on CALCITE-7300 at 12/25/25 12:36 PM:
-------------------------------------------------------------------
I'm pleased to share an update: a new major version (v2) has been developed,
which addresses many of the considerations discussed in our community feedback.
CalciteRestAPIAdapter v2 - Major Release
Repository: https://github.com/oalekseev/CalciteRestAPIAdapter-v2
Key Improvements in v2:
Configuration & Schema Discovery
OpenAPI-based configuration instead of XML - automatically discovers REST API
schemas without manual field definitions
FreeMarker templates for flexible HTTP request customization (body, headers,
URL parameters)
Supports complex nested structures and format transformations (JSON, XML, CSV)
Advanced Filtering & Query Optimization
DNF/CNF filter support - converts SQL WHERE clauses to Disjunctive/Conjunctive
Normal Form for efficient REST API filtering
Query pushdown - sends filtered data requests directly to REST services,
reducing data transfer
Comprehensive Test Coverage: 13 test classes with 50+ test methods covering:
- Projection pushdown optimization
-
- Pagination handling with automatic page fetching
-
- SQL JOIN operations (INNER, SELF, CROSS)
-
- Multiple REST API filter specification variants (DNF/CNF)
-
- Nested JSON/XML structure flattening
-
- Dynamic request headers with FreeMarker templates
-
- CSV, JSON, and XML response parsing
-
- Request-only and Response-only parameter handling
-
- Type mappings for SQL column types
-
- URL query parameter generation
Oleg Alekseev
GitHub: @oalekseev
Telegram: @oalekseevdev
E-mail: [email protected]
was (Author: JIRAUSER305374):
The adapter is publicly available on GitHub
https://github.com/oalekseev/CalciteRestAPIAdapter-v2
> Proposal to contribute CalciteRestAPIAdapter
> --------------------------------------------
>
> Key: CALCITE-7300
> URL: https://issues.apache.org/jira/browse/CALCITE-7300
> Project: Calcite
> Issue Type: New Feature
> Reporter: Oleg Alekseev
> Priority: Minor
>
> First version
> The adapter is publicly available on GitHub:
> [https://github.com/oalekseev/CalciteRestAPIAdapter]
> What should be added:
> * Dealing with the format of the data that comes back (csv, xml, json)
> * Javadoc, tests, and user doc
> * Consider support for OpenAPI specifications in the future, as it could
> help unify and automate integration with a wide range of REST services
> Proposal to contribute here
> https://lists.apache.org/thread/jvbpz7rp7w76gqmshtz3y6bhcftk41c5
--
This message was sent by Atlassian Jira
(v8.20.10#820010)