from .._struct import pack_int8, unpack_int8
from .._struct import pack_float8, unpack_float4, unpack_float8
+
# Wrappers to force numbers to be cast as specific PostgreSQL types
return super().__new__(cls, arg)
-class NumberDumper(Dumper):
+class _NumberDumper(Dumper):
format = Format.TEXT
return value if obj >= 0 else b" " + value
-class SpecialValuesDumper(NumberDumper):
+class _SpecialValuesDumper(_NumberDumper):
_special: Dict[bytes, bytes] = {}
return value if obj >= 0 else b" " + value
-class FloatDumper(SpecialValuesDumper):
+class FloatDumper(_SpecialValuesDumper):
format = Format.TEXT
_oid = builtins["float8"].oid
return pack_float8(obj)
-class DecimalDumper(SpecialValuesDumper):
+class DecimalDumper(_SpecialValuesDumper):
_oid = builtins["numeric"].oid
}
-class Int2Dumper(NumberDumper):
+class Int2Dumper(_NumberDumper):
_oid = builtins["int2"].oid
-class Int4Dumper(NumberDumper):
+class Int4Dumper(_NumberDumper):
_oid = builtins["int4"].oid
-class Int8Dumper(NumberDumper):
+class Int8Dumper(_NumberDumper):
_oid = builtins["int8"].oid
-class IntNumericDumper(NumberDumper):
+class IntNumericDumper(_NumberDumper):
_oid = builtins["numeric"].oid
-class OidDumper(NumberDumper):
+class OidDumper(_NumberDumper):
_oid = builtins["oid"].oid