return _pack_timetz(us, -int(off.total_seconds()))
-class _BaseDateTimeDumper(Dumper):
+class _BaseDatetimeDumper(Dumper):
def get_key(
self, obj: datetime, format: Pg3Format
) -> Union[type, Tuple[type]]:
raise NotImplementedError
-class _BaseDateTimeTextDumper(_BaseDateTimeDumper):
+class _BaseDatetimeTextDumper(_BaseDatetimeDumper):
format = Format.TEXT
return str(obj).encode("utf8")
-class DateTimeTzDumper(_BaseDateTimeTextDumper):
+class DatetimeDumper(_BaseDatetimeTextDumper):
_oid = builtins["timestamptz"].oid
if obj.tzinfo:
return self
else:
- return DateTimeDumper(self.cls)
+ return DatetimeNoTzDumper(self.cls)
-class DateTimeDumper(_BaseDateTimeTextDumper):
+class DatetimeNoTzDumper(_BaseDatetimeTextDumper):
_oid = builtins["timestamp"].oid
-class DateTimeTzBinaryDumper(_BaseDateTimeDumper):
+class DatetimeBinaryDumper(_BaseDatetimeDumper):
format = Format.BINARY
_oid = builtins["timestamptz"].oid
if obj.tzinfo:
return self
else:
- return DateTimeBinaryDumper(self.cls)
+ return DatetimeNoTzBinaryDumper(self.cls)
-class DateTimeBinaryDumper(_BaseDateTimeDumper):
+class DatetimeNoTzBinaryDumper(_BaseDatetimeDumper):
format = Format.BINARY
_oid = builtins["timestamp"].oid
return pack_int8(micros)
-class TimeDeltaDumper(Dumper):
+class TimedeltaDumper(Dumper):
format = Format.TEXT
_oid = builtins["interval"].oid
)
-class TimeDeltaBinaryDumper(Dumper):
+class TimedeltaBinaryDumper(Dumper):
format = Format.BINARY
_oid = builtins["interval"].oid
DateBinaryDumper.register("datetime.date", ctx)
TimeDumper.register("datetime.time", ctx)
TimeBinaryDumper.register("datetime.time", ctx)
- DateTimeTzDumper.register("datetime.datetime", ctx)
- DateTimeTzBinaryDumper.register("datetime.datetime", ctx)
- TimeDeltaDumper.register("datetime.timedelta", ctx)
- TimeDeltaBinaryDumper.register("datetime.timedelta", ctx)
+ DatetimeDumper.register("datetime.datetime", ctx)
+ DatetimeBinaryDumper.register("datetime.datetime", ctx)
+ TimedeltaDumper.register("datetime.timedelta", ctx)
+ TimedeltaBinaryDumper.register("datetime.timedelta", ctx)
DateLoader.register("date", ctx)
DateBinaryLoader.register("date", ctx)
TimeLoader.register("time", ctx)
return sizeof(int64_t) + sizeof(int32_t)
-cdef class _BaseDateTimeDumper(CDumper):
+cdef class _BaseDatetimeDumper(CDumper):
cpdef get_key(self, obj, format):
# Use (cls,) to report the need to upgrade (downgrade, actually) to a
raise NotImplementedError
-cdef class _BaseDateTimeTextDumper(_BaseDateTimeDumper):
+cdef class _BaseDatetimeTextDumper(_BaseDatetimeDumper):
format = PQ_TEXT
@cython.final
-cdef class DateTimeTzDumper(_BaseDateTimeTextDumper):
+cdef class DatetimeDumper(_BaseDatetimeTextDumper):
def __cinit__(self):
self.oid = oids.TIMESTAMPTZ_OID
if obj.tzinfo:
return self
else:
- return DateTimeDumper(self.cls)
+ return DatetimeNoTzDumper(self.cls)
@cython.final
-cdef class DateTimeDumper(_BaseDateTimeTextDumper):
+cdef class DatetimeNoTzDumper(_BaseDatetimeTextDumper):
def __cinit__(self):
self.oid = oids.TIMESTAMP_OID
@cython.final
-cdef class DateTimeTzBinaryDumper(_BaseDateTimeDumper):
+cdef class DatetimeBinaryDumper(_BaseDatetimeDumper):
format = PQ_BINARY
if obj.tzinfo:
return self
else:
- return DateTimeBinaryDumper(self.cls)
+ return DatetimeNoTzBinaryDumper(self.cls)
@cython.final
-cdef class DateTimeBinaryDumper(_BaseDateTimeDumper):
+cdef class DatetimeNoTzBinaryDumper(_BaseDatetimeDumper):
format = PQ_BINARY
@cython.final
-cdef class TimeDeltaDumper(CDumper):
+cdef class TimedeltaDumper(CDumper):
format = PQ_TEXT
cdef int _style
@cython.final
-cdef class TimeDeltaBinaryDumper(CDumper):
+cdef class TimedeltaBinaryDumper(CDumper):
format = PQ_BINARY