#NEWLINE# def _cast( t , expr ) : #NEWLINE# #INDENT# op = expr . op ( ) #NEWLINE# ( arg , target_type ) = op . args #NEWLINE# sa_arg = t . translate ( arg ) #NEWLINE# sa_type = t . get_sqla_type ( target_type ) #NEWLINE# if isinstance ( op , dt . Timestamp ) : #NEWLINE# #INDENT# if ( not isinstance ( arg , ( ir . IntegerValue , ir . StringValue ) ) ) : #NEWLINE# #INDENT# raise com . TranslationError ( type ( arg ) ) #NEWLINE# #UNINDENT# return sa_arg #NEWLINE# #UNINDENT# if ( isinstance ( arg , ir . CategoryValue ) and ( target_type == 'int32' ) ) : #NEWLINE# #INDENT# return sa_arg #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return sa . cast ( sa_arg , sa_type )