Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-20319

Improving the visitor pattern for operations

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.11.2
    • None
    • Table SQL / API
    • None

    Description

      The *OperationVisitor interfaces (which are not public API) don't always implement the visitor pattern correctly, and some things which would be useful are missing. Some things I discovered:

      1. CatalogSinkModifyOperation doesn't accept() its child. It's likely that others have this problem as well, but I haven't checked further.
      2. The base Operation interface doesn't have an accept() method at all. Potentially intentional since this interface actually is public API?
      3. There's a catch-all QueryOperationVisitor#visit(QueryOperation other) that would be nice to split up into its subtypes (PlannerQueryOperation, …)

      Attachments

        Activity

          People

            Unassigned Unassigned
            airblader Ingo Bürk
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: