incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Seaborne (JIRA)" <>
Subject [jira] [Commented] (JENA-72) TSVInput infinite loop and optional binding values not handled
Date Thu, 16 Jun 2011 08:33:47 GMT


Andy Seaborne commented on JENA-72:

The new code does not check if lines are longer (IndexOutOfBounds) or shorter (possible wrong
bindings) than expected.

e.g. "?x\t?y\n'a'\t'b'\t'c'"

Test added (and fails) so it does not get lost.

> TSVInput infinite loop and optional binding values not handled
> --------------------------------------------------------------
>                 Key: JENA-72
>                 URL:
>             Project: Jena
>          Issue Type: Bug
>          Components: ARQ
>            Reporter: Laurent Pellegrino
>              Labels: tsvinput
>         Attachments: JENA-72_ARQ_r1136132.patch
> TSVInput that has been proposed in JENA-69 contains two bugs:
> 1) When you attempt to read an empty ResultSet (i.e. a ResultSet that contain no binding)
the code will enter in an infinite loop. This issue is really simple to solve.
> 2) Optional binding values are not supported, especially with the following ResultSet:
> (resultset (?a ?b ?c)
>     (row (?a 1) (?c 4))
>     (row (?a 1) (?b 2) (?c 3)))
> it will be serialized as:
> a....b....c
> 1..........4
> 1....2....3
> When we call, we get the next token. The problem is that we are not
aware that the tokenizer has consumed two separators (\t), and we cannot detect that the value
4 is associated to the variable c.
> Any idea to handle it?

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message