/** * Returns the * {@link BuiltInMetadata.ColumnOrigin#getColumnOrigins(int)} * statistic. * * @param rel the relational expression * @param column 0-based ordinal for output column of interest * @return set of origin columns, or null if this information cannot be * determined (whereas empty set indicates definitely no origin columns at * all) */ public Set<RelColumnOrigin> getColumnOrigins(RelNode rel, int column) { for (;;) { try { return columnOriginHandler.getColumnOrigins(rel, this, column); } catch (JaninoRelMetadataProvider.NoHandler e) { columnOriginHandler = revise(e.relClass, BuiltInMetadata.ColumnOrigin.DEF); } } }
/** * Returns the * {@link BuiltInMetadata.ColumnOrigin#getColumnOrigins(int)} * statistic. * * @param rel the relational expression * @param column 0-based ordinal for output column of interest * @return set of origin columns, or null if this information cannot be * determined (whereas empty set indicates definitely no origin columns at * all) */ public Set<RelColumnOrigin> getColumnOrigins(RelNode rel, int column) { for (;;) { try { return columnOriginHandler.getColumnOrigins(rel, this, column); } catch (JaninoRelMetadataProvider.NoHandler e) { columnOriginHandler = revise(e.relClass, BuiltInMetadata.ColumnOrigin.DEF); } } }