> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ajustes de sesión apply_*

> Ajustes de sesión de ClickHouse del grupo generado apply_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Versión", "Valor predeterminado", "Comentario"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Historial de versiones
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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>;
};

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

<div id="apply_deleted_mask">
  ## apply\_deleted\_mask
</div>

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

Permite filtrar las filas eliminadas con DELETE de eliminación ligera. Si se deshabilita, una consulta podrá leer esas filas. Esto resulta útil para tareas de depuración y para escenarios de "deshacer la eliminación".

<div id="apply_mutations_on_fly">
  ## apply\_mutations\_on\_fly
</div>

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

Si se establece en true, las mutaciones (UPDATE y DELETE) que no estén materializadas en la parte de datos se aplicarán en las consultas SELECT.

<div id="apply_prewhere_after_final">
  ## apply\_prewhere\_after\_final
</div>

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

Cuando se habilita, las condiciones PREWHERE se aplican después del procesamiento FINAL en ReplacingMergeTree y motores similares.
Esto puede ser útil cuando PREWHERE hace referencia a columnas que pueden tener valores distintos entre filas duplicadas
y quiere que FINAL seleccione la fila que prevalece antes de filtrar. Cuando está deshabilitada, PREWHERE se aplica durante la lectura.
Nota: Si apply\_row\_level\_security\_after\_final está habilitada y la política de filas usa columnas que no forman parte de la clave de ordenación, PREWHERE también
se aplazará para mantener el orden de ejecución correcto (la política de filas debe aplicarse antes de PREWHERE).

<div id="apply_row_policy_after_final">
  ## apply\_row\_policy\_after\_final
</div>

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

Cuando está habilitado, las políticas de fila y PREWHERE se aplican después del procesamiento de FINAL en las tablas \*MergeTree. (Especialmente en ReplacingMergeTree)
Cuando está deshabilitado, las políticas de fila se aplican antes de FINAL, lo que puede dar resultados diferentes cuando la política
filtra filas que deberían usarse para la deduplicación en ReplacingMergeTree o motores similares.

Si la expresión de la política de fila depende solo de columnas de ORDER BY, se seguirá aplicando antes de FINAL como optimización,
ya que ese filtrado no puede afectar al resultado de la deduplicación.

Valores posibles:

* 0 — La política de fila y PREWHERE se aplican antes de FINAL (predeterminado).
* 1 — La política de fila y PREWHERE se aplican después de FINAL.

<div id="apply_settings_from_server">
  ## apply\_settings\_from\_server
</div>

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

Si el client debe aceptar la configuración del servidor.

Esto solo afecta a las operaciones realizadas del lado del client, en particular el análisis de los datos de entrada de INSERT y el formato del resultado de la consulta. La mayor parte de la ejecución de consultas ocurre en el servidor y no se ve afectada por esta configuración.

Normalmente, esta configuración debe establecerse en el perfil de usuario (`users.xml` o consultas como `ALTER USER`), no a través del client (argumentos de línea de comandos del client, consulta `SET` o sección `SETTINGS` de la consulta `SELECT`). A través del client puede cambiarse a false, pero no puede cambiarse a true (porque el servidor no enviará la configuración si el perfil de usuario tiene `apply_settings_from_server = false`).

Tenga en cuenta que, inicialmente (24.12), existía una configuración del servidor (`send_settings_to_client`), pero posteriormente fue sustituida por esta configuración de cliente para mejorar la usabilidad.
