[ 
https://issues.apache.org/jira/browse/CALCITE-4156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17173212#comment-17173212
 ] 

Ruben Q L commented on CALCITE-4156:
------------------------------------

Follow-up: fixed via 
https://github.com/apache/calcite/commit/02a031e7d82b6d6c8e590979818e1b53039ec543

> ReflectiveRelMetadataProvider constructor should throw an exception (instead 
> of assertion) when called with an empty map
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-4156
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4156
>             Project: Calcite
>          Issue Type: Task
>          Components: core
>            Reporter: Ruben Q L
>            Assignee: Ruben Q L
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.25.0
>
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> ReflectiveRelMetadataProvider's constructor verifies that it is not created 
> with an empty map, using an assertion. However, this is not the most reliable 
> way of verifying this situation, since assertions can be deactivated. In such 
> scenario, we could silently end up having an invalid 
> ReflectiveRelMetadataProvider, with no actual methods attached.
> Also, since the map is private and has no getter, there is no way for a 
> caller module to verify this situation on its side.
> For this reason, it is proposed a minor change: replace the assertion with an 
> IllegalArgumentException, which will work in 100% of the cases and will 
> always prevent constructing an invalid ReflectiveRelMetadataProvider.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to