[
https://issues.apache.org/jira/browse/VXQUERY-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446540#comment-13446540
]
Preston Carman commented on VXQUERY-31:
---------------------------------------
I have gone through the outline on the Functions and Operators page
(http://www.w3.org/TR/xpath-functions/) and opened tickets for all missing
functions and bugs that are halting completion of other functions.
2 Accessors
2.1 fn:node-name - Completely missing VXQUERY-61
2.2 fn:nilled - Completely missing VXQUERY-61
2.3 fn:string - Mostly complete - count, sequence, if then else,
2.4 fn:data - Mostly complete - count
2.5 fn:base-uri - Completely missing VXQUERY-61
2.6 fn:document-uri - Completely missing VXQUERY-61
3 The Error Function (fn:error) - Completely missing VXQUERY-63
4 The Trace Function (fn:trace) - Completely missing VXQUERY-64
5 Constructor Functions
...
5.2 A Special Constructor Function for xs:dateTime (fn:dateTime) - Mostly
complete - count, sequence, YMDuration add
...
6 Functions and Operators on Numerics
6.1 Numeric Types
6.2 Operators on Numeric Values
6.2.1 op:numeric-add - Mostly complete - VXQUERY-62, sequence
6.2.2 op:numeric-subtract - Mostly complete - VXQUERY-62, sequence
6.2.3 op:numeric-multiply - Mostly complete - VXQUERY-62, sequence
6.2.4 op:numeric-divide - Some complete - VXQUERY-62, sequence,
VXQUERY-66
6.2.5 op:numeric-integer-divide - Mostly complete - sequence
6.2.6 op:numeric-mod - Mostly complete - VXQUERY-62, sequence
6.2.7 op:numeric-unary-plus - Mostly complete - VXQUERY-62
6.2.8 op:numeric-unary-minus - Mostly complete - VXQUERY-62
6.3 Comparison Operators on Numeric Values
6.3.1 op:numeric-equal - COMPLETE
6.3.2 op:numeric-less-than - COMPLETE
6.3.3 op:numeric-greater-than - COMPLETE
6.4 Functions on Numeric Values
6.4.1 fn:abs - Mostly complete - VXQUERY-62
6.4.2 fn:ceiling - Mostly complete - VXQUERY-62, VXQUERY-65
6.4.3 fn:floor - VXQUERY-62, VXQUERY-65
6.4.4 fn:round - VXQUERY-62, VXQUERY-65
6.4.5 fn:round-half-to-even - Completely missing VXQUERY-66
7 Functions on Strings
7.1 String Types
7.2 Functions to Assemble and Disassemble Strings
7.2.1 fn:codepoints-to-string - Completely missing VXQUERY-67
7.2.2 fn:string-to-codepoints - Completely missing VXQUERY-67
7.3 Equality and Comparison of Strings
7.3.1 Collations
7.3.2 fn:compare - Mostly complete - count
7.3.3 fn:codepoint-equal - Mostly complete - count, sequence
7.4 Functions on String Values
7.4.1 fn:concat - Mostly complete - count, sequence, not
7.4.2 fn:string-join - Needs work on parameters - count, not
7.4.3 fn:substring - Mostly complete - VXQUERY-36, count, sequence, not
7.4.4 fn:string-length - Mostly complete - count, sequence, not
7.4.5 fn:normalize-space - Completely missing VXQUERY-67
7.4.6 fn:normalize-unicode - Completely missing VXQUERY-67
7.4.7 fn:upper-case - Mostly complete - count, not
7.4.8 fn:lower-case - Mostly complete - count, not
7.4.9 fn:translate - Completely missing VXQUERY-67
7.4.10 fn:encode-for-uri - Completely missing VXQUERY-67
7.4.11 fn:iri-to-uri - Completely missing VXQUERY-67
7.4.12 fn:escape-html-uri - Completely missing VXQUERY-67
7.5 Functions Based on Substring Matching
7.5.1 fn:contains - Mostly complete - sequence
7.5.2 fn:starts-with - Mostly complete - sequence
7.5.3 fn:ends-with - Mostly complete - sequence
7.5.4 fn:substring-before - Some complete - count, sequence
7.5.5 fn:substring-after - Some complete - count, sequence
7.6 String Functions that Use Pattern Matching
...
7.6.2 fn:matches - Completely missing VXQUERY-67
7.6.3 fn:replace - Completely missing VXQUERY-67
7.6.4 fn:tokenize - Completely missing VXQUERY-67
8 Functions on anyURI
8.1 fn:resolve-uri
9 Functions and Operators on Boolean Values
9.1 Additional Boolean Constructor Functions
9.1.1 fn:true - COMPLETE
9.1.2 fn:false - COMPLETE
9.2 Operators on Boolean Values
9.2.1 op:boolean-equal - COMPLETE
9.2.2 op:boolean-less-than - COMPLETE
9.2.3 op:boolean-greater-than - COMPLETE
9.3 Functions on Boolean Values
9.3.1 fn:not - See VXQUERY-58
10 Functions and Operators on Durations, Dates and Times
...
10.4 Comparison Operators on Duration, Date and Time Values
10.4.1 op:yearMonthDuration-less-than - COMPLETE
10.4.2 op:yearMonthDuration-greater-than - COMPLETE
10.4.3 op:dayTimeDuration-less-than - COMPLETE
10.4.4 op:dayTimeDuration-greater-than - COMPLETE
10.4.5 op:duration-equal - COMPLETE
10.4.6 op:dateTime-equal - COMPLETE
10.4.7 op:dateTime-less-than - COMPLETE
10.4.8 op:dateTime-greater-than - COMPLETE
10.4.9 op:date-equal - COMPLETE
10.4.10 op:date-less-than - COMPLETE
10.4.11 op:date-greater-than - COMPLETE
10.4.12 op:time-equal - COMPLETE
10.4.13 op:time-less-than - COMPLETE
10.4.14 op:time-greater-than - COMPLETE
10.4.15 op:gYearMonth-equal - Mostly complete - not, VXQUERY-69
10.4.16 op:gYear-equal - COMPLETE
10.4.17 op:gMonthDay-equal - Mostly complete - VXQUERY-69
10.4.18 op:gMonth-equal - Mostly complete - VXQUERY-70
10.4.19 op:gDay-equal - Mostly complete - VXQUERY-69
10.5 Component Extraction Functions on Durations, Dates and Times
10.5.1 fn:years-from-duration - Mostly complete - avg, count
10.5.2 fn:months-from-duration - Mostly complete - avg, count
10.5.3 fn:days-from-duration - Mostly complete - avg, count
10.5.4 fn:hours-from-duration - Mostly complete - avg, count
10.5.5 fn:minutes-from-duration - Mostly complete - avg, count
10.5.6 fn:seconds-from-duration - Mostly complete - avg, count
10.5.7 fn:year-from-dateTime - Mostly complete - avg, count
10.5.8 fn:month-from-dateTime - Mostly complete - avg, count
10.5.9 fn:day-from-dateTime - Mostly complete - avg, count
10.5.10 fn:hours-from-dateTime - Mostly complete - avg, count
10.5.11 fn:minutes-from-dateTime - Mostly complete - avg, count
10.5.12 fn:seconds-from-dateTime - Mostly complete - avg, count
10.5.13 fn:timezone-from-dateTime - Mostly complete - count, min, max
10.5.14 fn:year-from-date - Mostly complete - avg, count
10.5.15 fn:month-from-date - Mostly complete - avg, count
10.5.16 fn:day-from-date - Mostly complete - avg, count
10.5.17 fn:timezone-from-date - Mostly complete - count, min, max
10.5.18 fn:hours-from-time - Mostly complete - avg, count
10.5.19 fn:minutes-from-time - Mostly complete - avg, count
10.5.20 fn:seconds-from-time - Mostly complete - avg, count
10.5.21 fn:timezone-from-time - Mostly complete - count, min, max
10.6 Arithmetic Operators on Durations
10.6.1 op:add-yearMonthDurations - Mostly complete - not
10.6.2 op:subtract-yearMonthDurations - Mostly complete - not
10.6.3 op:multiply-yearMonthDuration - Mostly complete - not, count
10.6.4 op:divide-yearMonthDuration - Mostly complete - not
10.6.5 op:divide-yearMonthDuration-by-yearMonthDuration - Mostly
complete - not, round-half-to-even
10.6.6 op:add-dayTimeDurations - Mostly complete - not
10.6.7 op:subtract-dayTimeDurations - Mostly complete - not
10.6.8 op:multiply-dayTimeDuration - Mostly complete - not, count
10.6.9 op:divide-dayTimeDuration - Mostly complete - not
10.6.10 op:divide-dayTimeDuration-by-dayTimeDuration - Mostly complete
- not, round-half-to-even
10.7 Timezone Adjustment Functions on Dates and Time Values
10.7.1 fn:adjust-dateTime-to-timezone - Mostly complete - sequence, max
10.7.2 fn:adjust-date-to-timezone - Mostly complete - sequence, max
10.7.3 fn:adjust-time-to-timezone - Mostly complete - sequence, max
10.8 Arithmetic Operators on Durations, Dates and Times
10.8.1 op:subtract-dateTimes - Mostly complete - not
10.8.2 op:subtract-dates - Mostly complete - not
10.8.3 op:subtract-times - Mostly complete - not
10.8.4 op:add-yearMonthDuration-to-dateTime - Mostly complete - not,
negative years
10.8.5 op:add-dayTimeDuration-to-dateTime - Mostly complete - not
10.8.6 op:subtract-yearMonthDuration-from-dateTime - Mostly complete -
not, negative years
10.8.7 op:subtract-dayTimeDuration-from-dateTime - Mostly complete - not
10.8.8 op:add-yearMonthDuration-to-date - Mostly complete - not,
negative years
10.8.9 op:add-dayTimeDuration-to-date - Mostly complete - not
10.8.10 op:subtract-yearMonthDuration-from-date - Mostly complete -
not, negative years
10.8.11 op:subtract-dayTimeDuration-from-date - Mostly complete - not
10.8.12 op:add-dayTimeDuration-to-time - Mostly complete - not
10.8.13 op:subtract-dayTimeDuration-from-time - Mostly complete - not
11 Functions Related to QNames
11.1 Additional Constructor Functions for QNames
11.1.1 fn:resolve-QName - missing VXQUERY-71
11.1.2 fn:QName - missing VXQUERY-71
11.2 Functions and Operators Related to QNames
11.2.1 op:QName-equal - COMPLETE
11.2.2 fn:prefix-from-QName - Test on to many other functions to tell -
VXQUERY-71
11.2.3 fn:local-name-from-QName - Test on to many other functions to
tell - VXQUERY-71
11.2.4 fn:namespace-uri-from-QName - Test on to many other functions to
tell - VXQUERY-71
11.2.5 fn:namespace-uri-for-prefix - missing VXQUERY-71
11.2.6 fn:in-scope-prefixes - missing VXQUERY-71
12 Operators on base64Binary and hexBinary
12.1 Comparisons of base64Binary and hexBinary Values
12.1.1 op:hexBinary-equal - COMPLETE
12.1.2 op:base64Binary-equal - COMPLETE
...
14 Functions and Operators on Nodes
14.1 fn:name - missing VXQUERY-72
14.2 fn:local-name - missing VXQUERY-72
14.3 fn:namespace-uri - missing VXQUERY-72
14.4 fn:number - Mostly complete - VXQUERY-62
14.5 fn:lang - missing VXQUERY-72
14.6 op:is-same-node - missing VXQUERY-72
14.7 op:node-before - missing VXQUERY-72
14.8 op:node-after - missing VXQUERY-72
14.9 fn:root - missing VXQUERY-72
15 Functions and Operators on Sequences
15.1 General Functions and Operators on Sequences
15.1.1 fn:boolean - Mostly complete - sequences
15.1.2 op:concatenate - see VXQUERY-59
15.1.3 fn:index-of - missing VXQUERY-75
15.1.4 fn:empty - COMPLETE
15.1.5 fn:exists - COMPLETE
15.1.6 fn:distinct-values - missing VXQUERY-75
15.1.7 fn:insert-before - missing VXQUERY-75
15.1.8 fn:remove - missing VXQUERY-75
15.1.9 fn:reverse - Mostly complete - VXQUERY-62
15.1.10 fn:subsequence - missing VXQUERY-75
15.1.11 fn:unordered - missing VXQUERY-75
15.2 Functions That Test the Cardinality of Sequences
15.2.1 fn:zero-or-one - missing VXQUERY-75
15.2.2 fn:one-or-more - missing VXQUERY-75
15.2.3 fn:exactly-one - missing VXQUERY-75
15.3 Equals, Union, Intersection and Except
15.3.1 fn:deep-equal - missing VXQUERY-75
15.3.2 op:union - missing VXQUERY-75
15.3.3 op:intersect - missing VXQUERY-75
15.3.4 op:except - missing VXQUERY-75
15.4 Aggregate Functions
15.4.1 fn:count - missing VXQUERY-74
15.4.2 fn:avg - missing VXQUERY-74
15.4.3 fn:max - missing VXQUERY-74
15.4.4 fn:min - missing VXQUERY-74
15.4.5 fn:sum - missing VXQUERY-74
15.5 Functions and Operators that Generate Sequences
15.5.1 op:to - missing VXQUERY-75
15.5.2 fn:id - missing VXQUERY-75
15.5.3 fn:idref - missing VXQUERY-75
15.5.4 fn:doc - missing VXQUERY-75
15.5.5 fn:doc-available - missing VXQUERY-75
15.5.6 fn:collection - missing VXQUERY-75
15.5.7 fn:element-with-id - missing VXQUERY-75
16 Context Functions
16.1 fn:position - missing VXQUERY-73
16.2 fn:last - missing VXQUERY-73
16.3 fn:current-dateTime - needs work VXQUERY-69
16.4 fn:current-date - needs work VXQUERY-69
16.5 fn:current-time - needs work VXQUERY-69
16.6 fn:implicit-timezone - missing VXQUERY-73
16.7 fn:default-collation - missing VXQUERY-73
16.8 fn:static-base-uri - missing VXQUERY-73
> Complete the implementation of XQuery Functions and Operators
> -------------------------------------------------------------
>
> Key: VXQUERY-31
> URL: https://issues.apache.org/jira/browse/VXQUERY-31
> Project: VXQuery
> Issue Type: Improvement
> Reporter: Vinayak Borkar
> Labels: gsoc, gsoc2012, mentor
>
> VXQuery is an XQuery compiler and runtime being built to comply with version
> 1.0 of the XQuery spec at http://www.w3.org/TR/XQuery. The distinguishing
> characteristic of this runtime is that it is designed to evaluate queries on
> large amounts of XML data. VXQuery uses the Hyracks platform
> (http://code.google.com/p/hyracks), a parallel dataflow engine, to
> parallelize queries so they can run on a cluster of shared-nothing computers.
> We plan to exploit three kinds of parallelism within the XQuery engine while
> evaluating a single query.
> 1. Independent parallelism: Parts of a query that are unrelated to each other
> can be evaluated in parallel.
> 2. Partitioned parallelism: The engine partitions data (both input data as
> well as intermediate data) and processes the partitions in parallel.
> 3. Pipelined parallelism: The runtime organizes the work done to evaluate a
> query as a sequence of workers. As and when work is completed on a piece of
> data, the results of that piece are handed to the next worker, while the
> first can process the next piece of data. This is similar to an assembly line
> used in manufacturing plants.
> Hyracks provides a set of operators to be able to evaluate queries in
> parallel. However, it does not know anything about VXQuery or the XQuery
> language and datamodel.
> Currently we have a parser and translator that converts XQuery into a logical
> form ready for evaluation.
> The task that needs to be done as part of this project is to implement
> functions that will plug into Hyracks operators so we can evaluate XQuery
> queries.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira