| Modifier and Type | Class and Description |
|---|---|
| private class | AbstractBlobClob.
Iterates over a large object returning byte values. |
| Modifier and Type | Field and Description |
|---|---|
| protected BaseConnection | |
| private @Nullable LargeObject | |
| private boolean | |
| protected final ResourceLock | |
| private final long | |
| private @Nullable ArrayList | subLOs
We create separate LargeObjects for methods that use streams so they won't interfere with each other. |
| private final boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected void | |
| protected void | assertPosition(long
Position to write at. pos)Throws an exception if the pos value exceeds the max value by which the large object API can index. |
| protected void | assertPosition(long
Position to write at. pos, long number of bytes to write. len)Throws an exception if the pos value exceeds the max value by which the large object API can index. |
| protected void | |
| public void | |
| public InputStream | |
| public byte[] | |
| protected LargeObject | |
| public long | |
| public long | Returns: position of the specified patternA pattern of bytes to search the blob for pattern, long The position to start reading from start)Iterate over the buffer looking for the specified pattern. |
| public long | |
| public OutputStream | |
| public void | truncate(long
maximum length len)For Blobs this should be in bytes while for Clobs it should be in characters. |
| conn | back to summary |
|---|---|
| protected BaseConnection conn | |
| currentLo | back to summary |
|---|---|
| private @Nullable LargeObject currentLo | |
| currentLoIsWriteable | back to summary |
|---|---|
| private boolean currentLoIsWriteable | |
| lock | back to summary |
|---|---|
| protected final ResourceLock lock | |
| oid | back to summary |
|---|---|
| private final long oid | |
| subLOs | back to summary |
|---|---|
| private @Nullable ArrayList<LargeObject> subLOs We create separate LargeObjects for methods that use streams so they won't interfere with each other. | |
| support64bit | back to summary |
|---|---|
| private final boolean support64bit | |
| AbstractBlobClob | back to summary |
|---|---|
| public AbstractBlobClob(BaseConnection conn, long oid) throws SQLException | |
| addSubLO | back to summary |
|---|---|
| protected void addSubLO(LargeObject subLO) | |
| assertPosition | back to summary |
|---|---|
| protected void assertPosition(long pos) throws SQLException Throws an exception if the pos value exceeds the max value by which the large object API can index.
| |
| assertPosition | back to summary |
|---|---|
| protected void assertPosition(long pos, long len) throws SQLException Throws an exception if the pos value exceeds the max value by which the large object API can index.
| |
| checkFreed | back to summary |
|---|---|
| protected void checkFreed() throws SQLException Checks that this LOB hasn't been free()d already.
| |
| free | back to summary |
|---|---|
| public void free() throws SQLException | |
| getBinaryStream | back to summary |
|---|---|
| public InputStream getBinaryStream() throws SQLException | |
| getBytes | back to summary |
|---|---|
| public byte[] getBytes(long pos, int length) throws SQLException | |
| getLo | back to summary |
|---|---|
| protected LargeObject getLo(boolean forWrite) throws SQLException | |
| length | back to summary |
|---|---|
| public long length() throws SQLException | |
| position | back to summary |
|---|---|
| public long position(byte[] pattern, long start) throws SQLException Iterate over the buffer looking for the specified pattern.
| |
| position | back to summary |
|---|---|
| public long position(Blob pattern, long start) throws SQLException This is simply passing the byte value of the pattern Blob.
| |
| setBinaryStream | back to summary |
|---|---|
| public OutputStream setBinaryStream(long pos) throws SQLException | |
| truncate | back to summary |
|---|---|
| public void truncate(long len) throws SQLException For Blobs this should be in bytes while for Clobs it should be in characters. Since we really haven't figured out how to handle character sets for Clobs the current implementation uses bytes for both Blobs and Clobs.
| |
| Modifier and Type | Field and Description |
|---|---|
| private final byte[] | |
| private static final int | |
| private int | |
| private int |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | |
| private byte |
| buffer | back to summary |
|---|---|
| private final byte[] buffer | |
| BUFFER_SIZE | back to summary |
|---|---|
| private static final int BUFFER_SIZE | |
| idx | back to summary |
|---|---|
| private int idx | |
| numBytes | back to summary |
|---|---|
| private int numBytes | |
| LOIterator | back to summary |
|---|---|
| pack-priv LOIterator(long start) throws SQLException | |
| hasNext | back to summary |
|---|---|
| public boolean hasNext() throws SQLException | |
| next | back to summary |
|---|---|
| private byte next() | |