public SqlType Execute() { string identifier = GetIdentifier(); SqlType result; if ( identifier == Constants.As ) { result = null; } else { result = new SqlType( identifier ); if ( !Tokenizer.IsNextToken( Constants.OpenBracket ) ) return result; using ( Tokenizer.ExpectBrackets() ) { string token = CurrentToken; ReadNextToken(); result.Max = ( String.Compare( token, "MAX", true ) == 0 ); if ( !result.Max ) { result.Length = Int32.Parse( token ); if ( Tokenizer.TokenEquals( Constants.Comma ) ) { result.Scale = Int32.Parse( CurrentToken ); ReadNextToken(); } } } } return result; }
public SqlType Execute() { string identifier = GetIdentifier(); if (String.Equals(identifier, Constants.As, StringComparison.InvariantCultureIgnoreCase)) return null; var result = new SqlType(identifier); if (Tokenizer.IsNextToken(Constants.Precision)) { result.Name = String.Format("{0} {1}", result.Name, Constants.Precision); ReadNextToken(); } if (!Tokenizer.IsNextToken(Constants.OpenBracket)) return result; using (Tokenizer.ExpectBrackets()) { string token = CurrentToken; ReadNextToken(); result.Max = (String.Compare(token, Constants.Max, true) == 0); if (!result.Max) { result.Length = Int32.Parse(token); if (Tokenizer.TokenEquals(Constants.Comma)) { result.Scale = Int32.Parse(CurrentToken); ReadNextToken(); } } } return result; }
public CastExpression( Expression parent, SqlType outputType) : this(parent) { OutputType = outputType; }