Package org.postgresql.core
Class Utils
- java.lang.Object
-
- org.postgresql.core.Utils
-
public class Utils extends java.lang.Object
Collection of utilities used by the protocol-level code.
-
-
Constructor Summary
Constructors Constructor Description Utils()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private static void
doAppendEscapedIdentifier(java.lang.Appendable sbuf, java.lang.String value)
Common part for appendEscapedIdentifier.private static void
doAppendEscapedLiteral(java.lang.Appendable sbuf, java.lang.String value, boolean standardConformingStrings)
Common part forescapeLiteral(StringBuilder, String, boolean)
.static java.lang.StringBuilder
escapeIdentifier(java.lang.StringBuilder sbuf, java.lang.String value)
Escape the given identifiervalue
and append it to the string buildersbuf
.static java.lang.StringBuilder
escapeLiteral(java.lang.StringBuilder sbuf, java.lang.String value, boolean standardConformingStrings)
Escape the given literalvalue
and append it to the string buildersbuf
.static int
parseServerVersionStr(java.lang.String serverVersion)
Deprecated.use specificVersion
instancestatic java.lang.String
toHexString(byte[] data)
Turn a bytearray into a printable form, representing each byte in hex.
-
-
-
Method Detail
-
toHexString
public static java.lang.String toHexString(byte[] data)
Turn a bytearray into a printable form, representing each byte in hex.- Parameters:
data
- the bytearray to stringize- Returns:
- a hex-encoded printable representation of
data
-
escapeLiteral
public static java.lang.StringBuilder escapeLiteral(java.lang.StringBuilder sbuf, java.lang.String value, boolean standardConformingStrings) throws java.sql.SQLException
Escape the given literalvalue
and append it to the string buildersbuf
. Ifsbuf
isnull
, a new StringBuilder will be returned. The argumentstandardConformingStrings
defines whether the backend expects standard-conforming string literals or allows backslash escape sequences.- Parameters:
sbuf
- the string builder to append to; ornull
value
- the string valuestandardConformingStrings
- if standard conforming strings should be used- Returns:
- the sbuf argument; or a new string builder for sbuf == null
- Throws:
java.sql.SQLException
- if the string contains a\0
character
-
doAppendEscapedLiteral
private static void doAppendEscapedLiteral(java.lang.Appendable sbuf, java.lang.String value, boolean standardConformingStrings) throws java.sql.SQLException
Common part forescapeLiteral(StringBuilder, String, boolean)
.- Parameters:
sbuf
- Either StringBuffer or StringBuilder as we do not expect any IOException to be thrownvalue
- value to appendstandardConformingStrings
- if standard conforming strings should be used- Throws:
java.sql.SQLException
-
escapeIdentifier
public static java.lang.StringBuilder escapeIdentifier(java.lang.StringBuilder sbuf, java.lang.String value) throws java.sql.SQLException
Escape the given identifiervalue
and append it to the string buildersbuf
. Ifsbuf
isnull
, a new StringBuilder will be returned. This method is different from appendEscapedLiteral in that it includes the quoting required for the identifier whileescapeLiteral(StringBuilder, String, boolean)
does not.- Parameters:
sbuf
- the string builder to append to; ornull
value
- the string value- Returns:
- the sbuf argument; or a new string builder for sbuf == null
- Throws:
java.sql.SQLException
- if the string contains a\0
character
-
doAppendEscapedIdentifier
private static void doAppendEscapedIdentifier(java.lang.Appendable sbuf, java.lang.String value) throws java.sql.SQLException
Common part for appendEscapedIdentifier.- Parameters:
sbuf
- Either StringBuffer or StringBuilder as we do not expect any IOException to be thrown.value
- value to append- Throws:
java.sql.SQLException
-
parseServerVersionStr
@Deprecated public static int parseServerVersionStr(java.lang.String serverVersion) throws java.lang.NumberFormatException
Deprecated.use specificVersion
instanceAttempt to parse the server version string into an XXYYZZ form version number.Returns 0 if the version could not be parsed.
Returns minor version 0 if the minor version could not be determined, e.g. devel or beta releases.
If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form).
The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a version part is out of range.
- Parameters:
serverVersion
- server version in a XXYYZZ form- Returns:
- server version in number form
- Throws:
java.lang.NumberFormatException
-
-