Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtsushi Eno <atsushieno@gmail.com>2005-02-10 21:56:19 +0300
committerAtsushi Eno <atsushieno@gmail.com>2005-02-10 21:56:19 +0300
commit7b8d0e6bccb770847cae5dbe2df26db75ef5a385 (patch)
treed2da182d5d9ba67dbdc41a81f221b4ef2cf58832 /mcs/class/System.Data/Mono.Data.SqlExpressions
parent2ad0cfcf7c4fa405fef4c1d5f7f8f01f612ea587 (diff)
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. svn path=/trunk/mcs/; revision=40417
Diffstat (limited to 'mcs/class/System.Data/Mono.Data.SqlExpressions')
-rw-r--r--mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog5
-rw-r--r--mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs2
-rw-r--r--mcs/class/System.Data/Mono.Data.SqlExpressions/Comparison.cs10
3 files changed, 13 insertions, 4 deletions
diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog
index def0b999010..4cc6aba3137 100644
--- a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog
+++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog
@@ -1,3 +1,8 @@
+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().
diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs b/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs
index 5a8d8edf7a5..ff365875773 100644
--- a/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs
+++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs
@@ -128,7 +128,7 @@ namespace Mono.Data.SqlExpressions {
if (val == null || val == DBNull.Value)
return null;
- if (val is bool || val is string || val is DateTime)
+ if (val is bool || val is string || val is DateTime || val is Guid)
return val;
if (val is Enum)
diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/Comparison.cs b/mcs/class/System.Data/Mono.Data.SqlExpressions/Comparison.cs
index 5e5284764ab..7c3b69547dc 100644
--- a/mcs/class/System.Data/Mono.Data.SqlExpressions/Comparison.cs
+++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/Comparison.cs
@@ -71,9 +71,13 @@ namespace Mono.Data.SqlExpressions {
try {
if (o1 is string && Numeric.IsNumeric (o2))
- o1 = (IComparable)Convert.ChangeType (o1, o2.GetType ());
- if (o2 is string && Numeric.IsNumeric (o1))
- o2 = (IComparable)Convert.ChangeType (o2, o1.GetType ());
+ o1 = (IComparable) Convert.ChangeType (o1, o2.GetType ());
+ else if (o2 is string && Numeric.IsNumeric (o1))
+ o2 = (IComparable) Convert.ChangeType (o2, o1.GetType ());
+ else if (o1 is string && o2 is Guid)
+ o2 = o2.ToString ();
+ else if (o2 is string && o1 is Guid)
+ o1 = o1.ToString ();
} catch (FormatException) {
throw new EvaluateException (String.Format ("Cannot perform compare operation on {0} and {1}.", o1.GetType(), o2.GetType()));
}