Java Code Examples for java.sql.ResultSet#getRowId()

The following examples show how to use java.sql.ResultSet#getRowId() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RowIdIT.java    From spliceengine with GNU Affero General Public License v3.0 6 votes vote down vote up
@Test
public void testRowIdForJoin() throws Exception {

    ResultSet rs  = methodWatcher.executeQuery(
            String.format("select a.rowid, a.i, b.rowid, b.i from %s a, %s b where a.i=b.i",
                    this.getTableReference(TABLE1_NAME), this.getTableReference(TABLE2_NAME)));

    while (rs.next()) {
        RowId rowId = rs.getRowId(1);
        String s = rs.getString(1);
        Assert.assertTrue(s.compareToIgnoreCase(rowId.toString()) == 0);

        rowId = rs.getRowId(3);
        s = rs.getString(3);
        Assert.assertTrue(s.compareToIgnoreCase(rowId.toString()) == 0);
    }
}
 
Example 2
Source File: RowIdIT.java    From spliceengine with GNU Affero General Public License v3.0 6 votes vote down vote up
@Test
@Ignore("DB-3169")
public void testCoveringIndex() throws Exception {
    ResultSet rs  = methodWatcher.executeQuery(
            String.format("select rowid, i, j from %s --SPLICE-PROPERTIES index=ti \n where i=1", this.getTableReference(TABLE3_NAME)));
    Assert.assertTrue(rs.next());
    RowId rowId1 = rs.getRowId(1);

    rs  = methodWatcher.executeQuery(
            String.format("select rowid, i from %s --SPLICE-PROPERTIES index=ti \n where i=1", this.getTableReference(TABLE3_NAME)));
    Assert.assertTrue(rs.next());
    RowId rowId2 = rs.getRowId(1);

    Assert.assertEquals(rowId1.toString(), rowId2.toString());

    rs  = methodWatcher.executeQuery(
            String.format("select rowid, i from %s --SPLICE-PROPERTIES index=null \n where i=1", this.getTableReference(TABLE3_NAME)));
    Assert.assertTrue(rs.next());
    RowId rowId3 = rs.getRowId(1);

    Assert.assertEquals(rowId1.toString(), rowId3.toString());
}
 
Example 3
Source File: ResultSetWriter.java    From aceql-http with GNU Lesser General Public License v2.1 5 votes vote down vote up
/**
    * Format the column as a RowId
    *
    * @param resultSet
    * @param columnIndex
    * @return
    * @throws SQLException
    * @throws IOException
    */
   private String formatRowIdColumn(ResultSet resultSet, int columnIndex) throws SQLException, IOException {
RowId rowId = resultSet.getRowId(columnIndex);

if (rowId == null) {
    return NULL;
}

String sessionId = request.getParameter(HttpParameter.SESSION_ID);
String connectionId = request.getParameter(HttpParameter.CONNECTION_ID);

ConnectionStore connectionStore = new ConnectionStore(username, sessionId, connectionId);
Connection connection = connectionStore.get();

if (connection == null) {
    throw new SQLException(SqlReturnCode.SESSION_INVALIDATED);
}

connectionStore.put(rowId);

return rowId.toString();
// RowIdHttp rowIdHttp = new RowIdHttp(rowId.hashCode(),
// rowId.getBytes());
//
// RowIdTransporter rowIdTransporter = new RowIdTransporter();
// String base64 = rowIdTransporter.toBase64(rowIdHttp);
// return base64;
   }
 
Example 4
Source File: ShardResultSetMerger.java    From Zebra with Apache License 2.0 5 votes vote down vote up
public List<RowData> popResultSet(ResultSet rs, MergeContext mergeContext) throws SQLException {
	ArrayList<RowData> rows = new ArrayList<RowData>();
	Map<String, SQLObjectImpl> selectItemMap = resultSetColumnWapper(rs, mergeContext);
	while (rs.next()) {
		RowData row = new RowData(rs);

		for (Entry<String, SQLObjectImpl> col : selectItemMap.entrySet()) {
			String columnName = col.getKey();
			int columnIndex = rs.findColumn(columnName);
			Object value = rs.getObject(columnIndex);
			boolean wasNull = rs.wasNull();
			RowId rowId = null;
			try {
				rowId = rs.getRowId(columnIndex);
			} catch (Throwable e) {
				// ignore
			}

			ColumnData columnData = new ColumnData(columnIndex, columnName, value,
					value == null ? null : value.getClass(), rowId, wasNull);
			row.addColumn(columnData);
		}

		rows.add(row);
	}

	return rows;
}
 
