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

# إعدادات format_* للتنسيق

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

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

يتم توليد هذه الإعدادات تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h).

<div id="format_display_secrets_in_show_and_select">
  ## format\_display\_secrets\_in\_show\_and\_select
</div>

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

يُفعِّل أو يعطِّل عرض الأسرار في استعلامات `SHOW` و`SELECT` الخاصة بالجداول وقواعد البيانات
ودوال الجداول والقواميس.

يجب أيضًا أن يكون لدى المستخدم الذي يريد رؤية الأسرار
إعداد الخادم [`display_secrets_in_show_and_select` server setting](/docs/ar/reference/settings/server-settings/settings#display_secrets_in_show_and_select)
مفعّلًا، وأن يمتلك
امتياز [`displaySecretsInShowAndSelect`](/docs/ar/reference/statements/grant#displaysecretsinshowandselect).

القيم الممكنة:

* 0 — معطّل.
* 1 — مفعّل.

<div id="format_geojson_validate_geometry">
  ## format\_geojson\_validate\_geometry
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "إعداد جديد يتحكم في ما إذا كانت صيغة GeoJSON تتحقق من صحة الأشكال الهندسية وفق RFC 7946 (الحد الأدنى لعدد النقاط لكل line وring، وإغلاق الـ ring، وألا تكون الـ multi-geometries فارغة) عند القراءة والكتابة"}]}]} />

يتحكم هذا الإعداد في ما إذا كانت صيغة `GeoJSON` تفرض التحقق من صحة الأشكال الهندسية وفق RFC 7946، في الاتجاهين معًا.

عند التمكين (وهو الوضع الافتراضي)، يُرفض أي شكل هندسي يخالف قواعد بنية GeoJSON: `LineString` (أو أي line داخل `MultiLineString`) يحتوي على أقل من نقطتين؛ أو أي ring في `Polygon` أو `MultiPolygon` يحتوي على أقل من أربع نقاط أو تكون نقطته الأولى مختلفة عن الأخيرة (أي ring غير مغلق)؛ أو `MultiLineString` أو `Polygon` أو `MultiPolygon` فارغ. وينطبق ذلك عند القراءة (إذ يُرفض مثل هذا المستند) وعند الكتابة أيضًا (إذ تُرفض قيمة ClickHouse هذه بدلًا من إنتاج مستند كان input format سيرفضه عند الإدخال).

عند التعطيل، لا تُفرض قواعد البنية هذه: فتُقرأ هذه الأشكال الهندسية كما هي وتُكتب كما هي، وبذلك تنجح الأشكال الهندسية المنحلة في round-trip، لكن قد لا يكون المستند الناتج GeoJSON صالحًا.

التحقق هنا بنيوي فقط: فهو يفحص عدد points وإغلاق الـ ring. ولا يفحص السلامة الهندسية للشكل نفسه — فلا يُفرض اتجاه الـ ring (قاعدة اليد اليمنى / winding order)، كما تُقبل الأشكال الهندسية الصحيحة بنيويًا لكنها منحلة هندسيًا، مثل مضلع مساحته صفر، أو ring ذاتي التقاطع، أو مضلع تقع hole الخاصة به خارج الـ ring الخارجي. وتُرفض دائمًا الإحداثيات غير finite (`NaN`, `Inf`) بغض النظر عن هذا الإعداد، لأنه لا يمكن تمثيلها كأرقام JSON.

<div id="format_json_object_each_row_column_for_object_name">
  ## format\_json\_object\_each\_row\_column\_for\_object\_name
</div>

اسم العمود الذي سيُستخدم لتخزين/كتابة أسماء الكائنات في تنسيق [JSONObjectEachRow](/docs/ar/reference/formats/JSON/JSONObjectEachRow).
يجب أن يكون نوع العمود String. وإذا كانت القيمة فارغة، فستُستخدم الأسماء الافتراضية `row_{i}` لأسماء الكائنات.

<div id="format_protobuf_use_autogenerated_schema">
  ## format\_protobuf\_use\_autogenerated\_schema
</div>

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

استخدم Protobuf المُنشأ تلقائيًا عندما لا يكون format\_schema مُعيَّنًا

<div id="format_tsv_null_representation">
  ## format\_tsv\_null\_representation
</div>

<SettingsInfoBlock type="String" default_value="\N" />

تمثيل مخصص لـ NULL في تنسيق TSV
