Search in sources :

Example 11 with Result

use of org.hsqldb_voltpatches.result.Result in project voltdb by VoltDB.

the class LobManager method setBytesForNewBlob.

public Result setBytesForNewBlob(long lobID, InputStream inputStream, long length) {
    Session session = sysLobSession;
    if (length == 0) {
        return ResultLob.newLobSetResponse(lobID, 0);
    }
    Result result = setBytesIS(session, lobID, inputStream, length);
    return result;
}
Also used : Session(org.hsqldb_voltpatches.Session) Result(org.hsqldb_voltpatches.result.Result)

Example 12 with Result

use of org.hsqldb_voltpatches.result.Result in project voltdb by VoltDB.

the class LobManager method adjustUsageCount.

public Result adjustUsageCount(long lobID, int delta) {
    Object[] data = getLobHeader(sysLobSession, lobID);
    int count = ((Number) data[2]).intValue();
    if (count + delta == 0) {
        return deleteLob(lobID);
    }
    ResultMetaData meta = setLobUsage.getParametersMetaData();
    Object[] params = new Object[meta.getColumnCount()];
    params[0] = Long.valueOf(count + delta);
    params[1] = Long.valueOf(lobID);
    Result result = sysLobSession.executeCompiledStatement(setLobLength, params);
    return result;
}
Also used : ResultMetaData(org.hsqldb_voltpatches.result.ResultMetaData) Result(org.hsqldb_voltpatches.result.Result)

Example 13 with Result

use of org.hsqldb_voltpatches.result.Result in project voltdb by VoltDB.

the class LobManager method getBlockAddresses.

int[][] getBlockAddresses(Session session, long lobID, int offset, int limit) {
    ResultMetaData meta = getLobPart.getParametersMetaData();
    Object[] params = new Object[meta.getColumnCount()];
    params[0] = Long.valueOf(lobID);
    params[1] = Integer.valueOf(offset);
    params[2] = Integer.valueOf(limit);
    session.sessionContext.pushDynamicArguments(params);
    Result result = getLobPart.execute(session);
    session.sessionContext.popDynamicArguments();
    RowSetNavigator navigator = result.getNavigator();
    int size = navigator.getSize();
    int[][] blocks = new int[size][3];
    for (int i = 0; i < size; i++) {
        navigator.absolute(i);
        Object[] data = navigator.getCurrent();
        blocks[i][0] = ((Integer) data[LOBS.BLOCK_ADDR]).intValue();
        blocks[i][1] = ((Integer) data[LOBS.BLOCK_COUNT]).intValue();
        blocks[i][2] = ((Integer) data[LOBS.BLOCK_OFFSET]).intValue();
    }
    navigator.close();
    return blocks;
}
Also used : RowSetNavigator(org.hsqldb_voltpatches.navigator.RowSetNavigator) ResultMetaData(org.hsqldb_voltpatches.result.ResultMetaData) Result(org.hsqldb_voltpatches.result.Result)

Example 14 with Result

use of org.hsqldb_voltpatches.result.Result in project voltdb by VoltDB.

the class LobManager method getChars.

public Result getChars(Session session, long lobID, long offset, int length) {
    Result result = getBytes(session, lobID, offset * 2, length * 2);
    if (result.isError()) {
        return result;
    }
    byte[] bytes = ((ResultLob) result).getByteArray();
    HsqlByteArrayInputStream be = new HsqlByteArrayInputStream(bytes);
    char[] chars = new char[bytes.length / 2];
    try {
        for (int i = 0; i < chars.length; i++) {
            chars[i] = be.readChar();
        }
    } catch (Exception e) {
        return Result.newErrorResult(e);
    }
    return ResultLob.newLobGetCharsResponse(lobID, offset, chars);
}
Also used : HsqlByteArrayInputStream(org.hsqldb_voltpatches.lib.HsqlByteArrayInputStream) IOException(java.io.IOException) EOFException(java.io.EOFException) HsqlException(org.hsqldb_voltpatches.HsqlException) Result(org.hsqldb_voltpatches.result.Result) ResultLob(org.hsqldb_voltpatches.result.ResultLob)

Example 15 with Result

use of org.hsqldb_voltpatches.result.Result in project voltdb by VoltDB.

the class LobManager method deleteLob.

public Result deleteLob(long lobID) {
    Session session = this.sysLobSession;
    ResultMetaData meta = deleteLob.getParametersMetaData();
    Object[] params = new Object[meta.getColumnCount()];
    params[0] = Long.valueOf(lobID);
    params[1] = Long.valueOf(0);
    Result result = session.executeCompiledStatement(deleteLob, params);
    return result;
}
Also used : ResultMetaData(org.hsqldb_voltpatches.result.ResultMetaData) Session(org.hsqldb_voltpatches.Session) Result(org.hsqldb_voltpatches.result.Result)

Aggregations

Result (org.hsqldb_voltpatches.result.Result)83 Session (org.hsqldb_voltpatches.Session)18 PersistentStore (org.hsqldb_voltpatches.persist.PersistentStore)16 HsqlName (org.hsqldb_voltpatches.HsqlNameManager.HsqlName)15 Table (org.hsqldb_voltpatches.Table)14 ResultLob (org.hsqldb_voltpatches.result.ResultLob)13 TextTable (org.hsqldb_voltpatches.TextTable)12 ResultMetaData (org.hsqldb_voltpatches.result.ResultMetaData)11 RowSetNavigator (org.hsqldb_voltpatches.navigator.RowSetNavigator)10 HsqlException (org.hsqldb_voltpatches.HsqlException)5 RowSetNavigatorData (org.hsqldb_voltpatches.navigator.RowSetNavigatorData)4 EOFException (java.io.EOFException)3 RowSetNavigatorClient (org.hsqldb_voltpatches.navigator.RowSetNavigatorClient)3 IOException (java.io.IOException)2 RangeIteratorBase (org.hsqldb_voltpatches.RangeVariable.RangeIteratorBase)2 Statement (org.hsqldb_voltpatches.Statement)2 HashMappedList (org.hsqldb_voltpatches.lib.HashMappedList)2 HsqlArrayList (org.hsqldb_voltpatches.lib.HsqlArrayList)2 HsqlByteArrayInputStream (org.hsqldb_voltpatches.lib.HsqlByteArrayInputStream)2 Iterator (org.hsqldb_voltpatches.lib.Iterator)2