incubator-vxquery-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Preston Carman (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (VXQUERY-31) Complete the implementation of XQuery Functions and Operators
Date Sat, 01 Sep 2012 00:51:07 GMT

    [ 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

Mime
View raw message