/// <summary> /// This is a clever way to produce an SQL statement like this: /// /// (select 'Spacesdd' as Tag, 'default' as [Group] /// union /// select 'Cool' as Tag, 'default' as [Group] /// ) as TagSet /// /// This allows us to use the tags to be inserted as a temporary in memory table. /// </summary> /// <param name="tagsToInsert"></param> /// <returns></returns> private string GetTagSet(IEnumerable <ITag> tagsToInsert) { //TODO: Fix this query, since this is going to be basically a unique query each time, this will cause some mem usage in peta poco, // and surely there's a nicer way! //TODO: When we fix, be sure to remove the @ symbol escape var array = tagsToInsert .Select(tag => string.Format("select '{0}' as Tag, '{1}' as " + SqlSyntax.GetQuotedColumnName("group") + @"", PetaPocoExtensions.EscapeAtSymbols(tag.Text.Replace("'", "''")), tag.Group)) .ToArray(); return("(" + string.Join(" union ", array).Replace(" ", " ") + ") as TagSet"); }
public virtual string EscapeString(string val) { return(PetaPocoExtensions.EscapeAtSymbols(val.Replace("'", "''"))); }
public override string EscapeString(string val) { return(PetaPocoExtensions.EscapeAtSymbols(MySql.Data.MySqlClient.MySqlHelper.EscapeString(val))); }
public virtual string EscapeAtArgument(string exp) { return(PetaPocoExtensions.EscapeAtSymbols(exp)); }