expression_characteristics.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. from enum import Enum
  10. class ExpressionCharacteristics(Enum):
  11. """Characteristics describing an `Expression`"""
  12. NULL = 0
  13. NON_EMPTY = 1
  14. """not NULL and not ZERO"""
  15. ZERO = 100
  16. ONE = 101
  17. TINY_VALUE = 102
  18. LARGE_VALUE = 103
  19. MAX_VALUE = 104
  20. NAN = 105
  21. INFINITY = 106
  22. OVERSIZE = 120
  23. NEGATIVE = 121
  24. DECIMAL = 122
  25. """value is not an integer"""
  26. INTERVAL_WITH_MONTHS = 130
  27. """time interval containing months or years"""
  28. DATE_WITH_SHORT_YEAR = 131
  29. INCOMPLETE_TIME_VALUE = 132
  30. STRING_EMPTY = 140
  31. STRING_WITH_SPECIAL_SPACE_CHARS = 141
  32. """Lines with tabulators, newlines, and further whitespace types"""
  33. STRING_WITH_BACKSLASH_CHAR = 142
  34. STRING_WITH_SPECIAL_NON_SPACE_CHARS = 143
  35. STRING_WITH_ESZETT = 144
  36. JSON_EMPTY = 150
  37. JSON_ARRAY = 151
  38. JSON_WITH_GEO_DATA = 152
  39. COLLECTION_EMPTY = 160
  40. MAP_WITH_DUP_KEYS = 161
  41. LIST_WITH_DUP_ENTRIES = 162
  42. ARRAY_WITH_DUP_ENTRIES = 163
  43. ENUM_INVALID = 170