2009-10-28  Marek Habersack  <mhabersack@novell.com>

	* Tokenizer.cs, Parser.jay: a work around for 3 reduce/reduce
	conflicts (use of 'NOT LIKE' and 'NOT IN' which would previously
	be ignored because of the conflicts). The grammar still has 6 more
	of those - the real fix is to rewrite it.

2009-07-23  Adam Wendt  <adam@awendtconsulting.com>

	* Comparison.cs (Compare): Parse string if other object is DateTime
	regardless of which side the DateTime is on.

2008-08-18  Marek Habersack  <mhabersack@novell.com>

	* Numeric.cs: Max/Min operations do not convert string
	IConvertibles to double - they perform a simple string compare
	instead.

2008-01-23 Konstantin Triger <kostat@mainsoft.com>

	* Like.cs: when rh expresssion is null or DBNull always return false.

2007-12-24 Konstantin Triger <kostat@mainsoft.com>

	* Parser.jay, StringFunctions.cs, Like.cs: add support for string concat.

2007-07-26  Nagappan A  <anagappan@novell.com>

	* Comparison.cs (Compare): Should always parse the object of type
	DateTime in InvariantCulture CultureInfo, Fixes Bug # 82109.

2007-06-06  Nagappan A  <anagappan@novell.com>

	* ColumnReference.cs (Unify): Return object as it is, if object
	type is char. Fixes bug # 81625.

	* Numeric.cs (IsNumeric): Return false if object type is
	char. Fixes bug # 81625.

2007-02-23  Nagappan A  <anagappan@novell.com>

	* Comparison.cs (Compare): Extra space characters issue when using
	System.Data.DataTable.Select. Fixes bug # 79695.

2006-12-07  Nagappan A  <anagappan@novell.com>

	* Parser.jay (ColumnName): Fix Invalid DataColumn Expression, bug
	# 80169.

2006-06-15  Senganal T  <tsenganal@novell.com>

	* Expression.cs : 
		- EvalBoolean : throw EvaluateException unless overridden.
		- UnaryExpression.EvalBoolean : override EvalBoolean
	* Like.cs, In.cs, ColumnReference.cs : override EvalBoolean 

2006-06-09  Juraj Skripsky <js@hotfeet.ch>

	* Tokenizer.cs (ProcessEscapes): Inspect the next character, not the one
	after that.

2006-05-02  Senganal T  <tsenganal@novell.com>

	* Parser.jay : fix the rule for IsNull. Fixes bug #78254
	* Functions.cs : 
		- IsNullFunction.Eval : If expr evaluates to null or DBNull.Value, return the
		default expression value.

2006-03-27	Boris Kirzner <borisk@mainsoft.com>
	* Aggregation.cs: fix possible NullReferenceException.

2006-02-03  Senganal T  <tsenganal@novell.com>
	
	* ColumnReference.cs : 
		- GetReferencedRow () 
		- GetReferencedRows() : Verify the column before getting the values.
		 	Validate the ColumnReference even when the table has no rows.
	* Function.cs : Modified Eval()
		- A tmp fix to check for null. Expression.Eval needs to be modified all
		around to return DBNull.Value.

2006-01-18 Boris Kirzner <borisk@mainsoft.com>
	* ColumnReference.cs: added column and relation lazy evaluation 
	and caching.

2006-01-09 Senganal T <tsenganal@novell.com>
	* Aggregation.cs
	* Expression.cs
		- resolving a name clash in IExpression 

2006-01-06 Senganal T <tsenganal@novell.com>

	* Aggregation.cs
		- a correction to the previous check-in

2006-01-06 Senganal T <tsenganal@novell.com>

	* Aggregation.cs
		- Modified the cache to listen for RowChangedEvents.
	* Expression.cs
	* IExpression.cs
		- Added a Reset Method to cleanup when a Datacolumn is removed
		from a table.
	* Parser.jay
		- Modified to check :
		1.Aggregate Functions : Only for columns returning multiple values (child/local)
		2.Other Numeric/Functions : Only for columns that return single value (parent/local)

2005-12-20 Senganal T <tsenganal@novell.com>

	* Aggregation.cs :
		Modified the Eval and CalculateStatisticalFunction to add boundary checks.
		Fixes #77025.

2005-11-30 Konstantin Triger <kostat@mainsoft.com>

	* Parser.jay: use Convert.ToInt32() instead of cast to throw OverflowException.

