http://bugzilla.novell.com/show_bug.cgi?id=588831
http://bugzilla.novell.com/show_bug.cgi?id=588831#c0 Summary: DataColumn Expressions functions TRIM and SUBSTRING don't support calculated functions as argument Classification: Mono Product: Mono: Class Libraries Version: 2.6.x Platform: Macintosh OS/Version: Mac OS X 10.6 Status: NEW Severity: Normal Priority: P5 - None Component: Sys.Data AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7 The following expressions are not supported by System.Data: SUBSTRING(ISNULL([columnName1] + ', ' + [columnName2], [columnName1]), 1, 200) TRIM(ISNULL([columnName1] + ', ' + [columnName2], [columnName1])) Reproducible: Always Steps to Reproduce: 1. DataTable t = new DataTable() ; 2. DataColumn c1 = t.Columns.Add("c1"); 3. DataColumn c2 = t.Columns.Add("c2"); 4. c2.Expression = "TRIM(ISNULL(c1,' ')"; 4. c2.Expression = "SUBSTRING(ISNULL(c1,' '), 1, 10)"; Actual Results: Unhandled Exception: System.Data.SyntaxErrorException: Expression 'TRIM(ISNULL(c1,''))' is invalid. at Mono.Data.SqlExpressions.Parser.Compile (System.String sqlExpr) [0x00041] in /private/tmp/monobuild/build/BUILD/mono-2.6.1/mcs/class/System.Data/Mono.Data.SqlExpressions/Mono.Data.SqlExpressions/Parser.jay:52 at System.Data.DataColumn.set_Expression (System.String value) [0x000a2] in /private/tmp/monobuild/build/BUILD/mono-2.6.1/mcs/class/System.Data/System.Data/DataColumn.cs:499 at TestExpression.MainClass.Main (System.String[] args) [0x00054] in /Users/dnormand/TEST/TestExpression/TestExpression/Main.cs:20 Expected Results: No Exception and the expression should work. This is due to the definition of TRIM and SUBSTRING in Mono.Data.SqlExpressions/Parser.jay TRIM And SUBSTRING are StringFunction and accept only StringExpr as argument. StringExpr allows only SingleColumnValue, StringLiteral or StringFunction but NOT CalcFunction. So we can't even use CONVERT(<value>, "System.String") as argument of those functions. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
