QueryResult result = query.execute(); final Map<String, Node> nodesById = new HashMap<>(); validateQuery().rowCount(24).noWarnings().hasColumns("reallylongvaluethatwillprintcompletely").onEachRow(new Predicate() { @Override public void validate( int rowNumber, query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); result = query.execute(); validateQuery().rowCount(1).noWarnings().hasColumns("reallylongvaluethatwillprintcompletely") .onEachRow(new Predicate() { @Override query.bindValue("id", session().getValueFactory().createValue(id)); result = query.execute(); validateQuery().rowCount(1).noWarnings().hasColumns("mode:id").onEachRow(new Predicate() { @Override public void validate( int rowNumber,
@FixFor( "MODE-2666" ) @Test public void shouldBeAbleToOrderByTheSameColumnRepeatedly() throws RepositoryException { String sql = "SELECT [jcr:name] FROM [nt:base] ORDER BY [jcr:name], [jcr:name]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); validateQuery().rowCount(totalNodeCount).noWarnings().validate(query, result); sql = "SELECT [jcr:name] FROM [nt:base] ORDER BY [jcr:name], [jcr:name], [jcr:name]"; query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); result = query.execute(); validateQuery().rowCount(totalNodeCount).noWarnings().validate(query, result); sql = "SELECT [jcr:name] FROM [nt:base] ORDER BY [jcr:name], [jcr:name], [jcr:name], [jcr:name]"; query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); result = query.execute(); validateQuery().rowCount(totalNodeCount).noWarnings().validate(query, result); sql = "SELECT [jcr:name] FROM [nt:base] ORDER BY [jcr:name], [jcr:name], [jcr:name], [jcr:name], [jcr:name]"; query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); result = query.execute(); validateQuery().rowCount(totalNodeCount).noWarnings().validate(query, result); }
@FixFor( "MODE-1671" ) @Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryToFindAllNodesWithOrderByNodeIdUsingAlias() throws RepositoryException { String sql = "SELECT * FROM [nt:base] AS all ORDER BY all.[mode:id]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = allColumnNames("all"); validateQuery().rowCount(totalNodeCount).noWarnings().hasColumns(columnNames).validate(query, result); }
@Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryToFindAllNodes() throws RepositoryException { String sql = "SELECT * FROM [nt:base]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = allColumnNames("nt:base"); validateQuery().rowCount(totalNodeCount).noWarnings().hasColumns(columnNames).validate(query, result); }
@FixFor( "MODE-1888" ) @Test public void shouldNotCaptureWarningAboutUseOfPseudoColumns() throws RepositoryException { String sql = "SELECT [jcr:path] FROM [nt:unstructured]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); validateQuery().rowCount(24).noWarnings().hasColumns("jcr:path").validate(query, result); }
@FixFor( "MODE-1095" ) @Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryWithOrderByUsingColumnWithSelectStar() throws RepositoryException { String sql = "SELECT * FROM [car:Car] WHERE [car:year] < 2009 ORDER BY [car:year]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = carColumnNames("car:Car"); validateQuery().rowCount(13).noWarnings().hasColumns(columnNames).validate(query, result); }
@FixFor( "MODE-1095" ) @Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryWithOrderByUsingPseudoColumnWithSelectStar() throws RepositoryException { String sql = "SELECT * FROM [car:Car] WHERE [car:year] < 2009 ORDER BY [jcr:path]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = carColumnNames("car:Car"); validateQuery().rowCount(13).noWarnings().hasColumns(columnNames).validate(query, result); }
@FixFor( "MODE-1671" ) @Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryToFindAllNodesWithOrderByNodeId() throws RepositoryException { String sql = "SELECT * FROM [nt:base] ORDER BY [mode:id]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = allColumnNames("nt:base"); validateQuery().rowCount(totalNodeCount).noWarnings().hasColumns(columnNames).validate(query, result); }
@Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryToFindAllNodesWithOrderByPath() throws RepositoryException { String sql = "SELECT * FROM [nt:base] ORDER BY [jcr:path]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = allColumnNames("nt:base"); validateQuery().rowCount(totalNodeCount).noWarnings().hasColumns(columnNames).validate(query, result); }
@FixFor( "MODE-1095" ) @Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryWithOrderByUsingColumnNotInSelect() throws RepositoryException { String sql = "SELECT [car:model], [car:maker] FROM [car:Car] WHERE [car:year] <= 2012 ORDER BY [car:year] DESC"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = {"car:model", "car:maker", "car:year"}; validateQuery().rowCount(13).noWarnings().hasColumns(columnNames).validate(query, result); }
@FixFor( "MODE-1671" ) @Test public void shouldNotCaptureWarningAboutUseOfNodeIdPseudoColumn() throws RepositoryException { String sql = "SELECT [mode:id] FROM [nt:unstructured]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); validateQuery().rowCount(24).noWarnings().hasColumns("mode:id").validate(query, result); }
@Test public void shouldBeAbleToCreateAndExecuteJcrSql2QueryToFindAllNodesWithOrderByPathUsingAlias() throws RepositoryException { String sql = "SELECT * FROM [nt:base] AS all ORDER BY all.[jcr:path]"; Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2); QueryResult result = query.execute(); String[] columnNames = allColumnNames("all"); validateQuery().rowCount(totalNodeCount).noWarnings().hasColumns(columnNames).validate(query, result); }