ResultSetImpl createResultSet(List records, ResultSetMetaData rsmd) throws SQLException { if (rsmd.getColumnCount() > 0) { rsmd.getScale(1); //force the load of the metadata } ResultsMessage resultsMsg = createDummyResultsMessage(null, null, records); resultSet = new ResultSetImpl(resultsMsg, this, rsmd, 0); resultSet.setMaxFieldSize(this.maxFieldSize); return resultSet; }
ResultSetImpl createResultSet(List records, ResultSetMetaData rsmd) throws SQLException { if (rsmd.getColumnCount() > 0) { rsmd.getScale(1); //force the load of the metadata } ResultsMessage resultsMsg = createDummyResultsMessage(null, null, records); resultSet = new ResultSetImpl(resultsMsg, this, rsmd, 0); resultSet.setMaxFieldSize(this.maxFieldSize); return resultSet; }
private ResultSetImpl helpGetResultSetImpl(int type) throws SQLException { ResultsMessage rsMsg = exampleResultsMsg2(); statement = TestResultSet.createMockStatement(type); ResultSetImpl rs = new ResultSetImpl(rsMsg, statement); return rs; }
private ResultSetImpl helpGetNoResults(int type) throws SQLException { ResultsMessage rsMsg = exampleResultsMsg3(); statement = TestResultSet.createMockStatement(type); ResultSetImpl rs = new ResultSetImpl(rsMsg, statement); return rs; }
@Test public void testClose() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2(), statement); rs.close(); verify(statement, times(0)).close(); }
/** test next(), get result set and close without walking through */ @Test public void testNext3() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); assertEquals(new Integer(0), new Integer(rs.getRow())); rs.close(); }
@Test public void testResultsWarnings() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2(), statement); rs.close(); }
@Test public void testNotCallingNext() throws SQLException { ResultSetImpl cs = new ResultSetImpl(exampleResultsMsg2a(), statement); try { cs.getObject(1); fail("Exception expected"); //$NON-NLS-1$ } catch (SQLException e) { assertEquals("The cursor is not on a valid row.", e.getMessage()); //$NON-NLS-1$ } }
@Test public void testGetMetaData() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2a(), statement); ResultSetMetaData rmetadata = rs.getMetaData(); assertEquals(2, rmetadata.getColumnCount()); String[] columnNames = columnNames(); String[] dataTypes = dataTypes(); for (int i = 0; i < 2; i++) { assertEquals(columnNames[i], rmetadata.getColumnLabel(i + 1)); assertEquals(dataTypes[i], rmetadata.getColumnTypeName(i + 1)); } rs.close(); }
@Test public void testFindColumn() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2a(), statement); assertEquals(1, rs.findColumn("IntNum")); //$NON-NLS-1$ rs.close(); }
/** * test next(), whether the result set's cursor is positioned on next row or * not */ @Test public void testNext1() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); // point to first row boolean actual = rs.next(); boolean expected = true; assertEquals(" Actual doesn't match with expected. ", expected, actual); //$NON-NLS-1$ rs.close(); }
/** test hasNext(), actual result set should return FALSE. */ @Test public void testHasNext1() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); while (rs.next()) { // just walk through } boolean actual = rs.hasNext(); boolean expected = false; assertEquals(expected, actual); rs.close(); }
/** test next(), when hasNext() == false */ @Test public void testNext5() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); while (rs.next()) { // just walk through until hasNext() == false; } boolean actual = rs.hasNext(); boolean expected = false; assertEquals(expected, actual); rs.close(); }
@Test public void testGetCurrentRecord() throws Exception { List[] results = exampleResults2(); ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2(), statement); rs.next(); List actual = rs.getCurrentRecord(); assertEquals(results[0], actual); rs.close(); }
/** test hasNext(), actual result set should return TRUE. */ @Test public void testHasNext2() throws Exception { List[] results = exampleResults1(5); ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); for (int i = 1; i < results.length; i++) { rs.next(); } boolean actual = rs.hasNext(); boolean expected = true; assertEquals(expected, actual); rs.close(); }
/** test next(), walk through partial rows of a result set */ @Test public void testNext4() throws Exception { List[] results = exampleResults1(5); ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); for (int i = 0; i < results.length - 1; i++) { rs.next(); List actual = rs.getCurrentRecord(); List expected = results[i]; assertEquals(expected, actual); } rs.close(); }
/** test next(), walk through all rows of a result set and compare each row. */ @Test public void testNext2() throws Exception { List[] results = exampleResults1(5); ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg1(), statement); int i = 0; while (rs.next()) { // walk through and compare List actual = rs.getCurrentRecord(); List expected = results[i]; assertEquals(expected, actual); i++; } rs.close(); }
@Test public void testGetRow() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2(), statement); int expected = 0; assertEquals(expected, rs.getRow()); if (rs.next()) { expected = 1; assertEquals(expected, rs.getRow()); } rs.close(); }
@Test(expected=TeiidSQLException.class) public void testResultsMessageException() throws Exception { ResultsMessage resultsMsg = exampleMessage(exampleResults1(1), new String[] { "IntNum" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER }); //$NON-NLS-1$ resultsMsg.setFinalRow(-1); ResultsMessage next = new ResultsMessage(); next.setException(new Throwable()); ResultsFuture<ResultsMessage> rf = new ResultsFuture<ResultsMessage>(); rf.getResultsReceiver().receiveResults(next); Mockito.stub(statement.getDQP().processCursorRequest(0, 2, 0)).toReturn(rf); ResultSetImpl cs = new ResultSetImpl(resultsMsg, statement, null, 2); cs.next(); cs.next(); }
@Test public void testRelative1() throws Exception { ResultSetImpl rs = new ResultSetImpl(exampleResultsMsg2(), statement); // move to 1st row rs.next(); // move to 2nd row boolean actual = rs.relative(1); assertEquals(true, actual); assertEquals(2, rs.getRow()); actual = rs.relative(-1); assertEquals(true, actual); assertEquals(1, rs.getRow()); rs.close(); }