You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] JSQLParser 5.4-SNAPSHOT : PostgreSQL : Custom type casting with more than one level not working #2341
It seems that the parser supports single-level composite types but fails on nested multi-level composite types.
Query to reproduce the parsing error:
SELECT
(product_data::product_info_similarity).info.category AS category,
COUNT(*) AS num_products
FROM products
GROUP BY (product_data::product_info_similarity).info.category;
Error:
Generating types/tables to run the query in a real DB:
CREATE TYPE product_info AS (
name text,
category text
);
CREATE TYPE product_info_similarity AS (
info product_info
);
CREATE TABLE products (
id serial PRIMARY KEY,
product_data product_info_similarity
);
INSERT INTO products (product_data)
VALUES
(ROW(ROW('Laptop', 'Electronics'))::product_info_similarity),
(ROW(ROW('Chair', 'Furniture'))::product_info_similarity),
(ROW(ROW('Table', 'Furniture'))::product_info_similarity);
SELECT
(product_data::product_info_similarity).info.category AS category,
COUNT(*) AS num_products
FROM products
GROUP BY (product_data::product_info_similarity).info.category;
Activity
manticore-projects commentedon Nov 21, 2025
Certainly and it is way out of my scope.
PRs are welcome though it will certainly take some refactoring to get this done.