> ## 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.

# إعدادات الجلسة validate_*

> إعدادات جلسة ClickHouse ضمن المجموعة المُولَّدة validate_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "ملاحظة"];
  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
  }}>
        سجل الإصدارات
      </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
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

هذه الإعدادات متاحة في [system.settings](/ar/reference/system-tables/settings)، وهي مُنشأة تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="validate_enum_literals_in_operators">
  ## validate\_enum\_literals\_in\_operators
</div>

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

عند تمكين هذا الإعداد، يتم التحقق من القيم الحرفية للتعداد في عوامل التشغيل مثل `IN` و`NOT IN` و`==` و`!=` مقابل نوع التعداد، ويتم طرح استثناء إذا لم تكن القيمة الحرفية إحدى قيم التعداد الصالحة.

<div id="validate_mutation_query">
  ## validate\_mutation\_query
</div>

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

تحقّق من استعلامات التعديل قبل قبولها. تُنفَّذ عمليات التعديل في الخلفية، وقد يؤدي تشغيل استعلام غير صالح إلى تعلّق عمليات التعديل، مما يستلزم تدخّلًا يدويًا.

لا تغيّر هذا الإعداد إلا إذا واجهت خللًا يسبّب عدم توافق مع الإصدارات السابقة.

<div id="validate_polygons">
  ## validate\_polygons
</div>

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

يُفعِّل أو يعطِّل إلقاء استثناء في الدالة [pointInPolygon](/ar/reference/functions/regular-functions/geo/coordinates#pointinpolygon) إذا كان المضلع متقاطعًا مع نفسه أو مماسًا لنفسه.

Possible values:

* 0 — إلقاء استثناء معطّل. تقبل `pointInPolygon` المضلعات غير الصالحة وقد تُرجع لها نتائج غير صحيحة.
* 1 — إلقاء استثناء مفعّل.
