'Initialize collections related to CTEs only if
a CTE is located, to save on the overhead of
these collections otherwise.'

@util.memoized_instancemethod
def _init_cte_state(self):

    self.ctes = util.OrderedDict()
    self.ctes_by_name = {}
    self.ctes_recursive = False
    if self.positional:
        self.cte_positional = []
