Search in sources :

Example 51 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class RevertTest method test.

@Test
public void test() throws SirixException {
    XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx();
    assertEquals(1L, wtx.getRevisionNumber());
    DocumentCreater.create(wtx);
    assertEquals(1L, wtx.getRevisionNumber());
    wtx.commit();
    assertEquals(2L, wtx.getRevisionNumber());
    wtx.close();
    wtx = holder.getResourceManager().beginNodeWriteTrx();
    assertEquals(2L, wtx.getRevisionNumber());
    wtx.moveToFirstChild();
    wtx.insertElementAsFirstChild(new QNm("bla"));
    wtx.commit();
    assertEquals(3L, wtx.getRevisionNumber());
    wtx.close();
    wtx = holder.getResourceManager().beginNodeWriteTrx();
    assertEquals(3L, wtx.getRevisionNumber());
    wtx.revertTo(1);
    wtx.commit();
    assertEquals(4L, wtx.getRevisionNumber());
    wtx.close();
    wtx = holder.getResourceManager().beginNodeWriteTrx();
    assertEquals(4L, wtx.getRevisionNumber());
    final long rev3MaxNodeKey = wtx.getMaxNodeKey();
    wtx.close();
    wtx = holder.getResourceManager().beginNodeWriteTrx();
    assertEquals(4L, wtx.getRevisionNumber());
    wtx.revertTo(1);
    wtx.moveToFirstChild();
    final long maxNodeKey = wtx.getMaxNodeKey();
    assertEquals(rev3MaxNodeKey, maxNodeKey);
    wtx.insertElementAsFirstChild(new QNm(""));
    assertEquals(maxNodeKey + 1, wtx.getNodeKey());
    assertEquals(maxNodeKey + 1, wtx.getMaxNodeKey());
    wtx.commit();
    wtx.close();
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) Test(org.junit.Test)

Example 52 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class UpdateTest method testInsertPath.

@Test
public void testInsertPath() throws SirixException {
    XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx();
    wtx.commit();
    wtx.close();
    wtx = holder.getResourceManager().beginNodeWriteTrx();
    assertTrue(wtx.moveToDocumentRoot().hasMoved());
    assertEquals(1L, wtx.insertElementAsFirstChild(new QNm("")).getNodeKey());
    assertEquals(2L, wtx.insertElementAsFirstChild(new QNm("")).getNodeKey());
    assertEquals(3L, wtx.insertElementAsFirstChild(new QNm("")).getNodeKey());
    assertTrue(wtx.moveToParent().hasMoved());
    assertEquals(4L, wtx.insertElementAsRightSibling(new QNm("")).getNodeKey());
    wtx.commit();
    wtx.close();
    final XdmNodeWriteTrx wtx2 = holder.getResourceManager().beginNodeWriteTrx();
    assertTrue(wtx2.moveToDocumentRoot().hasMoved());
    assertTrue(wtx2.moveToFirstChild().hasMoved());
    assertEquals(5L, wtx2.insertElementAsFirstChild(new QNm("")).getNodeKey());
    wtx2.commit();
    wtx2.close();
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) Test(org.junit.Test)

Example 53 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class UpdateTest method testDelete.

@Test
public void testDelete() throws SirixException {
    try (final XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx()) {
        DocumentCreater.create(wtx);
        wtx.moveTo(4);
        wtx.insertElementAsRightSibling(new QNm("blabla"));
        wtx.moveTo(5);
        wtx.remove();
        assertEquals(8, wtx.getNodeKey());
        wtx.moveTo(4);
        testDelete(wtx);
        wtx.commit();
        testDelete(wtx);
        wtx.close();
        try (final XdmNodeReadTrx rtx = holder.getResourceManager().beginNodeReadTrx()) {
            testDelete(rtx);
        }
    }
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) XdmNodeReadTrx(org.sirix.api.XdmNodeReadTrx) Test(org.junit.Test)

Example 54 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class UpdateTest method testPageBoundary.

@Test
public void testPageBoundary() throws SirixException {
    final XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx();
    // Document root.
    wtx.insertElementAsFirstChild(new QNm(""));
    wtx.insertElementAsFirstChild(new QNm(""));
    for (int i = 0; i < 512 << 1 + 1; i++) {
        wtx.insertElementAsRightSibling(new QNm(""));
    }
    testPageBoundary(wtx);
    wtx.commit();
    testPageBoundary(wtx);
    wtx.close();
    final XdmNodeReadTrx rtx = holder.getResourceManager().beginNodeReadTrx();
    testPageBoundary(rtx);
    rtx.close();
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) XdmNodeReadTrx(org.sirix.api.XdmNodeReadTrx) Test(org.junit.Test)

Example 55 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class NamespaceNodeTest method testNamespaceNode.

@Test
public void testNamespaceNode() throws IOException {
    final NodeDelegate nodeDel = new NodeDelegate(99l, 13l, 0, 0, Optional.of(SirixDeweyID.newRootID()));
    final NameNodeDelegate nameDel = new NameNodeDelegate(nodeDel, 13, 14, 15, 1);
    // Create empty node.
    final NamespaceNode node = new NamespaceNode(nodeDel, nameDel, new QNm("ns", "a", "p"));
    // Serialize and deserialize node.
    final ByteArrayOutputStream out = new ByteArrayOutputStream();
    node.getKind().serialize(new DataOutputStream(out), node, mPageReadTrx);
    final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
    final NamespaceNode node2 = (NamespaceNode) Kind.NAMESPACE.deserialize(new DataInputStream(in), node.getNodeKey(), node.getDeweyID(), mPageReadTrx);
    check(node2);
}
Also used : QNm(org.brackit.xquery.atomic.QNm) ByteArrayInputStream(java.io.ByteArrayInputStream) DataOutputStream(java.io.DataOutputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) DataInputStream(java.io.DataInputStream) NodeDelegate(org.sirix.node.delegates.NodeDelegate) NameNodeDelegate(org.sirix.node.delegates.NameNodeDelegate) NameNodeDelegate(org.sirix.node.delegates.NameNodeDelegate) Test(org.junit.Test)

Aggregations

QNm (org.brackit.xquery.atomic.QNm)89 XdmNodeReadTrx (org.sirix.api.XdmNodeReadTrx)20 Test (org.junit.Test)18 QueryException (org.brackit.xquery.QueryException)15 XdmNodeWriteTrx (org.sirix.api.XdmNodeWriteTrx)15 DBNode (org.sirix.xquery.node.DBNode)12 QName (javax.xml.namespace.QName)11 PathSummaryReader (org.sirix.index.path.summary.PathSummaryReader)11 IndexController (org.sirix.access.IndexController)10 IndexDef (org.sirix.index.IndexDef)10 Item (org.brackit.xquery.xdm.Item)7 Axis (org.sirix.api.Axis)7 DescendantAxis (org.sirix.axis.DescendantAxis)7 SirixException (org.sirix.exception.SirixException)7 Attribute (javax.xml.stream.events.Attribute)5 Namespace (javax.xml.stream.events.Namespace)5 DocumentException (org.brackit.xquery.xdm.DocumentException)5 SirixIOException (org.sirix.exception.SirixIOException)5 Ignore (org.junit.Ignore)4 SirixUsageException (org.sirix.exception.SirixUsageException)4