Hey everyone,

I have encountered a problem with my Table API Program. I am trying to use a 
nested attribute as a watermark. The structure of my schema is a row, which 
itself has 3 rows as attributes and they again have some attributes, especially 
the Timestamp that I want to use as a watermark. Flink does not let me 
reference it using the dot operator, sadly. I checked the sourcecode and 
tracked it down to this (part of a) method in the DefaultSchemaResolver:

private Column validateTimeColumn(String columnName, List<Column> columns) {
    final Optional<Column> timeColumn =
            columns.stream().filter(c -> 
c.getName().equals(columnName)).findFirst();
    if (!timeColumn.isPresent()) {
        throw new ValidationException(
                String.format(
                        "Invalid column name '%s' for rowtime attribute in 
watermark declaration. Available columns are: %s",
                        columnName,
                        
columns.stream().map(Column::getName).collect(Collectors.toList())));
    } ...
The list of available columns is just the 3 rows and none of the nested 
attributes. Is there a reason for nested columns being unavailable for 
watermark declaration? Or am I overseeing something / doing something wrong?

-Theo

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to