Example 5
Source File: RowIdIT.java    From spliceengine with GNU Affero General Public License v3.0 5 votes vote down vote up
@Test
public void testRowIdForOneTable() throws Exception {

    ResultSet rs  = methodWatcher.executeQuery(
            String.format("select rowid, i from %s", this.getTableReference(TABLE1_NAME)));

    while (rs.next()) {
        RowId rowId = rs.getRowId("rowid");
        String s = rs.getString(1);
        Assert.assertTrue(s.compareToIgnoreCase(rowId.toString()) == 0);
    }
}
 
Example 6
Source File: RowIdIT.java    From spliceengine with GNU Affero General Public License v3.0 5 votes vote down vote up
@Test
public void testUpdateWithSubquery() throws Exception {

    ResultSet rs  = methodWatcher.executeQuery(
            String.format("select rowid, i from %s where i = 0", this.getTableReference(TABLE1_NAME)));

    RowId rowId1 = null;
    while (rs.next()) {
        rowId1 = rs.getRowId("rowid");
    }
    rs.close();

    methodWatcher.executeUpdate(
            String.format("update %s set i=1000 where rowid = (select rowid from %s where i = 0)",
                    this.getTableReference(TABLE1_NAME), this.getTableReference(TABLE1_NAME)));

    rs  = methodWatcher.executeQuery(
            String.format("select rowid, i from %s where i = 1000", this.getTableReference(TABLE1_NAME)));
    RowId rowId2 = null;
    while (rs.next()) {
        rowId2 = rs.getRowId("rowid");
        int i = rs.getInt("i");

        Assert.assertEquals(rowId1, rowId2);
        Assert.assertEquals(i, 1000);
    }
}
 
Example 7
Source File: Jdbc41Bridge.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
/**
 * Delegates to {@link ResultSet#getObject(int, Class)} without throwing a {@link AbstractMethodError}.
 * <p>
 * If the JDBC driver does not implement {@link ResultSet#getObject(int, Class)}, then return 0.
 * </p>
 *
 * @param <T>
 *            See {@link ResultSet#getObject(int, Class)}
 * @param resultSet
 *            See {@link ResultSet#getObject(int, Class)}
 * @param columnIndex
 *            See {@link ResultSet#getObject(int, Class)}
 * @param type
 *            See {@link ResultSet#getObject(int, Class)}
 * @return See {@link ResultSet#getObject(int, Class)}
 * @throws SQLException
 *             See {@link ResultSet#getObject(int, Class)}
 * @see ResultSet#getObject(int, Class)
 */
@SuppressWarnings("unchecked")
public static <T> T getObject(final ResultSet resultSet, final int columnIndex, final Class<T> type)
        throws SQLException {
    try {
        return resultSet.getObject(columnIndex, type);
    } catch (final AbstractMethodError e) {
        if (type == String.class) {
            return (T) resultSet.getString(columnIndex);
        }
        // Numbers
        if (type == Integer.class) {
            return (T) Integer.valueOf(resultSet.getInt(columnIndex));
        }
        if (type == Long.class) {
            return (T) Long.valueOf(resultSet.getLong(columnIndex));
        }
        if (type == Double.class) {
            return (T) Double.valueOf(resultSet.getDouble(columnIndex));
        }
        if (type == Float.class) {
            return (T) Float.valueOf(resultSet.getFloat(columnIndex));
        }
        if (type == Short.class) {
            return (T) Short.valueOf(resultSet.getShort(columnIndex));
        }
        if (type == BigDecimal.class) {
            return (T) resultSet.getBigDecimal(columnIndex);
        }
        if (type == Byte.class) {
            return (T) Byte.valueOf(resultSet.getByte(columnIndex));
        }
        // Dates
        if (type == Date.class) {
            return (T) resultSet.getDate(columnIndex);
        }
        if (type == Time.class) {
            return (T) resultSet.getTime(columnIndex);
        }
        if (type == Timestamp.class) {
            return (T) resultSet.getTimestamp(columnIndex);
        }
        // Streams
        if (type == InputStream.class) {
            return (T) resultSet.getBinaryStream(columnIndex);
        }
        if (type == Reader.class) {
            return (T) resultSet.getCharacterStream(columnIndex);
        }
        // Other
        if (type == Object.class) {
            return (T) resultSet.getObject(columnIndex);
        }
        if (type == Boolean.class) {
            return (T) Boolean.valueOf(resultSet.getBoolean(columnIndex));
        }
        if (type == Array.class) {
            return (T) resultSet.getArray(columnIndex);
        }
        if (type == Blob.class) {
            return (T) resultSet.getBlob(columnIndex);
        }
        if (type == Clob.class) {
            return (T) resultSet.getClob(columnIndex);
        }
        if (type == Ref.class) {
            return (T) resultSet.getRef(columnIndex);
        }
        if (type == RowId.class) {
            return (T) resultSet.getRowId(columnIndex);
        }
        if (type == SQLXML.class) {
            return (T) resultSet.getSQLXML(columnIndex);
        }
        if (type == URL.class) {
            return (T) resultSet.getURL(columnIndex);
        }
        throw new SQLFeatureNotSupportedException(
                String.format("resultSet=%s, columnIndex=%,d, type=%s", resultSet, Integer.valueOf(columnIndex), type));
    }
}
 
