@Override
    protected Scope visitPipeEnriched(PipeEnriched node, Optional<Scope> scope) {
      // The LoadTsFile statement is a special case, it needs isGeneratedByPipe information
      // in the analyzer to execute the tsfile-tablet conversion in some cases.
      if (node.getInnerStatement() instanceof LoadTsFile) {
        ((LoadTsFile) node.getInnerStatement()).markIsGeneratedByPipe();
      }

      final Scope ret = node.getInnerStatement().accept(this, scope);
      createAndAssignScope(node, scope);
      analysis.setScope(node, ret);
      return ret;
    }
Visitor context represents local query scope (if exists). The invariant is that the local query
scopes hierarchy should always have outer query scope (if provided) as ancestor.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java