diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2005-01-20 10:07:20 +0300 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2005-01-20 10:07:20 +0300 |
commit | 4c08d6a465d07c09bf7a80e756391b9519dc77a2 (patch) | |
tree | 3be462d73ef8b0f2639f35c940cd60e2cfc23587 /mcs/class/System.Data/Mono.Data.SqlExpressions | |
parent | c4cd97e8119a8d3f849b7f6c78cb06a17a0fc33d (diff) |
2005-01-20 Atsushi Enomoto <atsushi@ximian.com>
* Parser.jay : let's use debug flag when MONO_DEBUG_SQLEXPRESSIONS
environment variable is set.
Fixed substring() function. C# cast does not allow implicit
conversion from object.
svn path=/trunk/mcs/; revision=39230
Diffstat (limited to 'mcs/class/System.Data/Mono.Data.SqlExpressions')
-rw-r--r-- | mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog | 7 | ||||
-rw-r--r-- | mcs/class/System.Data/Mono.Data.SqlExpressions/Parser.jay | 16 |
2 files changed, 21 insertions, 2 deletions
diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog index 3a3f0f79c5d..2451c9a8dd9 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog @@ -1,3 +1,10 @@ +2005-01-20 Atsushi Enomoto <atsushi@ximian.com> + + * Parser.jay : let's use debug flag when MONO_DEBUG_SQLEXPRESSIONS + environment variable is set. + Fixed substring() function. C# cast does not allow implicit + conversion from object. + 2004-07-12 Umadevi S <sumadevi@novell.com> * Tokenizer.cs - read an Int64 from the text instead of Int32. Resolves bug 61203 diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/Parser.jay b/mcs/class/System.Data/Mono.Data.SqlExpressions/Parser.jay index a50aceb7ca7..b988eae294a 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/Parser.jay +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/Parser.jay @@ -15,6 +15,12 @@ using System.Data; namespace Mono.Data.SqlExpressions { internal class Parser { + static Parser () + { + if (Environment.GetEnvironmentVariable ("MONO_DEBUG_SQLEXPRESSIONS") != null) + yacc_verbose_flag = 2; + } + bool cacheAggregationResults = false; DataRow[] aggregationRows = null; static int yacc_verbose_flag; @@ -37,7 +43,11 @@ namespace Mono.Data.SqlExpressions { { try { Tokenizer tokenizer = new Tokenizer (sqlExpr); - return (IExpression) yyparse (tokenizer); + if (yacc_verbose_flag > 1) + return (IExpression) yyparse (tokenizer, + new yydebug.yyDebugSimple ()); + else + return (IExpression) yyparse (tokenizer); } catch (yyParser.yyException e) { throw new SyntaxErrorException (String.Format ("Expression '{0}' is invalid.", sqlExpr)); } @@ -245,7 +255,9 @@ CalcFunction } | SUBSTRING PAROPEN Expr COMMA NumberLiteral COMMA NumberLiteral PARCLOSE { - $$ = new SubstringFunction ((IExpression)$3, (int)$5, (int)$7); + long arg1 = (long) $5; + long arg2 = (long) $7; + $$ = new SubstringFunction ((IExpression)$3, (int) arg1, (int) arg2); } | ISNULL PAROPEN ColumnValue COMMA Expr PARCLOSE { |