models.py 734 B

12345678910111213141516171819202122232425262728293031323334353637
  1. from typing import NamedTuple
  2. from clickhouse_connect.datatypes.registry import get_from_name
  3. class ColumnDef(NamedTuple):
  4. """
  5. ClickHouse column definition from DESCRIBE TABLE command
  6. """
  7. name: str
  8. type: str
  9. default_type: str
  10. default_expression: str
  11. comment: str
  12. codec_expression: str
  13. ttl_expression: str
  14. @property
  15. def ch_type(self):
  16. return get_from_name(self.type)
  17. class SettingDef(NamedTuple):
  18. """
  19. ClickHouse setting definition from system.settings table
  20. """
  21. name: str
  22. value: str
  23. readonly: int
  24. class SettingStatus(NamedTuple):
  25. """
  26. Get the setting "status" from a ClickHouse server setting
  27. """
  28. is_set: bool
  29. is_writable: bool