internal Visitor(bool doLifting, HashSet<SqlAlias> aliasesForLifting, HashSet<SqlExpression> liftedExpressions) {
     this.doLifting = doLifting;
     this.aliases = new SqlAliasesReferenced(aliasesForLifting);
     this.referencedColumns = new HashSet<SqlColumn>();
     this.liftedExpressions = liftedExpressions;
     this.canLiftAll = true;
     if (doLifting)
         this.lifted = new List<List<SqlColumn>>();
     this.aggregateChecker = new SqlAggregateChecker();
 }
 internal Visitor(SqlAliasesReferenced parent) {
     this.parent = parent;
 }