2005-10-26 Konstantin Triger <kostat@mainsoft.com>

	* In.cs: Fix the enumerator initialization problem.

2005-10-21 Senganal T <tsenganal@novell.com>

	* Numeric.cs :
		- Modified the Max and Min functions to convert strings(numeric) to
		double. Fixes bug #76213. 
 	
2005-09-19 Boris Kirzner <borisk@mainsoft.com>
	* ColumnReference.cs, Expressions.cs, Like.cs, Aggregation.cs, Literal.cs,
	StringFunctions.cs, In.cs, Functions.cs : implemented Equals() 
	and GetHashCode() methods for all Mono.Data.SqlExpressions classes,enabling
	comparison of the filter expressions.

2005-08-02  Sureshkumar T  <tsureshkumar@novell.com>

	* Tokenizer.cs: ReadString (): added an overload where the
	terminator can be escaped by repeating twice.

2005-06-29  Sureshkumar T  <tsureshkumar@novell.com>

	* ArithmeticExpressions.cs: Eval :if any one of the argument is
	null for an operator, the result is also NULL.

2005-05-02 Konstantin Triger <kostat@mainsoft.com>

        * IExpression interface: Added DependsOn(DataColumn) method, which checks whether the Expression contains a specific column

2005-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Tokenizer.cs: make it not rely in exceptions being thrown to know that
	the array is entirely processed.

2005-02-10  Atsushi Enomoto  <atsushi@ximian.com>

	* Comparison.cs : allow comparison between guid and string.
	* ColumnReference.cs : return guid value too. Fixed bug #72426.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* Comparison.cs : Eval() could be direct invocation to EvalBoolean().

2005-01-26  Atsushi Enomoto  <atsushi@ximian.com>

	* Tokenizer.cs : just throw SyntaxErrorException instead of Exception.

2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>

	* Expression.cs, ColumnReference.cs, BooleanExpression.cs,
	  Aggregation.cs, Literal.cs : added EvalBoolean() to avoid extraneous
	  boxing in RowFilter.

2005-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* Numeric.cs : Fixed ToSameType(). It should let conversion result to
	  reference values.

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

                                                                                
2004-06-17  Boris Kirzner <borisk@mainsoft.com>
        *  Comparison.cs - use 'as' to avoid NullReferenceExeption in casting.

2004-05-13  Umadevi S <sumadevi@novell.com>
        *  Literal.cs - made class internal

2004-05-12  Umadevi S <sumadevi@novell.com>
        * Expression.cs, Functions.cs, In.cs, Like.cs, Parser.jay, StringFunctions.cs - made class/enum/interfaces internal

2004-05-12  Umadevi S <sumadevi@novell.com>
        * BooleanExpression.cs,ColumnReference.cs, Comparision.cs - made class/enum internal

2004-05-12  Umadevi S <sumadevi@novell.com>
        * ArthimeticExpression.cs - made class internal

2004-05012  Umadevi S <sumadevi@novell.com>
	* Aggregation.cs - made class/enums/interfaces internal 

2004-05-05  Atsushi Enomoto <atsushi@ximian.com>

	* ArithmeticExpressions.cs: avoid null exception on add operation.

2004-04-29  Juraj Skripsky <juraj@hotfeet.ch>

	* Parser.jay: Fix rule for negative expressions.
	Add precedence rules for '<' and '>'.

2004-04-28 Boris Kirzner <borisk@mainsoft.com>

	* ColumnReference.cs : using DataRow _inExpressionEvaluation before accessing row value
	  to get an access to deleted rows also.

2004-04-22  Juraj Skripsky <juraj@hotfeet.ch>

	* Parser.jay: Allow computed expressions on left-hand side of
	"like" operator.
	Correct ordering for "is null" rule ("NOT IS NULL" => "IS NOT NULL"). 

2004-04-20  Juraj Skripsky <juraj@hotfeet.ch>

	* Tokenizer.cs (ReadNumber): Correctly consume decimal point
	when reading numbers. Fixes bug #57251.

2004-03-31  Juraj Skripsky <juraj@hotfeet.ch>

	* Parser.jay, ColumnReference.cs, Comparison.cs, Functions.cs,
	Aggregation.cs : fix bugs exposed by DataColumnTest.cs.

2004-03-29  Juraj Skripsky <juraj@hotfeet.ch>

	* Initial implementation.
