You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/12/12 11:21:02 UTC
svn commit: r1420608 - in /jena/trunk/jena-tdb: ReleaseNotes.txt
src/main/java/com/hp/hpl/jena/tdb/store/IntegerNode.java
src/test/java/com/hp/hpl/jena/tdb/nodetable/TestCodec.java
src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
Author: andy
Date: Wed Dec 12 10:21:00 2012
New Revision: 1420608
URL: http://svn.apache.org/viewvc?rev=1420608&view=rev
Log:
JENA-363 : Fix to integer handling for absolute values between 2^56 and 2^63
Modified:
jena/trunk/jena-tdb/ReleaseNotes.txt
jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/IntegerNode.java
jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/nodetable/TestCodec.java
jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
Modified: jena/trunk/jena-tdb/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/ReleaseNotes.txt?rev=1420608&r1=1420607&r2=1420608&view=diff
==============================================================================
--- jena/trunk/jena-tdb/ReleaseNotes.txt (original)
+++ jena/trunk/jena-tdb/ReleaseNotes.txt Wed Dec 12 10:21:00 2012
@@ -1,8 +1,11 @@
ChangeLog for TDB
=================
-==== Jena 2.10.0
+==== TDB 0.10.0
+** TDB 0.10.0 depends on Jena 2.10.0 (ARQ 2.10.0)
+
++ JENA-363 : Fix to handling of integers with absolute values between 2^56 and 2^63.
+ JENA-346 : Further fixes for default union graph + write transactions.
+ Consolidation of versions numbers.
+ JENA-344 : Union default graph now works for SPARQL Update WHERE clauses.
@@ -18,7 +21,7 @@ ChangeLog for TDB
+ Bug fix: out-of-range derived integers (e.g. xsd:int)
+ Cache read transaction datastructures and reuse view when possible.
+ Add StoreConnection flush() operation to push delayed writer-commits if possible.
-+ JENA-290 - TDB txn creation touched stats unnecessarily, causing slow down.
++ JENA-290 : TDB txn creation touched stats unnecessarily, causing slow down.
==== TDB 0.9.3
Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/IntegerNode.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/IntegerNode.java?rev=1420608&r1=1420607&r2=1420608&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/IntegerNode.java (original)
+++ jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/IntegerNode.java Wed Dec 12 10:21:00 2012
@@ -25,12 +25,12 @@ public class IntegerNode
// 56 bits of value, including sign bit.
public static int LEN = 56 ;
public static int LBITS = Long.SIZE ;
- public static long MAX = (1L<< (LEN-1) ) ;
- public static long MIN = (1L<< (LEN-1) ) ;
+ public static long MAX = (1L<< (LEN-1) )-1;
+ public static long MIN = -(1L<< (LEN-1) ) ;
public static long pack(long v)
{
- if ( v < MIN || v > MAX )
+ if ( v >= MIN && v <= MAX )
{
v = BitsLong.clear(v, LEN, LBITS) ;
v = NodeId.setType(v, NodeId.INTEGER) ;
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/nodetable/TestCodec.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/nodetable/TestCodec.java?rev=1420608&r1=1420607&r2=1420608&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/nodetable/TestCodec.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/nodetable/TestCodec.java Wed Dec 12 10:21:00 2012
@@ -55,7 +55,6 @@ public class TestCodec extends BaseTest
) ;
}
-
private Nodec nodec ;
public TestCodec(Nodec nodec) { this.nodec = nodec ; }
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java?rev=1420608&r1=1420607&r2=1420608&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java Wed Dec 12 10:21:00 2012
@@ -23,6 +23,7 @@ import org.junit.Test ;
import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
import com.hp.hpl.jena.sparql.util.NodeFactory ;
public class TestNodeId extends BaseTest
@@ -69,9 +70,33 @@ public class TestNodeId extends BaseTest
// More than Long.MAX_VALUE
{ test("92233720368547758070", (Node)null) ; }
+ // On the edge.
+
+ static long X = 1L<<55 ; // Just too large
+ static long Y = -((1L<<55) +1) ; // Just too small
+
@Test public void nodeId_int_10()
+ { test("\""+Long.toString(X)+"\"^^xsd:integer", (Node)null) ; }
+
+ @Test public void nodeId_int_11()
+ {
+ Node n = NodeValue.makeInteger(X-1).asNode() ;
+ test("\""+Long.toString(X-1)+"\"^^xsd:integer", n) ;
+ }
+
+ @Test public void nodeId_int_12()
+ { test("\""+Long.toString(Y)+"\"^^xsd:integer", (Node)null) ; }
+
+ @Test public void nodeId_int_13()
+ {
+ Node n = NodeValue.makeInteger(Y+1).asNode() ;
+ test("\""+Long.toString(Y+1)+"\"^^xsd:integer", n) ;
+ }
+
+ @Test public void nodeId_int_20()
{ test("'300'^^xsd:byte", (Node)null) ; }
+
@Test public void nodeId_decimal_1()
{ test("3.14", NodeFactory.parseNode("3.14")) ; }