[ 
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

Reply via email to