public bool VisitExprTempTableName(ExprTempTableName expr, TCtx arg) { var res = this.Visit(expr, "TempTableName", arg, out var argOut); this.VisitPlainProperty("Name", expr.Name, argOut); this._visitor.EndVisitExpr(expr, arg); return(res); }
public override bool VisitExprTempTableName(ExprTempTableName tempTableName, IExpr?parent) { char?prefix = null; if (tempTableName.Name.Length > 0 && tempTableName.Name[0] != '#') { prefix = '#'; } this.AppendName(tempTableName.Name, prefix); return(true); }
public override void VisitDropTable(StatementDropTable statementDropTable) { if (!statementDropTable.IfExists) { this.Builder.Append("DROP TABLE "); statementDropTable.Table.Accept(this.ExprBuilder, null); } else { StatementIfExists ifExists = statementDropTable.Table switch { ExprTableFullName t => new StatementIfTableExists( t, StatementList.Combine(new StatementDropTable(statementDropTable.Table, false)), null), ExprTempTableName tempTable => new StatementIfTempTableExists( tempTable, StatementList.Combine(new StatementDropTable(statementDropTable.Table, false)), null), _ => throw new ArgumentOutOfRangeException() }; ifExists.Accept(this); } }
public static ExprTempTableName WithName(this ExprTempTableName original, String newName) => new ExprTempTableName(name: newName);
public abstract bool VisitExprTempTableName(ExprTempTableName tempTableName, IExpr?parent);
public StatementIfTempTableExists(ExprTempTableName table, StatementList statements, StatementList?elseStatements) : base(statements, elseStatements) { this.Table = table; }