public static boolean isCompositeType(LogicalType logicalType) {
        if (logicalType instanceof DistinctType) {
            return isCompositeType(((DistinctType) logicalType).getSourceType());
        }

        LogicalTypeRoot typeRoot = logicalType.getTypeRoot();
        return typeRoot == STRUCTURED_TYPE || typeRoot == ROW;
    }
@Test
    void testIsCompositeTypeRowType() {
        DataType dataType = ROW(FIELD("f0", INT()), FIELD("f1", STRING()));

        assertThat(LogicalTypeChecks.isCompositeType(dataType.getLogicalType())).isTrue();
    }