Example #1
0
        public static string Format(string sql)
        {
            var tokenizer = new PoorMansTSqlFormatterLib.Tokenizers.TSqlStandardTokenizer();
            var parser = new PoorMansTSqlFormatterLib.Parsers.TSqlStandardParser();

            var tokenizedSql = tokenizer.TokenizeSQL(sql);

            var parsedSql = parser.ParseSQL(tokenizedSql);

            var innerFormatter = new PoorMansTSqlFormatterLib.Formatters.TSqlStandardFormatter();

            //webBrowser_OutputSql.SetHTML(_formatter.FormatSQLTree(parsedSql));
            return innerFormatter.FormatSQLTree(parsedSql);
        }
Example #2
0
        public static string Format(string sql)
        {
            var tokenizer = new PoorMansTSqlFormatterLib.Tokenizers.TSqlStandardTokenizer();
            var parser    = new PoorMansTSqlFormatterLib.Parsers.TSqlStandardParser();

            var tokenizedSql = tokenizer.TokenizeSQL(sql);

            var parsedSql = parser.ParseSQL(tokenizedSql);

            var innerFormatter = new PoorMansTSqlFormatterLib.Formatters.TSqlStandardFormatter();

            //webBrowser_OutputSql.SetHTML(_formatter.FormatSQLTree(parsedSql));
            return(innerFormatter.FormatSQLTree(parsedSql));
        }
Example #3
0
        private void TokenizeSql(DataTable dt, string columnName)
        {
            var col = dt.Columns.Add("short_query").Ordinal;

            var tokenizer = new PoorMansTSqlFormatterLib.Tokenizers.TSqlStandardTokenizer();
            var parser    = new PoorMansTSqlFormatterLib.Parsers.TSqlStandardParser();

            foreach (DataRow r in dt.Rows)
            {
                var qry = r.Field <string>(columnName);
                if (qry.Length <= 100)
                {
                    r[col] = qry;
                }
                else
                {
                    var res = parser.ParseSQL(
                        tokenizer.TokenizeSQL(qry)
                        );
                    var txt = "";
                    var tmp = res.SelectSingleNode("/SqlRoot/SqlStatement/Clause/OtherKeyword");
                    if (tmp != null)
                    {
                        txt += tmp.InnerText + " [...] ";
                    }

                    var tmp2 = res.SelectNodes("/SqlRoot/SqlStatement/*/SelectionTarget");
                    if (tmp2 != null)
                    {
                        txt += String.Join(", ", tmp2.Cast <XmlNode>().Select(x => x.InnerText).Take(5));
                    }
                    if (String.IsNullOrWhiteSpace(txt))
                    {
                        txt = qry.Substring(1, 100);
                    }
                    r[col] = txt;
                }
                //res document xml
            }
        }
        private void TokenizeSql(DataTable dt, string columnName)
        {
            var col = dt.Columns.Add("short_query").Ordinal;

            var tokenizer = new PoorMansTSqlFormatterLib.Tokenizers.TSqlStandardTokenizer();
            var parser = new PoorMansTSqlFormatterLib.Parsers.TSqlStandardParser();
            foreach (DataRow r in dt.Rows)
            {
                var qry = r.Field<string>(columnName);
                if (qry.Length <= 100)
                {
                    r[col] = qry;
                }
                else
                {
                    var res = parser.ParseSQL(
                        tokenizer.TokenizeSQL(qry)
                        );
                    var txt = "";
                    var tmp = res.SelectSingleNode("/SqlRoot/SqlStatement/Clause/OtherKeyword");
                    if (tmp != null) txt += tmp.InnerText + " [...] ";

                    var tmp2 = res.SelectNodes("/SqlRoot/SqlStatement/*/SelectionTarget");
                    if (tmp2 != null)
                    {
                        txt += String.Join(", ", tmp2.Cast<XmlNode>().Select(x => x.InnerText).Take(5));
                    }
                    if (String.IsNullOrWhiteSpace(txt)) txt = qry.Substring(1, 100);
                    r[col] = txt;
                }
                //res document xml
            }
        }