From: <mrp...@us...> - 2014-03-23 22:52:48
|
Revision: 8013 http://sourceforge.net/p/bigdata/code/8013 Author: mrpersonick Date: 2014-03-23 22:52:45 +0000 (Sun, 23 Mar 2014) Log Message: ----------- expose a bulk remove(ISPO) method on the sail Modified Paths: -------------- branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/changesets/StatementWriter.java branches/RDR/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java Modified: branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/changesets/StatementWriter.java =================================================================== --- branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/changesets/StatementWriter.java 2014-03-23 22:45:13 UTC (rev 8012) +++ branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/changesets/StatementWriter.java 2014-03-23 22:52:45 UTC (rev 8013) @@ -130,7 +130,7 @@ // // final BigdataStatement[] stmts = // new BigdataStatement[database.getChunkCapacity()]; - final SPO[] stmts = new SPO[database.getChunkCapacity()]; + final ISPO[] stmts = new ISPO[database.getChunkCapacity()]; int i = 0; while ((i = nextChunk(itr, stmts)) > 0) { Modified: branches/RDR/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java =================================================================== --- branches/RDR/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2014-03-23 22:45:13 UTC (rev 8012) +++ branches/RDR/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2014-03-23 22:52:45 UTC (rev 8013) @@ -2790,7 +2790,7 @@ /** * Note: The CONTEXT is ignored when in statementIdentifier mode! */ - public synchronized int removeStatements(final ISPO[] stmts, final int numStmts) throws SailException { + public synchronized int removeStatements(final ISPO[] stmts) throws SailException { assertWritableConn(); @@ -2828,8 +2828,7 @@ * visits only the explicit statements. */ final IChunkedOrderedIterator<ISPO> itr = - new ChunkedArrayIterator<ISPO>(numStmts, stmts, - null/* keyOrder */); + new ChunkedArrayIterator<ISPO>(stmts); // The tempStore absorbing retractions. final AbstractTripleStore tempStore = getRetractionBuffer() @@ -2854,18 +2853,17 @@ if (changeLog == null) { - n = database.removeStatements(stmts, numStmts); + n = database.removeStatements(stmts, stmts.length); } else { -// final IChunkedOrderedIterator<ISPO> itr = -// database.computeClosureForStatementIdentifiers( -// new ChunkedArrayIterator<ISPO>(numStmts, stmts, -// null/* keyOrder */)); + final IChunkedOrderedIterator<ISPO> itr = + database.computeClosureForStatementIdentifiers( + new ChunkedArrayIterator<ISPO>(stmts)); // no need to compute closure for sids since we just did it - n = StatementWriter.removeStatements(database, stmts, numStmts, - database.getStatementIdentifiers()/* computeClosureForStatementIdentifiers */, + n = StatementWriter.removeStatements(database, itr, + false/* computeClosureForStatementIdentifiers */, changeLog); // final IAccessPath<ISPO> ap = This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |