Class SqlJetUtility
java.lang.Object
org.tmatesoft.sqljet.core.internal.SqlJetUtility
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final long
absolute
(long i) Returns absolute value of argumentstatic final Object[]
static byte[]
addZeroByteEnd
(byte[] b) static final Object
adjustNumberType
(Object value) static final Object[]
adjustNumberTypes
(Object[] key) static final SqlJetScope
static final ISqlJetMemoryPointer
allocatePtr
(int size) static final ISqlJetMemoryPointer
allocatePtr
(int size, SqlJetMemoryBufferType bufferType) static final double
static final Long
static boolean
bitSetTest
(BitSet bitSet, int index) Check to see if the i-th bit is set.static Object[]
static Long
static ISqlJetMemoryPointer
static ISqlJetMemoryPointer
fromString
(String s, SqlJetEncoding enc) GetByteBuffer
fromString
.static final short
fromUnsigned
(int value) static final int
fromUnsigned
(long value) static final byte
fromUnsigned
(short value) static final int
Read a two-byte big-endian integer values.static final int
get2byte
(ISqlJetMemoryPointer x, int off) Read a two-byte big-endian integer values.static final int
Read a four-byte big-endian integer value.static final int
get4byte
(ISqlJetMemoryPointer p, int pos) Read a four-byte big-endian integer value.static final long
get4byteUnsigned
(byte[] p) Read a four-byte big-endian integer value.static final long
get4byteUnsigned
(byte[] p, int pos) Read a four-byte big-endian integer value.static final long
Read a four-byte big-endian integer value.static final long
get4byteUnsigned
(ISqlJetMemoryPointer p, int pos) Read a four-byte big-endian integer value.static boolean
getBoolSysProp
(String propName, boolean defValue) static byte[]
static <T extends Enum<T>>
TgetEnumSysProp
(String propName, T defValue) static int
getIntSysProp
(String propName, int defValue) static ISqlJetMemoryPointer
getMoved
(ISqlJetMemoryPointer preceding, ISqlJetMemoryPointer ptr, int offset) static String
getSysProp
(String propName, String defValue) static final int
getUnsignedByte
(ISqlJetMemoryPointer byteBuffer, int index) Get unsigned byte from byte bufferstatic byte
getVarint
(ISqlJetMemoryPointer p, int offset, long[] v) static byte
getVarint
(ISqlJetMemoryPointer p, long[] v) Read a 64-bit variable-length integer from memory starting at p[0].static byte
getVarint32
(ISqlJetMemoryPointer p, int[] v) Read a 32-bit variable-length integer from memory starting at p[0].static byte
getVarint32
(ISqlJetMemoryPointer p, int offset, int[] v) static final Object[]
insertArray
(Object[] intoArray, Object[] insertArray, int pos) static boolean
Return TRUE if z is a pure numeric string.static void
static final int
memcmp
(byte[] a1, byte[] a2, int count) static final int
memcmp
(byte[] a1, int from1, byte[] a2, int from2, int count) static final int
memcmp
(ISqlJetMemoryPointer a1, int a1offs, ISqlJetMemoryPointer a2, int a2offs, int count) static final int
memcmp
(ISqlJetMemoryPointer a1, ISqlJetMemoryPointer a2, int count) static final void
memcpy
(byte[] dest, byte[] src, int length) static final void
memcpy
(byte[] dest, int dstPos, byte[] src, int srcPos, int length) static final void
memcpy
(ISqlJetMemoryPointer dest, int dstPos, ISqlJetMemoryPointer src, int srcPos, int length) static final void
memcpy
(ISqlJetMemoryPointer dest, ISqlJetMemoryPointer src, int length) static final void
memcpy
(SqlJetCloneable[] dest, SqlJetCloneable[] src, int length) static final <T extends SqlJetCloneable>
Tmemcpy
(T src) static final void
memmove
(ISqlJetMemoryPointer dst, int dstOffs, ISqlJetMemoryPointer src, int srcOffs, int n) static final void
memmove
(ISqlJetMemoryPointer dst, ISqlJetMemoryPointer src, int n) static final void
memset
(ISqlJetMemoryPointer data, byte value) static final void
memset
(ISqlJetMemoryPointer data, byte value, int count) static final void
memset
(ISqlJetMemoryPointer data, int from, byte value, int count) static final void
movePtr
(ISqlJetMemoryPointer p, int pos) static final boolean
mutex_held
(ISqlJetMutex mutex) of
(E e) of
(E e1, E e2) of
(E e1, E... e) of
(E e1, E e2, E e3) static final ISqlJetMemoryPointer
static final ISqlJetMemoryPointer
pointer
(ISqlJetMemoryPointer p, int pos) Implements address arithmetic on byte buffer.static final void
put2byte
(ISqlJetMemoryPointer p, int v) Write a two-byte big-endian integer values.static final void
put2byte
(ISqlJetMemoryPointer p, int off, int v) Write a two-byte big-endian integer values.static final ISqlJetMemoryPointer
put4byte
(int v) Write a four-byte big-endian integer value.static final void
put4byte
(ISqlJetMemoryPointer p, int pos, long v) Write a four-byte big-endian integer value.static final void
put4byte
(ISqlJetMemoryPointer p, long v) Write a four-byte big-endian integer value.static final void
put4byteUnsigned
(byte[] p, int pos, long v) Write a four-byte big-endian integer value.static final ISqlJetMemoryPointer
put4byteUnsigned
(long v) Write a four-byte big-endian integer value.static final void
put4byteUnsigned
(ISqlJetMemoryPointer p, int pos, long v) Write a four-byte big-endian integer value.static final void
put4byteUnsigned
(ISqlJetMemoryPointer p, long v) Write a four-byte big-endian integer value.static final ISqlJetMemoryPointer
putUnsignedByte
(ISqlJetMemoryPointer byteBuffer, int index, int value) Put unsigned byte to byte bufferstatic int
putVarint
(ISqlJetMemoryPointer p, long v) Write a 64-bit variable-length integer to memory starting at p[0].static int
putVarint32
(ISqlJetMemoryPointer p, int v) This routine is a faster version of sqlite3PutVarint() that only works for 32-bit positive integers and which is optimized for the common case of small integers.static byte[]
readByteBuffer
(ISqlJetMemoryPointer buffer) static int
sqlite3VarintLen
(long v) Return the number of bytes that will be needed to store the given 64-bit integer.static ISqlJetMemoryPointer
streamToBuffer
(InputStream stream) static int
strlen
(byte[] s, int from) static int
strlen
(ISqlJetMemoryPointer s, int from) static int
Compute a string length that is limited to what can be stored in lower 30 bits of a 32-bit signed integer.static String
Convert byte buffer to string.static String
toString
(ISqlJetMemoryPointer buf, SqlJetEncoding enc) Convert byte buffer to string.static final short
toUnsigned
(byte value) static long
toUnsigned
(int value) static final int
toUnsigned
(short value) static ISqlJetMemoryPointer
translate
(ISqlJetMemoryPointer buf, SqlJetEncoding from, SqlJetEncoding to) TranslateByteBuffer
from one charset to other charset.static final String
static int
varintLen
(long v) Return the number of bytes that will be needed to store the given 64-bit integer.static final ISqlJetMemoryPointer
wrapPtr
(byte[] bs)
-
Field Details
-
SQLJET_PACKAGENAME
- See Also:
-
memoryManager
-
-
Constructor Details
-
SqlJetUtility
public SqlJetUtility()
-
-
Method Details
-
log
- Parameters:
logger
-format
-args
-
-
allocatePtr
-
allocatePtr
-
pointer
- Parameters:
buf
-- Returns:
-
pointer
Implements address arithmetic on byte buffer.- Parameters:
p
-pos
-- Returns:
-
movePtr
-
wrapPtr
- Parameters:
bs
-- Returns:
-
getSysProp
- Throws:
SqlJetError
-
getIntSysProp
- Throws:
SqlJetError
-
getBoolSysProp
- Parameters:
string
-b
-- Returns:
-
getEnumSysProp
- Type Parameters:
T
-- Parameters:
propName
-defValue
-- Returns:
-
get2byte
Read a two-byte big-endian integer values. -
get2byte
Read a two-byte big-endian integer values. -
put2byte
Write a two-byte big-endian integer values. -
put2byte
Write a two-byte big-endian integer values. -
put4byte
Write a four-byte big-endian integer value. -
get4byte
Read a four-byte big-endian integer value. -
get4byte
Read a four-byte big-endian integer value. -
put4byte
Write a four-byte big-endian integer value. -
put4byte
Write a four-byte big-endian integer value. -
memcpy
public static final void memcpy(byte[] dest, byte[] src, int length) - Parameters:
dest
-src
-length
-
-
memcpy
public static final void memcpy(byte[] dest, int dstPos, byte[] src, int srcPos, int length) -
memcpy
-
memcpy
public static final void memcpy(ISqlJetMemoryPointer dest, int dstPos, ISqlJetMemoryPointer src, int srcPos, int length) -
memcpy
public static final void memcpy(SqlJetCloneable[] dest, SqlJetCloneable[] src, int length) throws SqlJetException - Throws:
SqlJetException
-
memcpy
- Throws:
SqlJetException
-
memset
- Parameters:
data
-from
-value
-count
-
-
memset
- Parameters:
data
-value
-count
-
-
memset
- Parameters:
data
-value
-
-
strlen
public static int strlen(byte[] s, int from) - Parameters:
s
-from
-- Returns:
-
strlen
-
bitSetTest
Check to see if the i-th bit is set. Return true or false. If p is NULL (if the bitmap has not been created) or if i is out of range, then return false.- Parameters:
bitSet
-index
-- Returns:
-
memcmp
public static final int memcmp(byte[] a1, byte[] a2, int count) - Parameters:
magic
-journalMagic
-i
-- Returns:
-
memcmp
public static final int memcmp(byte[] a1, int from1, byte[] a2, int from2, int count) -
memcmp
- Parameters:
count
-z
-z2
-- Returns:
-
memcmp
public static final int memcmp(ISqlJetMemoryPointer a1, int a1offs, ISqlJetMemoryPointer a2, int a2offs, int count) - Parameters:
count
-z
-z2
-- Returns:
-
addZeroByteEnd
public static byte[] addZeroByteEnd(byte[] b) - Parameters:
b
-- Returns:
-
getBytes
- Parameters:
sqliteFileHeader
-- Returns:
-
putVarint
Write a 64-bit variable-length integer to memory starting at p[0]. The length of data write will be between 1 and 9 bytes. The number of bytes written is returned. A variable-length integer consists of the lower 7 bits of each byte for all bytes that have the 8th bit set and one byte with the 8th bit clear. Except, if we get to the 9th byte, it stores the full 8 bits and is the last byte. -
putVarint32
This routine is a faster version of sqlite3PutVarint() that only works for 32-bit positive integers and which is optimized for the common case of small integers. A MACRO version, putVarint32, is provided which inlines the single-byte case. All code should use the MACRO version as this function assumes the single-byte case has already been handled. -
getVarint
Read a 64-bit variable-length integer from memory starting at p[0]. Return the number of bytes read. The value is stored in *v. -
getVarint
-
getVarint32
Read a 32-bit variable-length integer from memory starting at p[0]. Return the number of bytes read. The value is stored in *v. A MACRO version, getVarint32, is provided which inlines the single-byte case. All code should use the MACRO version as this function assumes the single-byte case has already been handled. -
getVarint32
-
sqlite3VarintLen
public static int sqlite3VarintLen(long v) Return the number of bytes that will be needed to store the given 64-bit integer. -
mutex_held
- Parameters:
mutex
-- Returns:
-
strlen30
Compute a string length that is limited to what can be stored in lower 30 bits of a 32-bit signed integer.- Parameters:
z
-- Returns:
-
getUnsignedByte
Get unsigned byte from byte buffer- Parameters:
byteBuffer
-index
-- Returns:
-
putUnsignedByte
public static final ISqlJetMemoryPointer putUnsignedByte(ISqlJetMemoryPointer byteBuffer, int index, int value) Put unsigned byte to byte buffer- Parameters:
byteBuffer
-index
-value
-- Returns:
-
toString
Convert byte buffer to string.- Parameters:
buf
-- Returns:
-
toString
Convert byte buffer to string.- Parameters:
buf
-- Returns:
- Throws:
SqlJetException
-
fromString
GetByteBuffer
fromString
.- Parameters:
s
-enc
-- Returns:
- Throws:
SqlJetException
-
translate
public static ISqlJetMemoryPointer translate(ISqlJetMemoryPointer buf, SqlJetEncoding from, SqlJetEncoding to) throws SqlJetException TranslateByteBuffer
from one charset to other charset.- Parameters:
buf
-from
-to
-- Returns:
- Throws:
SqlJetException
-
trim
- Parameters:
s
-- Returns:
-
varintLen
public static int varintLen(long v) Return the number of bytes that will be needed to store the given 64-bit integer. -
toUnsigned
public static final short toUnsigned(byte value) -
fromUnsigned
public static final byte fromUnsigned(short value) -
toUnsigned
public static final int toUnsigned(short value) -
fromUnsigned
public static final short fromUnsigned(int value) -
toUnsigned
public static long toUnsigned(int value) -
fromUnsigned
public static final int fromUnsigned(long value) -
get4byteUnsigned
public static final long get4byteUnsigned(byte[] p) Read a four-byte big-endian integer value. -
get4byteUnsigned
public static final long get4byteUnsigned(byte[] p, int pos) Read a four-byte big-endian integer value. -
put4byteUnsigned
Write a four-byte big-endian integer value. -
put4byteUnsigned
public static final void put4byteUnsigned(byte[] p, int pos, long v) Write a four-byte big-endian integer value. -
get4byteUnsigned
Read a four-byte big-endian integer value. -
get4byteUnsigned
Read a four-byte big-endian integer value. -
put4byteUnsigned
Write a four-byte big-endian integer value. -
put4byteUnsigned
Write a four-byte big-endian integer value. -
memmove
- Parameters:
n
-z
-slice
-
-
memmove
public static final void memmove(ISqlJetMemoryPointer dst, int dstOffs, ISqlJetMemoryPointer src, int srcOffs, int n) - Parameters:
n
-z
-slice
-
-
atof
- Parameters:
z
-- Returns:
-
atoi64
- Parameters:
str
-- Returns:
-
absolute
public static final long absolute(long i) Returns absolute value of argument- Parameters:
i
-- Returns:
-
addArrays
- Parameters:
key
-dataRowId
-- Returns:
-
insertArray
-
of
-
of
-
of
-
of
-
noneOf
-
adjustNumberTypes
- Parameters:
key
-- Returns:
-
adjustScopeNumberTypes
-
adjustNumberType
-
streamToBuffer
- Parameters:
value
-- Returns:
- Throws:
SqlJetException
-
readByteBuffer
- Parameters:
buffer
-- Returns:
-
copyArray
- Parameters:
firstKey
-- Returns:
-
isNumber
Return TRUE if z is a pure numeric string. Return FALSE and leave realnum unchanged if the string contains any character which is not part of a number. If the string is pure numeric, set realnum to TRUE if the string contains the '.' character or an "E+000" style exponentiation suffix. Otherwise set realnum to FALSE. Note that just becaue realnum is false does not mean that the number can be successfully converted into an integer - it might be too big. An empty string is considered non-numeric.- Parameters:
s
-realnum
-- Returns:
-
doubleToInt64
- Parameters:
r
-- Returns:
-
fromByteBuffer
- Parameters:
value
-- Returns:
-
getMoved
public static ISqlJetMemoryPointer getMoved(ISqlJetMemoryPointer preceding, ISqlJetMemoryPointer ptr, int offset)
-