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

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

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

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="mysql_datatypes_support_level">
  ## mysql\_datatypes\_support\_level
</div>

<SettingsInfoBlock type="MySQLDataTypesSupport" default_value="decimal,datetime64,date2Date32,geometry" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "decimal,datetime64,date2Date32,geometry"},{"label": "تُعيَّن أنواع MySQL المكانية المحددة (LINESTRING, POLYGON, MULTILINESTRING, MULTIPOLYGON, MULTIPOINT) والنوع العام GEOMETRY إلى أنواع ClickHouse الهندسية المناظرة افتراضيًا. ويُعيَّن العمود العام GEOMETRY إلى النوع الشامل Geometry؛ وإذا قُرئت قيمة لا يملك نوعها الفرعي مقابلاً في ClickHouse (GEOMETRYCOLLECTION)، فسيُطرَح استثناء وقت القراءة."}]}, {"id": "row-2","items": [{"label": "26.3"},{"label": "decimal,datetime64,date2Date32"},{"label": "فعِّل تعيينات أنواع MySQL الحديثة افتراضيًا."}]}]} />

يحدّد هذا كيفية تحويل أنواع MySQL إلى أنواع ClickHouse المناظرة. وهو قائمة مفصولة بفواصل يمكن أن تتضمن أي تركيبة من `decimal` أو `datetime64` أو `date2Date32` أو `date2String` أو `geometry`. جميع التعيينات الحديثة (`decimal` و`datetime64` و`date2Date32` و`geometry`) مفعّلة افتراضيًا.

* `decimal`: حوِّل النوعين `NUMERIC` و`DECIMAL` إلى `Decimal` عندما تسمح الدقة بذلك.
* `datetime64`: حوِّل النوعين `DATETIME` و`TIMESTAMP` إلى `DateTime64` بدلًا من `DateTime` عندما لا تكون الدقة `0`.
* `date2Date32`: حوِّل `DATE` إلى `Date32` بدلًا من `Date`. وله أسبقية على `date2String`.
* `date2String`: حوِّل `DATE` إلى `String` بدلًا من `Date`. ويتجاوزه `datetime64`.
* `geometry`: حوِّل أنواع MySQL المكانية (`LINESTRING`, `POLYGON`, `MULTILINESTRING`, `MULTIPOLYGON`, `MULTIPOINT`) إلى أنواع ClickHouse الهندسية المناظرة، والنوع العام `GEOMETRY` إلى النوع الشامل `Geometry`. ويُحوَّل `POINT` دائمًا إلى `Point` بغضّ النظر عن هذا الخيار. ولأن العمود العام `GEOMETRY` قد يحتوي على أي نوع فرعي، فإن قراءة قيمة لا يملك نوعها الفرعي مقابلاً في ClickHouse (`GEOMETRYCOLLECTION`) تؤدي إلى طرح استثناء وقت القراءة؛ أما الأعمدة المعرَّفة على أنها `GEOMETRYCOLLECTION` فتُعيَّن إلى `String`. ويُعيَّن أيضًا العمود المكاني القابل للقيم الخالية، بخلاف `POINT`، إلى `Nullable(String)`، لأن `Point` هو النوع الهندسي الوحيد الذي يمكن تضمينه داخل `Nullable`. وكل سلسلة من هذا النوع تتكون من بادئة SRID بطول 4 بايتات تتبعها حمولة WKB، كما تُرجعها MySQL. وينطبق كل ما سبق عندما يُستنتج المخطط من أنواع أعمدة جدول MySQL؛ أما عندما يكون المصدر استعلامًا (الوسيط `query(...)` لدالة الجدول `mysql` أو محرك الجدول `MySQL`)، فإن MySQL تُبلغ عن كل عمود نتائج مكاني على أنه النوع العام `GEOMETRY` من دون النوع الفرعي المحدد، ولذلك تُعيَّن هذه الأعمدة — بما فيها `POINT` — إلى `String` (أو `Nullable(String)` إذا كانت قابلة للقيم الخالية).

<div id="mysql_max_rows_to_insert">
  ## mysql\_max\_rows\_to\_insert
</div>

<SettingsInfoBlock type="UInt64" default_value="65536" />

الحد الأقصى لعدد الصفوف في عملية الإدراج الدفعي إلى MySQL في محرك تخزين MySQL