Example 8
Source File: Jdbc41Bridge.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
/**
 * Delegates to {@link ResultSet#getObject(String, Class)} without throwing a {@link AbstractMethodError}.
 *
 * @param <T>
 *            See {@link ResultSet#getObject(String, Class)}
 * @param resultSet
 *            See {@link ResultSet#getObject(String, Class)}
 * @param columnLabel
 *            See {@link ResultSet#getObject(String, Class)}
 * @param type
 *            See {@link ResultSet#getObject(String, Class)}
 * @return See {@link ResultSet#getObject(String, Class)}
 * @throws SQLException
 *             See {@link ResultSet#getObject(String, Class)}
 * @see ResultSet#getObject(int, Class)
 */
@SuppressWarnings("unchecked")
public static <T> T getObject(final ResultSet resultSet, final String columnLabel, final Class<T> type)
        throws SQLException {
    try {
        return resultSet.getObject(columnLabel, type);
    } catch (final AbstractMethodError e) {
        // Numbers
        if (type == Integer.class) {
            return (T) Integer.valueOf(resultSet.getInt(columnLabel));
        }
        if (type == Long.class) {
            return (T) Long.valueOf(resultSet.getLong(columnLabel));
        }
        if (type == Double.class) {
            return (T) Double.valueOf(resultSet.getDouble(columnLabel));
        }
        if (type == Float.class) {
            return (T) Float.valueOf(resultSet.getFloat(columnLabel));
        }
        if (type == Short.class) {
            return (T) Short.valueOf(resultSet.getShort(columnLabel));
        }
        if (type == BigDecimal.class) {
            return (T) resultSet.getBigDecimal(columnLabel);
        }
        if (type == Byte.class) {
            return (T) Byte.valueOf(resultSet.getByte(columnLabel));
        }
        // Dates
        if (type == Date.class) {
            return (T) resultSet.getDate(columnLabel);
        }
        if (type == Time.class) {
            return (T) resultSet.getTime(columnLabel);
        }
        if (type == Timestamp.class) {
            return (T) resultSet.getTimestamp(columnLabel);
        }
        // Streams
        if (type == InputStream.class) {
            return (T) resultSet.getBinaryStream(columnLabel);
        }
        if (type == Reader.class) {
            return (T) resultSet.getCharacterStream(columnLabel);
        }
        // Other
        if (type == Object.class) {
            return (T) resultSet.getObject(columnLabel);
        }
        if (type == Boolean.class) {
            return (T) Boolean.valueOf(resultSet.getBoolean(columnLabel));
        }
        if (type == Array.class) {
            return (T) resultSet.getArray(columnLabel);
        }
        if (type == Blob.class) {
            return (T) resultSet.getBlob(columnLabel);
        }
        if (type == Clob.class) {
            return (T) resultSet.getClob(columnLabel);
        }
        if (type == Ref.class) {
            return (T) resultSet.getRef(columnLabel);
        }
        if (type == RowId.class) {
            return (T) resultSet.getRowId(columnLabel);
        }
        if (type == SQLXML.class) {
            return (T) resultSet.getSQLXML(columnLabel);
        }
        if (type == URL.class) {
            return (T) resultSet.getURL(columnLabel);
        }
        throw new SQLFeatureNotSupportedException(
                String.format("resultSet=%s, columnLabel=%s, type=%s", resultSet, columnLabel, type));
    }
}
 
