Example #1
0
        private string GetDeclareStatement(QueryPlanType queryPlan)
        {
            if (queryPlan?.ParameterList == null || queryPlan.ParameterList.Length == 0)
            {
                return("");
            }

            var result        = StringBuilderCache.Get();
            var paramTypeList = paramRegex.Match(StatementText);

            if (!paramTypeList.Success)
            {
                return("");
            }
            // TODO: get test cases and move this to a single multi-match regex
            var paramTypes = paramSplitRegex.Split(paramTypeList.Groups[1].Value).Select(p => p.Split(StringSplits.Space));

            foreach (var p in queryPlan.ParameterList)
            {
                var paramType = paramTypes.FirstOrDefault(pt => pt[0] == p.Column);
                if (paramType != null)
                {
                    result.AppendFormat(declareFormat, p.Column, paramType[1], p.ParameterCompiledValue)
                    .AppendLine();
                }
            }
            return(result.Length > 0 ? result.Insert(0, "-- Compiled Params\n").ToStringRecycle() : result.ToStringRecycle());
        }
Example #2
0
        private string GetDeclareStatement(QueryPlanType queryPlan)
        {
            if (queryPlan == null || queryPlan.ParameterList == null || !queryPlan.ParameterList.Any())
            {
                return("");
            }

            var result        = new StringBuilder();
            var paramTypeList = paramRegex.Match(StatementText);

            if (!paramTypeList.Success)
            {
                return("");
            }

            var paramTypes = paramTypeList.Groups[1].Value.Split(StringSplits.Comma).Select(p => p.Split(StringSplits.Space));

            queryPlan.ParameterList.ForEach(p =>
            {
                var paramType = paramTypes.FirstOrDefault(pt => pt[0] == p.Column);
                if (paramType != null)
                {
                    result.AppendFormat(declareFormat, p.Column, paramType[1], p.ParameterCompiledValue)
                    .AppendLine();
                }
            });
            return(result.Length > 0 ? result.Insert(0, "-- Compiled Params\n").ToString() : "");
        }