---
name: ColumnType
lang: cpp
domain: core
version: "1.0.0"
algebraic: sum
definition: |
  enum class ColumnType {
      Auto, String, Int, Float, Bool, Date, Json
  };
description: "Tipo de columna del modelo TQL. `Auto` dispara auto-detect; el resto fuerza el tipo declarado. Base de toda la pipeline data_table."
tags: [tql, data-table, types, sum-type]
uses_types: []
file_path: "cpp/functions/core/data_table_types.h"
---

## Notas

Sum type / enum-class. Convivimos con `effective_type()` que resuelve `Auto` → auto-detect via sample. El resto fuerza el tipo declarado por el caller.

Tabla de iconos UTF-8 Tabler para cada variante en `column_type_icon(t)`. Mapeo SQL ↔ ColumnType en `tql_to_sql` (issue 0080).

## Usado por

- `compute_stage_cpp_core` — input/output types per stage
- `tql_emit_cpp_core` / `tql_apply_cpp_core` — emit/parse TQL columns block
- `tql_to_sql_cpp_core` — mapping a SQL DuckDB types
- `data_table_cpp_viz` — UI render por columna