Example 9
Source File: UnsupportedOperationResultSetTest.java    From sharding-jdbc-1.5.1 with Apache License 2.0 4 votes vote down vote up
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertGetRowIdForColumnIndex() throws SQLException {
    for (ResultSet each : resultSets) {
        each.getRowId(1);
    }
}
 
Example 10
Source File: UnsupportedOperationResultSetTest.java    From sharding-jdbc-1.5.1 with Apache License 2.0 4 votes vote down vote up
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertGetRowIdForColumnLabel() throws SQLException {
    for (ResultSet each : resultSets) {
        each.getRowId("label");
    }
}
 
Example 11
Source File: JdbcValueHandler.java    From scipio-erp with Apache License 2.0 4 votes vote down vote up
@Override
public java.sql.RowId getValue(ResultSet rs, int columnIndex) throws SQLException {
    return rs.getRowId(columnIndex);
}
 
Example 12
Source File: UnsupportedOperationResultSetTest.java    From shardingsphere with Apache License 2.0 4 votes vote down vote up
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertGetRowIdForColumnIndex() throws SQLException {
    for (ResultSet each : resultSets) {
        each.getRowId(1);
    }
}
 
Example 13
Source File: UnsupportedOperationResultSetTest.java    From shardingsphere with Apache License 2.0 4 votes vote down vote up
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertGetRowIdForColumnLabel() throws SQLException {
    for (ResultSet each : resultSets) {
        each.getRowId("label");
    }
}
 
Example 14
Source File: RowIdResultSetGetter.java    From SimpleFlatMapper with MIT License 4 votes vote down vote up
public RowId get(final ResultSet target) throws SQLException {
	return target.getRowId(column);
}
 
Example 15
Source File: Jdbc41Bridge.java    From commons-dbcp with Apache License 2.0 4 votes vote down vote up
/**
 * Delegates to {@link ResultSet#getObject(int, Class)} without throwing an {@link AbstractMethodError}.
 * <p>
 * If the JDBC driver does not implement {@link ResultSet#getObject(int, Class)}, then return 0.
 * </p>
 *
 * @param <T>
 *            See {@link ResultSet#getObject(int, Class)}
 * @param resultSet
 *            See {@link ResultSet#getObject(int, Class)}
 * @param columnIndex
 *            See {@link ResultSet#getObject(int, Class)}
 * @param type
 *            See {@link ResultSet#getObject(int, Class)}
 * @return See {@link ResultSet#getObject(int, Class)}
 * @throws SQLException
 *             See {@link ResultSet#getObject(int, Class)}
 * @see ResultSet#getObject(int, Class)
 */
@SuppressWarnings("unchecked")
public static <T> T getObject(final ResultSet resultSet, final int columnIndex, final Class<T> type)
        throws SQLException {
    try {
        return resultSet.getObject(columnIndex, type);
    } catch (final AbstractMethodError e) {
        if (type == String.class) {
            return (T) resultSet.getString(columnIndex);
        }
        // Numbers
        if (type == Integer.class) {
            return (T) Integer.valueOf(resultSet.getInt(columnIndex));
        }
        if (type == Long.class) {
            return (T) Long.valueOf(resultSet.getLong(columnIndex));
        }
        if (type == Double.class) {
            return (T) Double.valueOf(resultSet.getDouble(columnIndex));
        }
        if (type == Float.class) {
            return (T) Float.valueOf(resultSet.getFloat(columnIndex));
        }
        if (type == Short.class) {
            return (T) Short.valueOf(resultSet.getShort(columnIndex));
        }
        if (type == BigDecimal.class) {
            return (T) resultSet.getBigDecimal(columnIndex);
        }
        if (type == Byte.class) {
            return (T) Byte.valueOf(resultSet.getByte(columnIndex));
        }
        // Dates
        if (type == Date.class) {
            return (T) resultSet.getDate(columnIndex);
        }
        if (type == Time.class) {
            return (T) resultSet.getTime(columnIndex);
        }
        if (type == Timestamp.class) {
            return (T) resultSet.getTimestamp(columnIndex);
        }
        // Streams
        if (type == InputStream.class) {
            return (T) resultSet.getBinaryStream(columnIndex);
        }
        if (type == Reader.class) {
            return (T) resultSet.getCharacterStream(columnIndex);
        }
        // Other
        if (type == Object.class) {
            return (T) resultSet.getObject(columnIndex);
        }
        if (type == Boolean.class) {
            return (T) Boolean.valueOf(resultSet.getBoolean(columnIndex));
        }
        if (type == Array.class) {
            return (T) resultSet.getArray(columnIndex);
        }
        if (type == Blob.class) {
            return (T) resultSet.getBlob(columnIndex);
        }
        if (type == Clob.class) {
            return (T) resultSet.getClob(columnIndex);
        }
        if (type == Ref.class) {
            return (T) resultSet.getRef(columnIndex);
        }
        if (type == RowId.class) {
            return (T) resultSet.getRowId(columnIndex);
        }
        if (type == SQLXML.class) {
            return (T) resultSet.getSQLXML(columnIndex);
        }
        if (type == URL.class) {
            return (T) resultSet.getURL(columnIndex);
        }
        throw new SQLFeatureNotSupportedException(
                String.format("resultSet=%s, columnIndex=%,d, type=%s", resultSet, columnIndex, type));
    }
}
 
