Package org.postgresql.util
Class PGbytea
- java.lang.Object
-
- org.postgresql.util.PGbytea
-
public class PGbytea extends java.lang.Object
Converts to and from the postgresql bytea datatype used by the backend.
-
-
Field Summary
Fields Modifier and Type Field Description private static int[]
HEX_VALS
Lookup table for each of the valid ascii code points (offset by'0'
) to the 4 bit numeric value.private static int
MAX_3_BUFF_SIZE
-
Constructor Summary
Constructors Constructor Description PGbytea()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
appendHexString(java.lang.StringBuilder sb, byte[] buf, int offset, int length)
Appends given byte array as hex string.private static int
getHex(byte b)
static byte[]
toBytes(byte[] s)
private static byte[]
toBytesHexEscaped(byte[] s)
private static byte[]
toBytesOctalEscaped(byte[] s)
static java.lang.String
toPGLiteral(java.lang.Object value)
Formats input object asbytea
literal like'\xcafebabe'::bytea
.static java.lang.String
toPGString(byte[] buf)
-
-
-
Field Detail
-
MAX_3_BUFF_SIZE
private static final int MAX_3_BUFF_SIZE
- See Also:
- Constant Field Values
-
HEX_VALS
private static final int[] HEX_VALS
Lookup table for each of the valid ascii code points (offset by'0'
) to the 4 bit numeric value.
-
-
Method Detail
-
toBytes
public static byte[] toBytes(byte[] s) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
toBytesHexEscaped
private static byte[] toBytesHexEscaped(byte[] s)
-
getHex
private static int getHex(byte b)
-
toBytesOctalEscaped
private static byte[] toBytesOctalEscaped(byte[] s)
-
toPGString
public static java.lang.String toPGString(byte[] buf)
-
appendHexString
public static void appendHexString(java.lang.StringBuilder sb, byte[] buf, int offset, int length)
Appends given byte array as hex string. See HexEncodingBenchmark for the benchmark.- Parameters:
sb
- output builderbuf
- buffer to appendoffset
- offset within the bufferlength
- the length of sequence to append
-
toPGLiteral
public static java.lang.String toPGLiteral(java.lang.Object value) throws java.io.IOException
Formats input object asbytea
literal like'\xcafebabe'::bytea
. The following inputs are supported:byte[]
,StreamWrapper
, andByteStreamWriter
.- Parameters:
value
- input value to format- Returns:
- formatted value
- Throws:
java.io.IOException
- in case there's underflow in the input value
-
-