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();
}
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();
}
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);
}
}
}
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();
}
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);
}
Aggregations