@Override public void createCachePrimer(OutputStream out) throws IOException { if (!(mPageDb.isDurable())) { throw new UnsupportedOperationException ("Cache priming only allowed for durable databases"); } out = ((DurablePageDb) mPageDb).encrypt(out); DataOutputStream dout = new DataOutputStream(out); dout.writeLong(PRIMER_MAGIC_NUMBER); for (TreeRef treeRef : mOpenTrees.values()) { Tree tree = treeRef.get(); if (tree != null && !Tree.isInternal(tree.mId)) { // Encode name instead of identifier, to support priming set portability // between databases. The identifiers won't match, but the names might. byte[] name = tree.mName; dout.writeInt(name.length); dout.write(name); tree.writeCachePrimer(dout); } } // Terminator. dout.writeInt(-1); }
@Override public void createCachePrimer(OutputStream out) throws IOException { if (!(mPageDb.isDurable())) { throw new UnsupportedOperationException ("Cache priming only allowed for durable databases"); } out = ((DurablePageDb) mPageDb).encrypt(out); DataOutputStream dout = new DataOutputStream(out); dout.writeLong(PRIMER_MAGIC_NUMBER); for (TreeRef treeRef : mOpenTrees.values()) { Tree tree = treeRef.get(); if (tree != null && !Tree.isInternal(tree.mId)) { // Encode name instead of identifier, to support priming set portability // between databases. The identifiers won't match, but the names might. byte[] name = tree.mName; dout.writeInt(name.length); dout.write(name); tree.writeCachePrimer(dout); } } // Terminator. dout.writeInt(-1); }
@Override public void createCachePrimer(OutputStream out) throws IOException { if (!(mPageDb.isDurable())) { throw new UnsupportedOperationException ("Cache priming only allowed for durable databases"); } out = ((DurablePageDb) mPageDb).encrypt(out); DataOutputStream dout = new DataOutputStream(out); dout.writeLong(PRIMER_MAGIC_NUMBER); for (TreeRef treeRef : mOpenTrees.values()) { Tree tree = treeRef.get(); if (tree != null && !Tree.isInternal(tree.mId)) { // Encode name instead of identifier, to support priming set portability // between databases. The identifiers won't match, but the names might. byte[] name = tree.mName; dout.writeInt(name.length); dout.write(name); tree.writeCachePrimer(dout); } } // Terminator. dout.writeInt(-1); }