code: def getPrecision(data_type_oid, type_modifier):
      
  
      if data_type_oid == VerticaType.NUMERIC:
          if type_modifier == -1:
              return 1024
          return ((type_modifier - 4) >> 16) & 0xFFFF
      elif data_type_oid in (VerticaType.TIME, VerticaType.TIMETZ,
                             VerticaType.TIMESTAMP, VerticaType.TIMESTAMPTZ,
                             VerticaType.INTERVAL, VerticaType.INTERVALYM):
          if type_modifier == -1:
              return 6
          return type_modifier & 0xF
      else:
          return None
docs: Returns the precision for the given Vertica type with consideration of
      the type modifier.
  
      For numerics, precision is the total number of digits (in base 10) that can
      fit in the type.
  
      For intervals, time and timestamps, precision is the number of digits to the
      right of the decimal point in the seconds portion of the time.
  
      The type modifier of -1 is used when the size of a type is unknown. In those
      cases we assume the maximum possible size.