Example 16
Source File: Jdbc41Bridge.java    From commons-dbcp with Apache License 2.0 4 votes vote down vote up
/**
 * Delegates to {@link ResultSet#getObject(String, Class)} without throwing an {@link AbstractMethodError}.
 *
 * @param <T>
 *            See {@link ResultSet#getObject(String, Class)}
 * @param resultSet
 *            See {@link ResultSet#getObject(String, Class)}
 * @param columnLabel
 *            See {@link ResultSet#getObject(String, Class)}
 * @param type
 *            See {@link ResultSet#getObject(String, Class)}
 * @return See {@link ResultSet#getObject(String, Class)}
 * @throws SQLException
 *             See {@link ResultSet#getObject(String, Class)}
 * @see ResultSet#getObject(int, Class)
 */
@SuppressWarnings("unchecked")
public static <T> T getObject(final ResultSet resultSet, final String columnLabel, final Class<T> type)
        throws SQLException {
    try {
        return resultSet.getObject(columnLabel, type);
    } catch (final AbstractMethodError e) {
        // Numbers
        if (type == Integer.class) {
            return (T) Integer.valueOf(resultSet.getInt(columnLabel));
        }
        if (type == Long.class) {
            return (T) Long.valueOf(resultSet.getLong(columnLabel));
        }
        if (type == Double.class) {
            return (T) Double.valueOf(resultSet.getDouble(columnLabel));
        }
        if (type == Float.class) {
            return (T) Float.valueOf(resultSet.getFloat(columnLabel));
        }
        if (type == Short.class) {
            return (T) Short.valueOf(resultSet.getShort(columnLabel));
        }
        if (type == BigDecimal.class) {
            return (T) resultSet.getBigDecimal(columnLabel);
        }
        if (type == Byte.class) {
            return (T) Byte.valueOf(resultSet.getByte(columnLabel));
        }
        // Dates
        if (type == Date.class) {
            return (T) resultSet.getDate(columnLabel);
        }
        if (type == Time.class) {
            return (T) resultSet.getTime(columnLabel);
        }
        if (type == Timestamp.class) {
            return (T) resultSet.getTimestamp(columnLabel);
        }
        // Streams
        if (type == InputStream.class) {
            return (T) resultSet.getBinaryStream(columnLabel);
        }
        if (type == Reader.class) {
            return (T) resultSet.getCharacterStream(columnLabel);
        }
        // Other
        if (type == Object.class) {
            return (T) resultSet.getObject(columnLabel);
        }
        if (type == Boolean.class) {
            return (T) Boolean.valueOf(resultSet.getBoolean(columnLabel));
        }
        if (type == Array.class) {
            return (T) resultSet.getArray(columnLabel);
        }
        if (type == Blob.class) {
            return (T) resultSet.getBlob(columnLabel);
        }
        if (type == Clob.class) {
            return (T) resultSet.getClob(columnLabel);
        }
        if (type == Ref.class) {
            return (T) resultSet.getRef(columnLabel);
        }
        if (type == RowId.class) {
            return (T) resultSet.getRowId(columnLabel);
        }
        if (type == SQLXML.class) {
            return (T) resultSet.getSQLXML(columnLabel);
        }
        if (type == URL.class) {
            return (T) resultSet.getURL(columnLabel);
        }
        throw new SQLFeatureNotSupportedException(
                String.format("resultSet=%s, columnLabel=%s, type=%s", resultSet, columnLabel, type));
    }
}