private void AddParameter(LqlObject lqlObject, string value, bool fullTextSearchEnabled) { IncrementParamCounter(); var paramName = GetParameterName(); var parameter = new SqlParameter(paramName, SqlDbType.VarChar, GetVarcharLength(lqlObject)); if (fullTextSearchEnabled) parameter.Value = "\"" + value + "\""; else parameter.Value = value; _sb.Append(paramName); Parameters.Add(parameter); }
private bool IsFullTextSearchCompatible(LqlObject lqlObject, LqlOperator lqlOperator) { return (lqlObject != LqlObject.Application && lqlObject != LqlObject.Fingerprint) && (lqlOperator == LqlOperator.Like || lqlOperator == LqlOperator.NotLike); }
private string GetColumnName(LqlObject lqlObject) { switch (lqlObject) { case LqlObject.Application: return "ED.ApplicationId"; case LqlObject.Fingerprint: return "ED.FingerprintText"; case LqlObject.StackFrame: return "EB.StackFrame"; case LqlObject.ExceptionType: return "EB.ExceptionType"; case LqlObject.Message: return "T.MessageDetails"; default: throw new SqlGenerationException("LQL object not supported for SQL generation: " + lqlObject.ToString()); } }
private void AddInParameters(LqlObject lqlObject, List<string> values) { int counter = 0; foreach(var value in values) { if (counter > 0) _sb.Append(","); IncrementParamCounter(); var paramName = GetParameterName(); var parameter = new SqlParameter(paramName, SqlDbType.VarChar, GetVarcharLength(lqlObject)); parameter.Value = value; Parameters.Add(parameter); _sb.Append(paramName); counter++; } }
private int GetVarcharLength(LqlObject lqlObject) { switch (lqlObject) { case LqlObject.Application: return 255; case LqlObject.StackFrame: return 1000; case LqlObject.ExceptionType: return 200; case LqlObject.Message: return 1000; case LqlObject.Fingerprint: return 32; default: return 50; } }