Search in sources :

Example 6 with DataHandler

use of org.h2.store.DataHandler in project h2database by h2database.

the class ValueLob method createFromStream.

private void createFromStream(byte[] buff, int len, InputStream in, long remaining, DataHandler h) throws IOException {
    try (FileStoreOutputStream out = initLarge(h)) {
        boolean compress = h.getLobCompressionAlgorithm(Value.BLOB) != null;
        while (true) {
            precision += len;
            out.write(buff, 0, len);
            remaining -= len;
            if (remaining <= 0) {
                break;
            }
            len = getBufferSize(h, compress, remaining);
            len = IOUtils.readFully(in, buff, len);
            if (len <= 0) {
                break;
            }
        }
    }
}
Also used : FileStoreOutputStream(org.h2.store.FileStoreOutputStream)

Example 7 with DataHandler

use of org.h2.store.DataHandler in project h2database by h2database.

the class JdbcUtils method serialize.

/**
 * Serialize the object to a byte array, using the serializer specified by
 * the connection info if set, or the default serializer.
 *
 * @param obj the object to serialize
 * @param dataHandler provides the object serializer (may be null)
 * @return the byte array
 */
public static byte[] serialize(Object obj, DataHandler dataHandler) {
    try {
        JavaObjectSerializer handlerSerializer = null;
        if (dataHandler != null) {
            handlerSerializer = dataHandler.getJavaObjectSerializer();
        }
        if (handlerSerializer != null) {
            return handlerSerializer.serialize(obj);
        }
        if (serializer != null) {
            return serializer.serialize(obj);
        }
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        ObjectOutputStream os = new ObjectOutputStream(out);
        os.writeObject(obj);
        return out.toByteArray();
    } catch (Throwable e) {
        throw DbException.get(ErrorCode.SERIALIZATION_FAILED_1, e, e.toString());
    }
}
Also used : ByteArrayOutputStream(java.io.ByteArrayOutputStream) ObjectOutputStream(java.io.ObjectOutputStream) JavaObjectSerializer(org.h2.api.JavaObjectSerializer)

Aggregations

IOException (java.io.IOException)2 JavaObjectSerializer (org.h2.api.JavaObjectSerializer)2 DataHandler (org.h2.store.DataHandler)2 FileStoreOutputStream (org.h2.store.FileStoreOutputStream)2 ValueLobDb (org.h2.value.ValueLobDb)2 BufferedReader (java.io.BufferedReader)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 ObjectInputStream (java.io.ObjectInputStream)1 ObjectOutputStream (java.io.ObjectOutputStream)1 ObjectStreamClass (java.io.ObjectStreamClass)1 RangeReader (org.h2.store.RangeReader)1