pyignite.datatypes.standard module¶
-
class
pyignite.datatypes.standard.
String
¶ Bases:
pyignite.datatypes.null_object.Nullable
Pascal-style string: c_int counter, followed by count*bytes. UTF-8-encoded, so that one character may take 1 to 4 bytes.
-
classmethod
build_c_type
(length: int)¶
-
classmethod
from_python_not_null
(stream, value, **kwargs)¶
-
classmethod
hashcode
(value: str, **kwargs) → int¶
-
classmethod
parse_not_null
(stream)¶
-
pythonic
¶ alias of
builtins.str
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'\t'¶
-
classmethod
-
class
pyignite.datatypes.standard.
DecimalObject
¶ Bases:
pyignite.datatypes.null_object.Nullable
-
classmethod
build_c_type
(length)¶
-
default
= Decimal('0.00')¶
-
classmethod
from_python_not_null
(stream, value: decimal.Decimal, **kwargs)¶
-
classmethod
hashcode
(value: decimal.Decimal, **kwargs) → int¶
-
classmethod
parse_not_null
(stream)¶
-
pythonic
¶ alias of
decimal.Decimal
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'\x1e'¶
-
classmethod
-
class
pyignite.datatypes.standard.
UUIDObject
¶ Bases:
pyignite.datatypes.standard.StandardObject
Universally unique identifier (UUID), aka Globally unique identifier (GUID). Payload takes up 16 bytes.
Byte order in
to_python()
andfrom_python()
methods is changed for compatibility with java.util.UUID.-
UUID_BYTE_ORDER
= (7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8)¶
-
classmethod
build_c_type
()¶
-
classmethod
from_python_not_null
(stream, value: uuid.UUID, **kwargs)¶
-
classmethod
hashcode
(value: UUID, **kwargs) → int¶
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'\n'¶
-
-
class
pyignite.datatypes.standard.
TimestampObject
¶ Bases:
pyignite.datatypes.standard.StandardObject
A signed integer number of milliseconds past 1 Jan 1970, aka Epoch (8 bytes long integer), plus the delta in nanoseconds (4 byte integer, only 0..999 range used).
The accuracy is ridiculous. For instance, common HPETs have less than 10ms accuracy. Therefore no ns range calculations is made; epoch and fraction stored separately and represented as tuple(datetime.datetime, integer).
-
classmethod
build_c_type
()¶
-
default
= (datetime.datetime(1970, 1, 1, 0, 0), 0)¶
-
classmethod
from_python_not_null
(stream, value: tuple, **kwargs)¶
-
classmethod
hashcode
(value: Tuple[datetime.datetime, int], **kwargs) → int¶
-
pythonic
¶ alias of
builtins.tuple
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'!'¶
-
classmethod
-
class
pyignite.datatypes.standard.
DateObject
¶ Bases:
pyignite.datatypes.standard.StandardObject
A signed integer number of milliseconds past 1 Jan 1970, aka Epoch (8 bytes long integer).
Represented as a naive datetime.datetime in Python.
-
classmethod
build_c_type
()¶
-
default
= datetime.datetime(1970, 1, 1, 0, 0)¶
-
classmethod
from_python_not_null
(stream, value: [<class 'datetime.date'>, <class 'datetime.datetime'>], **kwargs)¶
-
classmethod
hashcode
(value: datetime.datetime, **kwargs) → int¶
-
pythonic
¶ alias of
datetime.datetime
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'\x0b'¶
-
classmethod
-
class
pyignite.datatypes.standard.
TimeObject
¶ Bases:
pyignite.datatypes.standard.StandardObject
Time of the day as a number of milliseconds since midnight.
Represented as a datetime.timedelta in Python.
-
classmethod
build_c_type
()¶
-
default
= datetime.timedelta(0)¶
-
classmethod
from_python_not_null
(stream, value: datetime.timedelta, **kwargs)¶
-
classmethod
hashcode
(value: datetime.timedelta, **kwargs) → int¶
-
pythonic
¶ alias of
datetime.timedelta
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'$'¶
-
classmethod
-
class
pyignite.datatypes.standard.
StringArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
Array of Pascal-like strings. Payload-only, i.e. no type_code field in binary representation.
List(str) in Python.
-
class
pyignite.datatypes.standard.
DecimalArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
-
standard_type
¶ alias of
DecimalObject
-
-
class
pyignite.datatypes.standard.
UUIDArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
-
standard_type
¶ alias of
UUIDObject
-
-
class
pyignite.datatypes.standard.
TimestampArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
-
standard_type
¶ alias of
TimestampObject
-
-
class
pyignite.datatypes.standard.
DateArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
-
standard_type
¶ alias of
DateObject
-
-
class
pyignite.datatypes.standard.
TimeArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
-
standard_type
¶ alias of
TimeObject
-
-
class
pyignite.datatypes.standard.
StringArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
List of strings.
-
type_code
= b'\x14'¶
-
-
class
pyignite.datatypes.standard.
DecimalArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
List of decimal.Decimal objects.
-
standard_type
¶ alias of
DecimalObject
-
type_code
= b'\x1f'¶
-
-
class
pyignite.datatypes.standard.
UUIDArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
Translated into Python as a list(uuid.UUID).
-
standard_type
¶ alias of
UUIDObject
-
type_code
= b'\x15'¶
-
-
class
pyignite.datatypes.standard.
TimestampArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
Translated into Python as a list of (datetime.datetime, integer) tuples.
-
standard_type
¶ alias of
TimestampObject
-
type_code
= b'"'¶
-
-
class
pyignite.datatypes.standard.
TimeArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
List of datetime.timedelta type values.
-
standard_type
¶ alias of
TimeObject
-
type_code
= b'%'¶
-
-
class
pyignite.datatypes.standard.
DateArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
List of datetime.datetime type values.
-
standard_type
¶ alias of
DateObject
-
type_code
= b'\x16'¶
-
-
class
pyignite.datatypes.standard.
EnumObject
¶ Bases:
pyignite.datatypes.standard.StandardObject
Two integers used as the ID of the enumeration type, and its value.
This type itself is useless in Python, but can be used for interoperability (using language-specific type serialization is a good way to kill the interoperability though), so it represented by tuple(int, int) in Python.
-
classmethod
build_c_type
()¶
-
classmethod
from_python_not_null
(stream, value: tuple, **kwargs)¶
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'\x1c'¶
-
classmethod
-
class
pyignite.datatypes.standard.
EnumArray
¶ Bases:
pyignite.datatypes.standard.StandardArray
-
standard_type
¶ alias of
EnumObject
-
-
class
pyignite.datatypes.standard.
EnumArrayObject
¶ Bases:
pyignite.datatypes.standard.StandardArrayObject
Array of (int, int) tuples, plus it holds a type_id in its header. The only type_id value of -1 (user type) works from Python perspective.
-
OBJECT
= -1¶
-
classmethod
from_python_not_null
(stream, value, **kwargs)¶
-
standard_type
¶ alias of
EnumObject
-
classmethod
to_python_not_null
(ctypes_object, **kwargs)¶
-
type_code
= b'\x1d'¶
-
-
class
pyignite.datatypes.standard.
BinaryEnumObject
¶ Bases:
pyignite.datatypes.standard.EnumObject
Another way of representing the enum type. Same, but different.
-
type_code
= b'&'¶
-
-
class
pyignite.datatypes.standard.
BinaryEnumArrayObject
¶ Bases:
pyignite.datatypes.standard.EnumArrayObject
-
standard_type
¶ alias of
BinaryEnumObject
-
-
class
pyignite.datatypes.standard.
ObjectArray
¶ Bases:
pyignite.datatypes.standard.EnumArrayObject
-
standard_type
¶ alias of
BinaryEnumObject
-