> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ajustes de sesión de analyzer_compatibility_*

> Ajustes de sesión de ClickHouse en el grupo generado analyzer_compatibility_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Esta configuración está disponible en [system.settings](/docs/es/reference/system-tables/settings) y se genera automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested">
  ## analyzer\_compatibility\_allow\_compound\_identifiers\_in\_unflatten\_nested
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Nueva configuración."}]}]} />

Permite añadir identificadores compuestos a Nested. Esta es una configuración de compatibilidad porque cambia el resultado de la consulta. Cuando está deshabilitada, `SELECT a.b.c FROM table ARRAY JOIN a` no funciona, y `SELECT a FROM table` no incluye la columna `a.b.c` en el resultado de `Nested a`.

<div id="analyzer_compatibility_allow_non_aggregate_in_having">
  ## analyzer\_compatibility\_allow\_non\_aggregate\_in\_having
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Nueva configuración de compatibilidad. Cuando está habilitada, el analizador imita la reescritura legacy de `HAVING` a `WHERE` para conjunciones no agregadas con AND, en lugar de generar `NOT_AN_AGGREGATE`."}]}]} />

Cuando está habilitada, el analizador imita el comportamiento legacy de mover de `HAVING` a `WHERE` las conjunciones no agregadas con AND, en lugar de generar `NOT_AN_AGGREGATE`. El rechazo conforme al estándar es el comportamiento predeterminado; esta opción sirve como ayuda para la migración de consultas que el analizador anterior (`enable_analyzer = 0`) aceptaba silenciosamente. Las conjunciones que contienen funciones de agregación, `grouping` o funciones no deterministas permanecen en `HAVING`. Si alguna conjunción contiene una función de ventana o una función con estado (por ejemplo, `rowNumberInBlock`), la reescritura se desactiva para todo el `HAVING`, en consonancia con el comportamiento legacy de `PredicateExpressionsOptimizer`. La configuración también se ignora cuando `GROUP BY` usa `WITH CUBE`, `WITH ROLLUP`, `WITH TOTALS` o `GROUPING SETS`.

<div id="analyzer_compatibility_join_using_top_level_identifier">
  ## analyzer\_compatibility\_join\_using\_top\_level\_identifier
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Obliga a resolver el identificador en JOIN USING a partir de la proyección"}]}]} />

Obliga a resolver el identificador en JOIN USING a partir de la proyección (por ejemplo, en `SELECT a + 1 AS b FROM t1 JOIN t2 USING (b)`, el JOIN se realizará mediante `t1.a + 1 = t2.b`, en lugar de `t1.b = t2.b`).

<div id="analyzer_compatibility_prefer_alias_over_subcolumn">
  ## analyzer\_compatibility\_prefer\_alias\_over\_subcolumn
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Nueva configuración de compatibilidad"}]}]} />

Cuando un identificador de varias partes como `b.id` podría referirse tanto a la columna `id` de una tabla con alias `b` como a una subcolumna `b.id` de tipo Tuple de alguna otra columna, se prefiere la interpretación con prefijo de alias (la columna `id` de `b`). De forma predeterminada, el analizador prefiere la subcolumna. Actívalo para que coincida con la resolución del analizador anterior.
