@@ -653,8 +653,6 @@ def _need_python_to_sql_conversion(dataType):
653653 elif isinstance (dataType , MapType ):
654654 return _need_python_to_sql_conversion (dataType .keyType ) or \
655655 _need_python_to_sql_conversion (dataType .valueType )
656- elif isinstance (dataType , TimestampType ):
657- return True
658656 elif isinstance (dataType , UserDefinedType ):
659657 return True
660658 elif isinstance (dataType , TimestampType ):
@@ -711,25 +709,17 @@ def converter(obj):
711709 value_converter = _python_to_sql_converter (dataType .valueType )
712710 return lambda m : dict ([(key_converter (k ), value_converter (v )) for k , v in m .items ()])
713711
714- elif isinstance (dataType , TimestampType ):
715-
716- def to_posix_timstamp (dt ):
717- if dt .tzinfo is None :
718- return time .mktime (dt .timetuple ()) + dt .microsecond / 1e6
719- else :
720- return calendar .timegm (dt .utctimetuple ()) + dt .microsecond / 1e6
721- return to_posix_timstamp
722-
723712 elif isinstance (dataType , UserDefinedType ):
724713 return lambda obj : dataType .serialize (obj )
714+
725715 elif isinstance (dataType , TimestampType ):
726716
727717 def to_posix_timstamp (dt ):
728- if dt .tzinfo is None :
729- return int (time .mktime (dt .timetuple ()) * 1e7 + dt .microsecond * 10 )
730- else :
731- return int (calendar .timegm (dt .utctimetuple ()) * 1e7 + dt .microsecond * 10 )
718+ seconds = (calendar .timegm (dt .utctimetuple ()) if dt .tzinfo
719+ else time .mktime (dt .timetuple ()))
720+ return int (seconds * 1e7 + dt .microsecond * 10 )
732721 return to_posix_timstamp
722+
733723 else :
734724 raise ValueError ("Unexpected type %r" % dataType )
735725
0 commit comments