**** Merged from MCS ****
[mono-project.git] / mcs / class / System.XML / System.Xml.Query / ChangeLog
blobe5eeb18a25dcca9b96befbea47f78fc020183a97
1 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
3         * XQueryConvert.cs : hexbinary to base64 is now byte[] to byte[].
5 2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
7         * XQueryConvert.cs : now it is in System.Xml and made as public.
9 2004-10-08  Atsushi Enomoto <atsushi@ximian.com>
11         * XQueryParser.jay : I was mixing XPath1 class and XPath2.
13 2004-10-08  Atsushi Enomoto <atsushi@ximian.com>
15         * XQueryCliFunction.cs : native method invokation was still crashing.
17 2004-10-08  Atsushi Enomoto <atsushi@ximian.com>
19         * XPathSequence.cs :
20           missed last checkin.
21           Added WrapperIterator, RemovalIterator for fn:remove(),
22           InsertingIterator for fn:insertBefore() and DistinctValueIterator
23           for fn:distinct-values().
24         * XQueryCliFunction.cs :
25           Improved error message. Handle null argument as empty sequence.
26         * XQueryFunction.cs :
27           Fixed incorrect function name fn:zero-or-more -> fn:zero-or-one.
28         * XQueryFunctionCliImpl.cs :
29           Implemented some functions. Fixed some function signatures.
31 2004-10-07  Atsushi Enomoto <atsushi@ximian.com>
33         * XPath2Expression.cs, XPathSequence.cs :
34           Changed ListIterator.ctor() signature not to demand current sequence.
35         * XQueryCliFunction.cs, XQueryFunctionCliImpl.cs :
36           Now, to represent a sequence, IEnumerable is not used anymore (it is
37           confusing because System.String is also IEnumerable). So those native
38           functions should just require XPathSequence (for user functions?
39           not idea how MS will solve the "problem").
41           If a native function method has [XQueryFunctionContext] attribute,
42           then it means that the function requires current sequence, so fill
43           it before invoking the method.
44         * XQueryFunctionContextAttribute.cs : added, to mark "it needs
45           current sequence" for fn:position() and fn:count().
47 2004-10-05  Atsushi Enomoto <atsushi@ximian.com>
49         * XPathSequence.cs, XQueryTokenizer.cs :
50           removed commented && unused code.
51         * XQueryContext.cs, XQueryCliFunction.cs, XQueryFunction.cs,
52           XQueryFunctionCliImpl.cs :
53           Now that position() requires current sequence that is not managed by
54           XQueryContextManager (that is for FLWOR), it need to support
55           XPathSequence input as the current node information.
57 2004-10-05  Atsushi Enomoto <atsushi@ximian.com>
59         * XQueryParser.jay, XQueryTokenizer.cs :
60           Added attribute value template support.
61         * XPath2Expression.cs : Inside attribute value, expressions must not
62           serialize attributes as attribute node but should just pick value up.
63           e.g. attr="{foo/@bar}" and <elem>{foo/@bar}</elem> are different.
65 2004-10-04  Atsushi Enomoto <atsushi@ximian.com>
67         * XQueryParser.jay, XPath2Expression.cs, XPathSequence.cs :
68           two or more Filter expressions could be simply constructed as
69           nested FilterExpr objects.
71 2004-09-22  Atsushi Enomoto <atsushi@ximian.com>
73         * SequenceType.cs : return TypedValue instead of null in case of
74           XPathNavigator.
75         * XPath2Expression.cs : now FunctionCallExpr also handles evaluation.
76         * XPathSequence.cs : rewrote FLWORIterator to iterate forlet
77           expressions based on index.
79 2004-09-13  Atsushi Enomoto <atsushi@ximian.com>
81         * SequenceType.cs, XPath2Expression.cs :
82           Added SequenceType.IsNumeric(XmlTypeCode).
83           In type comparison, untyped XPathNavigator is xdt:untypedAtomic
84           (not sure as yet if it is always correct.)
85         * XQueryComparisonOperator.cs : rewrote all numeric comparison using
86           IsNumeric().
88 2004-09-12  Atsushi Enomoto <atsushi@ximian.com>
90         * XPath2Expression.cs : ComparisonExpr.CompareAtomic() should consider
91           spec-conformant untypedAtomic handling.
92         * XQueryContext.cs : Variables were incorrectly added to the older
93           context. Fixed Context and ContextManager constructors that were 
94           in silly chicken-and-egg.
95         * XPathSequence.cs : now Context property always returns current
96           XQuery context (will be fixed; it is workaround for variable
97           resolution). In For iteration, context sequence should vary.
98         * XQueryComparisonOperator.cs : All value comparison failed to return
99           true when both operands are the same types.
100         * XsltCommand.cs : use XmlWriter.Create().
102 2004-09-08  Atsushi Enomoto <atsushi@ximian.com>
104         * XPathSequence.cs : workarounded bug #65521. Erased foreach inside
105           iterators.
107 2004-09-08  Atsushi Enomoto <atsushi@ximian.com>
109         * XPath2Expression.cs : fixed EnclosedExpr.Compile() that resulted
110           in index out of range.
111         * XPathSequence.cs : FLWORIterator got working, but only when compiled
112           with .NET 2.0 csc (still weird Invalid IL error happens).
114 2004-08-31  Atsushi Enomoto <atsushi@ximian.com>
116         * XPath2Expression.cs,
117           XPathSequence.cs :
118           Implemented GroupExpr.Evaluate() [union/intersect/except].
119           Fixed incorrect iterator input for DescendantExpr.Evaluate().
120           MinusExpr is (already) implemented not to be evaluated.
121         * XQueryExpression.cs :
122           PI name and nameExpr could be implemented.
123         * XQueryFunction.cs :
124           UserFunctionCallExpr.Invoke() should not be invoked.
125         * XQueryFunctionCliImpl.cs :
126           Implemented count(), doc(). Halfly implemented trace().
127         * XmlQueryException.cs : Serializable.
129 2004-08-31  Atsushi Enomoto <atsushi@ximian.com>
131         * XPath2Expression.cs :
132           Implemented the whole ComparisonExpr.Evaluate(). It now handles
133           empty sequence expectedly.
134         * XQueryComparisonOperator.cs : added.
136 2004-08-31  Atsushi Enomoto <atsushi@ximian.com>
138         * XPath2Expression.cs :
139           Revised some parameters for XPathSequence classes ctor().
140           Don't require XPathSequence while they are not required.
141           AxisIterator need to accept only current node as its input.
142           Implemented node comparison operators.
143           Removed AxisStepExpr.ParentStep (in the future it might hold line
144           information).
145         * XQueryParser.jay : changes wrt AxisStepExpr.ParentStep.
146         * XPathSequence.cs, XQueryExpression.cs, XQueryFunction.cs :
147           Removed some extraneous code.
148           NodeIterator.ctor() now requires XPathNavigator and XQueryContext
149           instead of XPathSequence.
150           Added SelfIterator (derived from NodeIterator).
152 2004-08-31  Atsushi Enomoto <atsushi@ximian.com>
154         * XQueryArithmeticOperator.cs : added.
155         * XPath2Expression.cs, XQueryParser.jay :
156           renamed some ArithmeticOperator enumeration members.
157           Implemented ArithmeticOperationExpr.Evaluate().
159 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
161         * XPathSequence.cs : fixed NodeIterator to get correct current node
162           from the input sequence. Now open MoveNext() again as public to
163           allow override by NodeIterator.
165 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
167         * XPath2Expression.cs : empty ExprSequence should not be allowed for
168           FLWORExpr.WhereClause. It should be null.
169         * XPathSequence.cs : ExprSequenceIterator.Clone() was missing copy of
170           the input sequence. FLWORIterator.MoveNext() had incorrect !(not)
171           and wrong Where test.
172         * XQueryContext.cs : sequence should be cloned when pushed to context.
174 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
176         * XQueryCommandImpl.cs : dust cleaning :(
178 2004-08-30  Atsushi Enomoto <atsushi@ximian.com>
180         * XQueryASTCompiler.cs, XQueryStaticContext.cs :
181           Now it requires Evidence and XQueryCommandImpl for security check 
182           and event dispatch.
183         * XQueryCommandImpl.cs :
184           Provide Evidence for compiler. Added some code for message dispatch.
185         * XQueryContext.cs :
186           Now don't pool variable only in XQueryContextManager.
187           When variable name could not be resolved, return empty sequence
188           (not sure if it is always correct).
189           Fixes which reflects XPathEmptySequence.ctor() parameter changes.
190         * XQueryCliFunction.cs :
191           Now it requires CAS if Evidence is supplied (in the future 
192           Evidence won't be null _at any time_).
193         * XQueryConvert.cs :
194           implemented GetFallbackType(). Fixed some comments.
195         * XPathSequence.cs :
196           Don't require XPathSequence as an argument for XPathEmptySequence.
197           Implemented FilteredIterator.
198           Implemented FLWORIterator partly (not working).
199           Fixed some incorrect exception type: XPathEx- to XmlQueryEx-.
200           Dispatch message event to XQueryStaticContext.OnMessageEvent().
201           Added EnumeratorIterator.
202         * XQueryFunction.cs:
203           Fixes which reflects XPathEmptySequence.ctor() parameter changes.
204         * XQueryExpression.cs :
205           Commonized content serialization for node constructors.
206         * XPath2Expression.cs :
207           use XPathItem.TypedValue instead of (string) Value.
208           In effective boolean value computation, Check Decimal as well. 
209           Fixed misimplemented QuantifiedExpr.EvaluateAsBoolean().
210           Fix which reflects XQueryContext.PushVariables() changes.
211           Handle possible null argument on ParenthesizedExpr i.e. "( )".
213 2004-08-26  Atsushi Enomoto <atsushi@ximian.com>
215         * XPath2Expression.cs :
216           Fixed PathRootExpr.Evaluate() that always failed.
217           Renamed PathChildExpr to PathSlashExpr, PathDescendantExpr to
218           PathSlash2Expr, and added abstract PathStepExpr.
219           PathSlash2Expr.Evaluate() now uses PathStepIterator
220         * XPathSequence.cs :
221           - Modified MoveNextCore() as protected.
222           - Fixed SingleItemIterator.MoveNext() to be simple.
223           - Renamed ChildPathIterator to PathStepIterator. Mostly copied 
224             SlashIterator logic from Iterator.cs into PathStepIterator.
225           - Removed DescendantPathIterator ("//" should be the same as
226             "/descendant-or-self::node()/").
227           - NodeIterator.Node should come from current node, not context node.
228           - Added dummy flag for NodeIterator's copy constructor (that resulted
229             in incorrect copying for some usecases).
230         * XQueryParser.jay : Fixes in sync with Expr class name changes.
232 2004-08-26  Atsushi Enomoto <atsushi@ximian.com>
234         * XPath2Expression.cs :
235           Don't compute node's EBV based on atomized value.
237 2004-08-26  Atsushi Enomoto <atsushi@ximian.com>
239         * XPath2Expression.cs : in Compiler(), function call's arguments must
240           also be compiled.
241         * XQueryASTCompiler.cs : When function is external, it should not try
242           to compile body, and tries to handle it as a native CLI method (I
243           don't like this name resolution design very much, so it is likely
244           to be redesigned).
245         * XQueryCliFunction.cs : trivial code comment fix.
246         * XQueryFunction : added user-specified function call support.
247           When CLI function returned null, don't wrap null and just return
248           XQueryEmptySequence.
249         * XQueryFunctionCliImpl.cs : fn:nilled() requires certain node.
250           Implemented numeric functions (in the future they might be
251           rewritten to avoid boxing).
252         * XQueryTokenizer.cs : Skip XQuery comment inside default state.
253           PI and XML comment are not read correctly.
255 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
257         * XPath2Expression.cs :
258           Check write state before writing document node.
259           Check if navigator's SchemaInfo is null or not before atomizing.
260           Use individual axis-based iterator in AxisStepExpr.Evaluate().
261         * XPathSequence.cs : added individual axis-based iterator.
262           Removed commented NodeKindTestIterator.
263         * XQueryCliFunction.cs, XQueryContext.cs, XQueryFunction.cs :
264           Now XQueryContext.CurrentItem explicitly throws exception if
265           no context node was provided (also XQueryCommand.Execute() is
266           fixed not to provide empty document as input).
267           Now XQueryFunction should not access to CurrentItem unless it is
268           required.
269         * XQueryFunctionCliImpl.cs : fixed more method signatures.
271 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
273         * removed IXmlCompilerInclude.cs (does not exist anymore).
275 2004-08-25  Atsushi Enomoto <atsushi@ximian.com>
277         * SequenceType.cs : moved type inference method to XPathAtomicValue.
278           Use IsArray in runtime type inference. Initialize fields completely.
279           Handle collection to runtime type for functions that takes array.
280         * XPath2Expression.cs : Add whitespaces on serializing XPath items.
281           EBV != atomized boolean value. Add Atomize() for XPathItem (Atomize()
282           for XPathSequence should be removed in the future).
283           Replaced some ExprSequence to ExprSingle for optimization.
284         * XQueryFunctionCliImpl.cs : Fixed some return types.
285         * XQueryTokenizer.cs : Fixed weird ReadDecimal().
287 2004-08-24  Atsushi Enomoto <atsushi@ximian.com>
289         * SequenceType.cs : added ToRuntimeType().
290         * XPath2Expression.cs : override is required.
291         * XPathSequence.cs : fixed ExprSequenceIterator.MoveNext() that caused
292           infinite loop.
293         * XQueryCompileContext.cs : CultureInfo was missing.
294         * XQueryContext.cs : CurrentContext must be created after setting
295           currentSequence.
296         * XQueryConvert.cs : DateTimeToString() was missing.
297         * XQueryFunction.cs : convert parameters to runtime type before 
298           being used in Invoke(). Use function's ReturnType to create typed
299           atomic.
300         * XQueryParser.jay : create XQueryFunctionArgumentList instance
301           for function calls that does not have parameters.
303 2004-08-23  Atsushi Enomoto <atsushi@ximian.com>
305         * SequenceType.cs, XPath2Expression.cs, XQueryASTCompiler.cs,
306           XQueryCliFunction.cs, XQueryCompileOptions.cs, XQueryContext.cs,
307           XQueryConvert.cs, XQueryExpression.cs, XQueryFunction,cs,
308           XQueryFunctionCliImpl.cs, XQueryFunctionTable.cs,
309           XQueryModuleProlog.cs, XQueryParser.jay, XQueryStaticContext.cs,
310           XQueryTokenizer.cs :
311           Eliminate MS.Internal.Xml.* classes. More null check everywhere and
312           make Compile() pass though as a dummy. Unified FunctionParam into
313           XQueryFunctionArgument. More kind error message. Several fixes.
315 2004-08-20  Atsushi Enomoto <atsushi@ximian.com>
317         * XQueryExpression.cs : Content for XmlTextConstructor might be null,
318           and use literal text for constructor argument if supplied.
319         * XQueryParser.jay, XQueryTokenizer.cs : Element content literal
320           string was not parsed and kept correctly. Parse CDATA section.
322 2004-08-20  Atsushi Enomoto <atsushi@ximian.com>
324         * XPath2Expression.cs, XQueryConvert.cs, XQueryExpression.cs,
325           XQueryModuleProlog.cs, XQueryParser.jay, XQueryTokenizer.cs :
326           several changes for XQueryCommand.Execute() implementation.
328 2004-08-20  Atsushi Enomoto <atsushi@ximian.com>
330         * XQueryContext.cs, XQueryStaticContext.cs, SequenceType.cs,
331           XPathSequence.cs, XQueryFunction.cs, XQueryFunctionTable.cs,
332           XQueryCliFunction.cs, XQueryCompileContext.cs, XQueryASTCompiler.cs,
333           XQueryCommandImpl.cs, XQueryFunctionCliImpl :
334           new files for XQuery implementation.
336 2004-07-28  Atsushi Enomoto <atsushi@ximian.com>
338         * XmlQueryCompileException.cs : removed extra GetObjectData().
339         * XsltCommand.cs : fixed signatures of Compile() and Execute() methods.
341 2004-07-27  Atsushi Enomoto <atsushi@ximian.com>
343         * XQueryParser.jay,
344           XPath2Expression.cs,
345           XQueryModuleProlog.cs,
346           XQueryTokenizer.cs :
347           Removed SchemaContext. StepExpr and XPathAxis redesign.
348           (Partially) updated Prolog to match with XQuery 7/23/2004 spec.
349           XML comment/PI/CDATA recognition in tokenizer.
351 2004-07-26  Atsushi Enomoto <atsushi@ximian.com>
353         * skelton-2.0.cs,
354           XQueryParser.jay,
355           XQueryTokenizer.cs,
356           XQueryModuleProlog.cs,
357           XPath2Expression.cs,
358           XQueryExpression.cs : added.
360 2004-07-23  Atsushi Enomoto <atsushi@ximian.com>
362         * XmlQueryCompileException.cs, XmlQueryException.cs :
363           added internal constructor that supplies error location.
364           Removed Message property.
366 2004-07-20  Atsushi Enomoto <atsushi@ximian.com>
368         * XsltCommand.cs, XmlArgumentList.cs : sealed. Added missing MonoTODO.
369         * XQueryConvert.cs : added. (namespace is temporarily MS.Internal.Xml)
371 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
373         * IXmlCompilerInclude.cs,
374           QueryEventArgs.cs,
375           QuertEventHandler.cs,
376           XmlArgumentList.cs,
377           XsltCommand.cs : added.
379         * XmlQueryArgumentList.cs,
380           XsltProcessor.cs : removed (only in .NET 1.2).
382         * XmlCommand.cs,
383           XmlQueryCompileException.cs,
384           XmlQueryException.cs : updated API to that of .NET 2.0.
386 2003-12-14  Tim Coleman <tim@timcoleman.com>
387         * ChangeLog XmlCommand.cs XmlQueryArgumentList.cs
388         * XmlQueryCompileException.cs XmlQueryException.cs XsltProcessor.cs:
389                 Move classes from the System.Data.SqlXml assembly where they
390                 did not belong.