http://bugzilla.novell.com/show_bug.cgi?id=591443
http://bugzilla.novell.com/show_bug.cgi?id=591443#c0 Summary: Cloning a DataColumn with Expression result in a DataColumn in an invalid state Classification: Mono Product: Mono: Class Libraries Version: 2.6.x Platform: All OS/Version: All Status: NEW Severity: Critical 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 Cloning a DataColumn that has an Expression will result in a DataColumn that has an Expression set but for which the CompiledExpression is null. This causes an exception when trying to read a row value for that column Reproducible: Always Steps to Reproduce: 1. Create a DataTable + DataColumn with an expression 2. Clone the DataTable 3. Add a row to the cloned DataTable 4. Try to read the column value of that row Actual Results: A null exception is thrown Expected Results: We should get back the result of the expression for that row/column The problem comes from the clone copying the _expression field but not the _compiledExpression. I think the Expression should be parsed and compiled on demand in the CompiledExpression property instead of in the Expression property. This would fix the problem and also allow column #1 expression to depend on column #2. Today, you cannot add an expression that depends on a column that doesn't exists yet. This is a problem with the Deserialization. The downside would be that invalid expression wouldn't be detected until the row value is accessed, but if the row value is never accessed, then the expression will never be parsed & compiled which might be good. -- 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
