-
- Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Description
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;