package org.tmatesoft.svn.core.internal.wc17.db.statement; import org.tmatesoft.sqljet.core.SqlJetException; import org.tmatesoft.sqljet.core.table.ISqlJetCursor; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.internal.db.SVNSqlJetDb; import org.tmatesoft.svn.core.internal.db.SVNSqlJetSelectStatement; /** * SELECT local_relpath, op_depth, presence, kind * FROM nodes * WHERE wc_id = ?1 AND parent_relpath = ?2 * GROUP BY local_relpath * ORDER BY op_depth DESC * * We omit GROUP BY, it is not really needed, and ORDER BY is achieved by use of a reverse cursor. */ public class SVNWCDbSelectNodeChildrenWalkerInfo extends SVNSqlJetSelectStatement { public SVNWCDbSelectNodeChildrenWalkerInfo(SVNSqlJetDb sDb) throws SVNException { super(sDb, SVNWCDbSchema.NODES, SVNWCDbSchema.NODES__Indices.I_NODES_PARENT); } @Override protected ISqlJetCursor openCursor() throws SVNException { ISqlJetCursor cursor = super.openCursor(); if (cursor != null) { try { cursor = cursor.reverse(); } catch (SqlJetException e) { cursor = null; } } return cursor; } }