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

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

> إعدادات التنسيق في ClickHouse ضمن المجموعة المُولَّدة input_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="input_format_allow_errors_num">
  ## input\_format\_allow\_errors\_num
</div>

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

يحدّد الحد الأقصى لعدد الأخطاء المقبولة عند القراءة من التنسيقات النصية (CSV وTSV وما إلى ذلك).

القيمة الافتراضية هي 0.

استخدمه دائمًا مع `input_format_allow_errors_ratio`.

إذا حدث خطأ أثناء قراءة الصفوف، لكن عدّاد الأخطاء لا يزال أقل من `input_format_allow_errors_num`، فإن ClickHouse يتجاهل الصف وينتقل إلى الصف التالي.

إذا تم تجاوز كلٍّ من `input_format_allow_errors_num` و`input_format_allow_errors_ratio`، يطرح ClickHouse استثناء.

<div id="input_format_allow_errors_ratio">
  ## input\_format\_allow\_errors\_ratio
</div>

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

يحدّد الحد الأقصى للنسبة المئوية المسموح بها من الأخطاء عند القراءة من التنسيقات النصية (CSV وTSV وما إلى ذلك).
تُحدَّد نسبة الأخطاء كعدد ذي فاصلة عائمة بين 0 و1.

القيمة الافتراضية هي 0.

استخدمه دائمًا مع `input_format_allow_errors_num`.

إذا وقع خطأ أثناء قراءة الصفوف، ولكن ظلّ عدّاد الأخطاء أقل من `input_format_allow_errors_ratio`، فإن ClickHouse يتجاهل الصف وينتقل إلى الصف التالي.

إذا تم تجاوز كلٍّ من `input_format_allow_errors_num` و`input_format_allow_errors_ratio`، يطرح ClickHouse استثناء.

<div id="input_format_allow_seeks">
  ## input\_format\_allow\_seeks
</div>

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

السماح بعمليات `seek` (أو قراءات النطاق) أثناء قراءة تنسيقات الإدخال ORC وParquet وArrow.
عند التمكين، وإذا كان المصدر يدعم ذلك (مثل ملف محلي، أو S3، أو HTTP مع دعم النطاق وحجم معروف)،
يمكن لـ ClickHouse قراءة نطاقات البايت المطلوبة فقط واستخدام ذاكرة أقل.
عند التعطيل، أو إذا كان المصدر لا يدعم عمليات `seek` (مثل عدم معرفة حجم الملف، أو إذا كان الدفق غير قابل لإجراء `seek`)،
قد تلجأ بعض أدوات القراءة إلى تحميل الملف بالكامل في الذاكرة.
مُمكَّن افتراضيًا.

<div id="input_format_arrow_allow_missing_columns">
  ## input\_format\_arrow\_allow\_missing\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "السماح افتراضيًا بالأعمدة المفقودة في ملفات Arrow"}]}]} />

السماح بالأعمدة المفقودة عند قراءة تنسيقات إدخال Arrow

<div id="input_format_arrow_case_insensitive_column_matching">
  ## input\_format\_arrow\_case\_insensitive\_column\_matching
</div>

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

تجاهل حالة الأحرف عند مطابقة أعمدة Arrow مع أعمدة CH.

<div id="input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_arrow\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

تجاوز الأعمدة ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق Arrow

<div id="input_format_arrow_use_native_reader">
  ## input\_format\_arrow\_use\_native\_reader
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "إعداد جديد لاستخدام قارئ ClickHouse الأصلي لتنسيقي Arrow وArrowStream بدلًا من القارئ المعتمد على مكتبة Apache Arrow."}]}]} />

استخدم قارئ ClickHouse الأصلي لتنسيقي Arrow وArrowStream بدلًا من القارئ المعتمد على مكتبة Apache Arrow.

<div id="input_format_avro_allow_missing_fields">
  ## input\_format\_avro\_allow\_missing\_fields
</div>

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

لتنسيق Avro/AvroConfluent: عند عدم العثور على الحقل في المخطط، استَخدم القيمة الافتراضية بدلًا من إرجاع خطأ

<div id="input_format_avro_null_as_default">
  ## input\_format\_avro\_null\_as\_default
</div>

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

لتنسيق Avro/AvroConfluent: أدرِج القيمة الافتراضية عند وجود NULL في عمود غير Nullable

<div id="input_format_binary_decode_types_in_binary_format">
  ## input\_format\_binary\_decode\_types\_in\_binary\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "أُضيف إعداد جديد للسماح بقراءة أسماء الأنواع بالتنسيق الثنائي في تنسيق الإدخال RowBinaryWithNamesAndTypes"}]}]} />

قراءة أنواع البيانات بالتنسيق الثنائي بدلًا من أسماء الأنواع في تنسيق الإدخال RowBinaryWithNamesAndTypes

<div id="input_format_binary_max_type_complexity">
  ## input\_format\_binary\_max\_type\_complexity
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1000"},{"label": "إضافة إعداد جديد للتحكم في الحد الأقصى لعدد عُقد الأنواع عند فك ترميز الأنواع الثنائية. يحمي من المُدخلات الضارة."}]}]} />

الحد الأقصى لعدد عُقد الأنواع عند فك ترميز الأنواع الثنائية (ليس العمق، بل العدد الإجمالي). `Map(String, UInt32)` = 3 عُقد. يحمي من المُدخلات الضارة. 0 = غير محدود.

<div id="input_format_binary_read_json_as_string">
  ## input\_format\_binary\_read\_json\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "إضافة إعداد جديد لقراءة قيم نوع JSON كسلسلة JSON في تنسيق الإدخال RowBinary"}]}]} />

قراءة قيم نوع البيانات [JSON](/docs/ar/reference/data-types/newjson) باعتبارها قيم [String](/docs/ar/reference/data-types/string) بتنسيق JSON في تنسيق الإدخال RowBinary.

<div id="input_format_bson_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_bson\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

يتخطّى الحقول ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق BSON.

<div id="input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_capn\_proto\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

تخطَّ الأعمدة ذات الأنواع غير المدعومة أثناء استنتاج المخطط في تنسيق CapnProto

<div id="input_format_column_name_matching_mode">
  ## input\_format\_column\_name\_matching\_mode
</div>

<SettingsInfoBlock type="InputFormatColumnMatchingCaseSensitivity" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "auto"},{"label": "طابِق أسماء أعمدة الإدخال مع مراعاة حالة الأحرف أولاً، ثم انتقل إلى المطابقة غير الحساسة لحالة الأحرف، بدلاً من اشتراط تطابق حالة الأحرف تمامًا."}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "إعداد جديد."}]}]} />

يحدّد وضع مطابقة أسماء الأعمدة عند إدخال البيانات عبر تنسيقات مختلفة (بما في ذلك، على سبيل المثال لا الحصر، JSONEachRow و CSVWithNames و JSONColumns و BSONEachRow و RowBinaryWithNames).
الأوضاع المدعومة:

* match\_case: طابِق مع مراعاة حالة الأحرف
  * ignore\_case: طابِق دون مراعاة حالة الأحرف
  * auto: يحاول أولاً المطابقة مع مراعاة حالة الأحرف، وإذا فشل، يحاول المطابقة دون مراعاة حالة الأحرف.

<div id="input_format_connection_handling">
  ## input\_format\_connection\_handling
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "إعداد جديد يتيح تحليل البيانات المتبقية في المخزن المؤقت ومعالجتها إذا أُغلِق الاتصال بشكل غير متوقع"}]}]} />

عند تمكين هذا الخيار، إذا أُغلِق الاتصال بشكل غير متوقع، فسيتم تحليل أي بيانات متبقية في المخزن المؤقت ومعالجتها بدلًا من التعامل معها على أنها خطأ

<Note>
  يؤدي تمكين هذا الخيار إلى تعطيل التحليل المتوازي ويجعل إلغاء التكرار غير ممكن
</Note>

<div id="input_format_csv_allow_cr_end_of_line">
  ## input\_format\_csv\_allow\_cr\_end\_of\_line
</div>

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

إذا ضُبط هذا الإعداد على true، فسيُسمح بـ \r في نهاية السطر إذا لم يتبعه

<div id="input_format_csv_allow_variable_number_of_columns">
  ## input\_format\_csv\_allow\_variable\_number\_of\_columns
</div>

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

تجاهل الأعمدة الإضافية في إدخال CSV (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبر الحقول المفقودة في إدخال CSV قيماً افتراضية

<div id="input_format_csv_allow_whitespace_or_tab_as_delimiter">
  ## input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter
</div>

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

يسمح باستخدام المسافات وعلامات الجدولة (\t) كمحدِّد للحقول في سلاسل CSV

<div id="input_format_csv_arrays_as_nested_csv">
  ## input\_format\_csv\_arrays\_as\_nested\_csv
</div>

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

عند قراءة Array من CSV، يُتوقع أن تكون عناصرها قد جرى تسلسلها بتنسيق CSV متداخل ثم وُضعت داخل سلسلة نصية. مثال: "\[""Hello"", ""world"", ""42"""" TV""]". يمكن حذف الأقواس المحيطة بالمصفوفة.

<div id="input_format_csv_deserialize_separate_columns_into_tuple">
  ## input\_format\_csv\_deserialize\_separate\_columns\_into\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "أُضيفت طريقة جديدة لتفسير قيم Tuple في تنسيق CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "أُضيفت طريقة جديدة لتفسير قيم Tuple في تنسيق CSV."}]}]} />

إذا ضُبطت هذه القيمة على true، أمكن إلغاء تسلسل الأعمدة المنفصلة المكتوبة بتنسيق CSV إلى عمود Tuple.

<div id="input_format_csv_detect_header">
  ## input\_format\_csv\_detect\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "اكتشاف صف الرأس في تنسيق CSV افتراضيًا"}]}]} />

اكتشاف صف الرأس الذي يحتوي على الأسماء والأنواع تلقائيًا في تنسيق CSV

<div id="input_format_csv_empty_as_default">
  ## input\_format\_csv\_empty\_as\_default
</div>

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

اعتبر الحقول الفارغة في إدخال CSV قيماً افتراضية.

<div id="input_format_csv_enum_as_number">
  ## input\_format\_csv\_enum\_as\_number
</div>

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

اعتبر قيم `enum` المُدرجة في تنسيقات CSV فهارسَ `enum`

<div id="input_format_csv_missing_nullable_as_empty_string">
  ## input\_format\_csv\_missing\_nullable\_as\_empty\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "إعداد جديد لقراءة القيمة المفقودة من `Nullable(String)` في CSV كسلسلة فارغة بدلًا من NULL."}]}]} />

يتحكم هذا الإعداد في كيفية قراءة `Nullable(String)` عند وجود قيمة مفقودة في CSV. وتكون القيمة المفقودة عبارة عن فراغ بين الفواصل أو قبلها أو بعدها، من دون أن تكون محاطة بعلامات اقتباس. إذا كان هذا الإعداد مفعّلًا، فبصرف النظر عن قيمة `input_format_csv_empty_as_default`، ستُفسَّر القيمة المفقودة لـ `Nullable(String)` على أنها `String` فارغة، وليس NULL.

<div id="input_format_csv_skip_first_lines">
  ## input\_format\_csv\_skip\_first\_lines
</div>

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

يتخطّى عددًا محددًا من الأسطر في بداية البيانات بتنسيق CSV

<div id="input_format_csv_skip_trailing_empty_lines">
  ## input\_format\_csv\_skip\_trailing\_empty\_lines
</div>

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

تخطّي الأسطر الفارغة الأخيرة في تنسيق CSV

<div id="input_format_csv_trim_whitespaces">
  ## input\_format\_csv\_trim\_whitespaces
</div>

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

يُزيل محارف المسافات وعلامات الجدولة (\t) من بداية سلاسل CSV ونهايتها

<div id="input_format_csv_try_infer_numbers_from_strings">
  ## input\_format\_csv\_try\_infer\_numbers\_from\_strings
</div>

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

إذا كان هذا الإعداد مفعّلًا، فسيحاول ClickHouse أثناء استنتاج المخطط استنتاج القيم العددية من الحقول النصية.
وقد يكون ذلك مفيدًا إذا كانت بيانات CSV تحتوي على أرقام UInt64 بين علامتَي اقتباس.

يكون هذا الإعداد معطّلًا افتراضيًا.

<div id="input_format_csv_try_infer_strings_from_quoted_tuples">
  ## input\_format\_csv\_try\_infer\_strings\_from\_quoted\_tuples
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "أُضيفت طريقة جديدة لتفسير Tuples في تنسيق CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "أُضيفت طريقة جديدة لتفسير Tuples في تنسيق CSV."}]}]} />

اعتبر Tuples المحاطة بعلامتَي اقتباس في بيانات الإدخال قيماً من النوع String.

<div id="input_format_csv_use_best_effort_in_schema_inference">
  ## input\_format\_csv\_use\_best\_effort\_in\_schema\_inference
</div>

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

استخدم بعض التحسينات والآليات الاستدلالية لاستنتاج المخطط في تنسيق CSV

<div id="input_format_csv_use_default_on_bad_values">
  ## input\_format\_csv\_use\_default\_on\_bad\_values
</div>

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

السماح بتعيين قيمة افتراضية للعمود عند تعذّر فك تسلسل حقل CSV بسبب قيمة غير صالحة

<div id="input_format_custom_allow_variable_number_of_columns">
  ## input\_format\_custom\_allow\_variable\_number\_of\_columns
</div>

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

تجاهل الأعمدة الزائدة في إدخال CustomSeparated (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبر الحقول المفقودة في إدخال CustomSeparated قيماً افتراضية

<div id="input_format_custom_detect_header">
  ## input\_format\_custom\_detect\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "اكتشاف سطر صف الرأس في تنسيق CustomSeparated افتراضيًا"}]}]} />

اكتشاف سطر صف الرأس الذي يحتوي على الأسماء والأنواع تلقائيًا في تنسيق CustomSeparated

<div id="input_format_custom_skip_trailing_empty_lines">
  ## input\_format\_custom\_skip\_trailing\_empty\_lines
</div>

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

تجاهل الأسطر الفارغة في نهاية تنسيق CustomSeparated

<div id="input_format_defaults_for_omitted_fields">
  ## input\_format\_defaults\_for\_omitted\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "19.12"},{"label": "1"},{"label": "تمكين احتساب تعبيرات القيم الافتراضية المعقدة للحقول المُغفلة لبعض تنسيقات الإدخال، لأن هذا هو السلوك المتوقع"}]}]} />

عند تنفيذ استعلامات `INSERT`، تُستبدل قيم أعمدة الإدخال المُغفلة بالقيم الافتراضية للأعمدة المقابلة. ينطبق هذا الخيار على تنسيق [JSONEachRow](/docs/ar/reference/formats/JSON/JSONEachRow) (وتنسيقات JSON الأخرى)، و[CSV](/docs/ar/reference/formats/CSV/CSV)، و[TabSeparated](/docs/ar/reference/formats/TabSeparated/TabSeparated)، و[TSKV](/docs/ar/reference/formats/TabSeparated/TSKV)، و[Parquet](/docs/ar/reference/formats/Parquet/Parquet)، و[Arrow](/docs/ar/reference/formats/Arrow/Arrow)، و[Avro](/docs/ar/reference/formats/Avro/Avro)، و[ORC](/docs/ar/reference/formats/ORC)، و[Native](/docs/ar/reference/formats/Native)، وكذلك التنسيقات ذات اللواحق `WithNames`/`WithNamesAndTypes`.

<Note>
  عند تمكين هذا الخيار، تُرسَل بيانات التعريف الموسعة للجدول من الخادم إلى العميل. ويستهلك ذلك موارد حوسبة إضافية على الخادم وقد يؤدي إلى انخفاض الأداء.
</Note>

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

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

<div id="input_format_force_null_for_omitted_fields">
  ## input\_format\_force\_null\_for\_omitted\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "تعطيل القيم الافتراضية للنوع للحقول المُغفلة عند الحاجة"}]}]} />

فرض تهيئة الحقول المُغفلة بقيم NULL

<div id="input_format_geojson_unsupported_geometry_handling">
  ## input\_format\_geojson\_unsupported\_geometry\_handling
</div>

<SettingsInfoBlock type="GeoJSONUnsupportedGeometryHandling" default_value="throw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "throw"},{"label": "إعداد جديد يتحكم في كيفية التعامل مع أنواع الأشكال الهندسية في GeoJSON التي لا يمكن تمثيلها بالنوع `Geometry` ‏(`GeometryCollection`، `MultiPoint`)"}]}]} />

يتحكم هذا الإعداد في ما يحدث عندما يلزم تخزين نوع شكل هندسي صالح من `GeoJSON` لا يمكن تمثيله بالنوع `Geometry` في ClickHouse (مثل `GeometryCollection` أو `MultiPoint`) في العمود `geometry` أثناء قراءة إدخال `GeoJSON`.

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

* `'throw'` (الافتراضي) — إطلاق استثناء.
* `'null'` — إدراج قيمة `NULL` في العمود `geometry` ومتابعة التحليل.

ينطبق هذا فقط عندما يكون العمود `geometry` مُجسَّدًا فعليًا. وإذا لم يكن عمود إخراج مطلوبًا، فيُتحقق من أن هذا الشكل الهندسي صحيح البنية، لكنه لا يفعّل هذا السلوك.

<div id="input_format_hive_text_allow_variable_number_of_columns">
  ## input\_format\_hive\_text\_allow\_variable\_number\_of\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "تجاهل الأعمدة الإضافية في إدخال Hive Text (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، وتعامل مع الحقول المفقودة في إدخال Hive Text على أنها قيم افتراضية."}]}]} />

تجاهل الأعمدة الإضافية في إدخال Hive Text (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، وتعامل مع الحقول المفقودة في إدخال Hive Text على أنها قيم افتراضية.

<div id="input_format_hive_text_collection_items_delimiter">
  ## input\_format\_hive\_text\_collection\_items\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

الفاصل بين عناصر المجموعات (Array أو Map) في Hive Text File

<div id="input_format_hive_text_fields_delimiter">
  ## input\_format\_hive\_text\_fields\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

الفاصل المستخدم بين الحقول في Hive Text File

<div id="input_format_hive_text_map_keys_delimiter">
  ## input\_format\_hive\_text\_map\_keys\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

الفاصل بين المفتاح والقيمة في كل زوج ضمن Hive Text File

<div id="input_format_import_nested_json">
  ## input\_format\_import\_nested\_json
</div>

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

يُمكّن أو يعطّل إدراج بيانات JSON التي تحتوي على كائنات متداخلة.

التنسيقات المدعومة:

* [JSONEachRow](/docs/ar/reference/formats/JSON/JSONEachRow)

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

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

انظر أيضًا:

* [استخدام البُنى Nested](/docs/ar/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects) مع التنسيق `JSONEachRow`.

<div id="input_format_ipv4_default_on_conversion_error">
  ## input\_format\_ipv4\_default\_on\_conversion\_error
</div>

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

ستستخدم عملية إلغاء تسلسل IPv4 القيم الافتراضية بدلًا من طرح استثناء عند حدوث خطأ في التحويل.

مُعطَّل افتراضيًا.

<div id="input_format_ipv6_default_on_conversion_error">
  ## input\_format\_ipv6\_default\_on\_conversion\_error
</div>

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

ستُستخدم القيم الافتراضية عند إلغاء تسلسل IPV6 بدلًا من رفع استثناء عند حدوث خطأ في التحويل.

معطّل افتراضيًا.

<div id="input_format_json_compact_allow_variable_number_of_columns">
  ## input\_format\_json\_compact\_allow\_variable\_number\_of\_columns
</div>

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

اسمح بعدد متغيّر من الأعمدة في الصفوف ضمن تنسيقات الإدخال JSONCompact/JSONCompactEachRow.
تجاهل الأعمدة الإضافية في الصفوف التي تحتوي على أعمدة أكثر من المتوقع، واعتبر الأعمدة المفقودة قيماً افتراضية.

معطّل افتراضياً.

<div id="input_format_json_defaults_for_missing_elements_in_named_tuple">
  ## input\_format\_json\_defaults\_for\_missing\_elements\_in\_named\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "السماح افتراضيًا بالعناصر المفقودة في كائنات JSON عند قراءة الـ named tuple"}]}]} />

يُدرِج القيم الافتراضية للعناصر المفقودة في كائن JSON أثناء تحليل الـ named tuple.
لا يعمل هذا الإعداد إلا عند تمكين الإعداد `input_format_json_named_tuples_as_objects`.

مُمكَّن افتراضيًا.

<div id="input_format_json_empty_as_default">
  ## input\_format\_json\_empty\_as\_default
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "أُضيف إعداد جديد يتيح التعامل مع الحقول الفارغة في إدخال JSON باعتبارها قيمًا افتراضية."}]}]} />

عند التمكين، تُستبدل حقول الإدخال الفارغة في JSON بالقيم الافتراضية. أمّا إذا كانت تعبيرات القيم الافتراضية معقدة، فيجب أيضًا تمكين `input_format_defaults_for_omitted_fields`.

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

* 0 — تعطيل.
* 1 — تمكين.

<div id="input_format_json_ignore_unknown_keys_in_named_tuple">
  ## input\_format\_json\_ignore\_unknown\_keys\_in\_named\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "تحسين تحليل كائنات JSON على أنها named tuples"}]}]} />

تجاهل المفاتيح غير المعروفة في كائن JSON الخاص بـ named tuples.

مفعَّل افتراضيًا.

<div id="input_format_json_ignore_unnecessary_fields">
  ## input\_format\_json\_ignore\_unnecessary\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "تجاهل الحقول غير الضرورية وعدم تحليلها. قد لا يؤدي تفعيل هذا الخيار إلى إطلاق استثناءات عند وجود سلاسل JSON بتنسيق غير صالح أو تحتوي على حقول مكررة"}]}]} />

تجاهل الحقول غير الضرورية وعدم تحليلها. قد لا يؤدي تفعيل هذا الخيار إلى إطلاق استثناءات عند وجود سلاسل JSON بتنسيق غير صالح أو تحتوي على حقول مكررة

<div id="input_format_json_infer_array_of_dynamic_from_array_of_different_types">
  ## input\_format\_json\_infer\_array\_of\_dynamic\_from\_array\_of\_different\_types
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "استنتاج Array(Dynamic) افتراضيًا لمصفوفات JSON ذات القيم من أنواع مختلفة"}]}]} />

إذا كان هذا الإعداد مُمكّنًا، فسيستخدم ClickHouse أثناء استنتاج المخطط النوع Array(Dynamic) لمصفوفات JSON التي تتضمن قيمًا من أنواع بيانات مختلفة.

مثال:

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=1;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type───────────┐
│ a    │ Array(Dynamic) │
└──────┴────────────────┘
```

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=0;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type─────────────────────────────────────────────────────────────┐
│ a    │ Tuple(Nullable(Int64), Nullable(String), Array(Nullable(Int64))) │
└──────┴──────────────────────────────────────────────────────────────────┘
```

مُفعَّل افتراضيًا.

<div id="input_format_json_infer_incomplete_types_as_strings">
  ## input\_format\_json\_infer\_incomplete\_types\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "السماح، افتراضيًا، باستنتاج الأنواع غير المكتملة كـ Strings في تنسيقات JSON"}]}]} />

يسمح باستخدام نوع String لمفاتيح JSON التي لا تحتوي في عينة البيانات أثناء استنتاج المخطط إلا على `Null`/`{}`/`[]`.
في تنسيقات JSON، يمكن قراءة أي قيمة على أنها String، وبذلك يمكن تجنب أخطاء مثل `Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps` أثناء استنتاج المخطط،
وذلك باستخدام نوع String للمفاتيح ذات الأنواع غير المعروفة.

مثال:

```sql theme={null}
SET input_format_json_infer_incomplete_types_as_strings = 1, input_format_json_try_infer_named_tuples_from_objects = 1;
DESCRIBE format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
SELECT * FROM format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
```

النتيجة:

```
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj  │ Tuple(a Array(Nullable(Int64)), b Nullable(String), c Nullable(String), d Nullable(String), e Array(Nullable(String))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

┌─obj────────────────────────────┐
│ ([1,2,3],'hello',NULL,'{}',[]) │
└────────────────────────────────┘
```

مفعّل افتراضيًا.

<div id="input_format_json_map_as_array_of_tuples">
  ## input\_format\_json\_map\_as\_array\_of\_tuples
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "0"},{"label": "إعداد جديد"}]}]} />

إلغاء تسلسل أعمدة maps كمصفوفات JSON من Tuples.

معطّل افتراضيًا.

<div id="input_format_json_max_depth">
  ## input\_format\_json\_max\_depth
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1000"},{"label": "كان غير محدود في الإصدارات السابقة، لكن ذلك لم يكن آمنًا."}]}]} />

الحد الأقصى لعمق حقل في JSON. هذا ليس حدًا صارمًا، ولا يجب تطبيقه بدقة تامة.

<div id="input_format_json_named_tuples_as_objects">
  ## input\_format\_json\_named\_tuples\_as\_objects
</div>

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

حلّل الأعمدة من نوع named tuple على أنها كائنات JSON.

مفعّل افتراضيًا.

<div id="input_format_json_read_arrays_as_strings">
  ## input\_format\_json\_read\_arrays\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "السماح افتراضيًا بقراءة مصفوفات JSON كسلاسل نصية في تنسيقات JSON"}]}]} />

السماح بتحليل مصفوفات JSON كسلاسل نصية في تنسيقات إدخال JSON.

مثال:

```sql theme={null}
SET input_format_json_read_arrays_as_strings = 1;
SELECT arr, toTypeName(arr), JSONExtractArrayRaw(arr)[3] from format(JSONEachRow, 'arr String', '{"arr" : [1, "Hello", [1,2,3]]}');
```

النتيجة:

```
┌─arr───────────────────┬─toTypeName(arr)─┬─arrayElement(JSONExtractArrayRaw(arr), 3)─┐
│ [1, "Hello", [1,2,3]] │ String          │ [1,2,3]                                   │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘
```

مُفعَّل افتراضيًا.

<div id="input_format_json_read_bools_as_numbers">
  ## input\_format\_json\_read\_bools\_as\_numbers
</div>

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

السماح بتفسير القيم المنطقية على أنها أرقام في تنسيقات إدخال JSON.

مفعّل افتراضيًا.

<div id="input_format_json_read_bools_as_strings">
  ## input\_format\_json\_read\_bools\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "السماح افتراضيًا بقراءة القيم المنطقية على أنها سلاسل نصية في تنسيقات JSON"}]}]} />

السماح بتحليل القيم المنطقية على أنها سلاسل نصية في تنسيقات إدخال JSON.

مفعّل افتراضيًا.

<div id="input_format_json_read_numbers_as_strings">
  ## input\_format\_json\_read\_numbers\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "السماح بقراءة الأرقام كسلاسل نصية في تنسيقات JSON افتراضيًا"}]}]} />

السماح بتحليل الأرقام كسلاسل نصية في تنسيقات إدخال JSON.

مُفعّل افتراضيًا.

<div id="input_format_json_read_objects_as_strings">
  ## input\_format\_json\_read\_objects\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "تمكين قراءة كائنات JSON المتداخلة كسلاسل نصية، في حين أن النوع Object لا يزال تجريبيًا"}]}]} />

السماح بتحليل كائنات JSON كسلاسل نصية في تنسيقات إدخال JSON.

مثال:

```sql theme={null}
SET input_format_json_read_objects_as_strings = 1;
CREATE TABLE test (id UInt64, obj String, date Date) ENGINE=Memory();
INSERT INTO test FORMAT JSONEachRow {"id" : 1, "obj" : {"a" : 1, "b" : "Hello"}, "date" : "2020-01-01"};
SELECT * FROM test;
```

النتيجة:

```
┌─id─┬─obj──────────────────────┬───────date─┐
│  1 │ {"a" : 1, "b" : "Hello"} │ 2020-01-01 │
└────┴──────────────────────────┴────────────┘
```

مُفعَّل افتراضيًا.

<div id="input_format_json_throw_on_bad_escape_sequence">
  ## input\_format\_json\_throw\_on\_bad\_escape\_sequence
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "السماح بحفظ سلاسل JSON التي تحتوي على تسلسلات هروب غير صالحة"}]}]} />

يؤدي إلى إصدار استثناء إذا كانت سلسلة JSON تحتوي على تسلسل هروب غير صالح في تنسيقات إدخال JSON. وإذا كان هذا الإعداد معطّلًا، فستبقى تسلسلات الهروب غير الصالحة كما هي في البيانات.

مفعّل افتراضيًا.

<div id="input_format_json_try_infer_named_tuples_from_objects">
  ## input\_format\_json\_try\_infer\_named\_tuples\_from\_objects
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "استنتاج Tuples مسماة من كائنات JSON افتراضيًا"}]}]} />

إذا كان هذا الإعداد مُمكّنًا، فسيحاول ClickHouse أثناء استنتاج المخطط استنتاج Tuple مسمّى من كائنات JSON.
وسيحتوي الـ Tuple المسمّى الناتج على جميع العناصر من جميع كائنات JSON المقابلة في البيانات النموذجية.

مثال:

```sql theme={null}
SET input_format_json_try_infer_named_tuples_from_objects = 1;
DESC format(JSONEachRow, '{"obj" : {"a" : 42, "b" : "Hello"}}, {"obj" : {"a" : 43, "c" : [1, 2, 3]}}, {"obj" : {"d" : {"e" : 42}}}')
```

النتيجة:

```
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj  │ Tuple(a Nullable(Int64), b Nullable(String), c Array(Nullable(Int64)), d Tuple(e Nullable(Int64))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
```

مُفعَّل افتراضيًا.

<div id="input_format_json_try_infer_numbers_from_strings">
  ## input\_format\_json\_try\_infer\_numbers\_from\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "0"},{"label": "لا تستدل على الأرقام من السلاسل النصية في تنسيقات JSON افتراضيًا لتجنّب أخطاء محتملة في التحليل"}]}]} />

إذا كان مُمكّنًا، فسيحاول ClickHouse أثناء استنتاج المخطط استنتاج الأرقام من حقول السلاسل النصية.
وقد يكون ذلك مفيدًا إذا كانت بيانات JSON تحتوي على أرقام UInt64 بين علامتَي اقتباس.

يكون معطّلًا افتراضيًا.

<div id="input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects">
  ## input\_format\_json\_use\_string\_type\_for\_ambiguous\_paths\_in\_named\_tuples\_inference\_from\_objects
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "السماح باستخدام النوع String للمسارات الملتبسة أثناء استنتاج الـ Tuples المسمّاة من كائنات JSON"}]}]} />

استخدم النوع String بدلًا من استثناء عند وجود مسارات ملتبسة في كائنات JSON أثناء استنتاج الـ Tuples المسمّاة

<div id="input_format_json_validate_types_from_metadata">
  ## input\_format\_json\_validate\_types\_from\_metadata
</div>

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

بالنسبة إلى تنسيقات الإدخال JSON/JSONCompact/JSONColumnsWithMetadata، إذا تم ضبط هذا الإعداد على 1،
فستُقارَن الأنواع الموجودة في البيانات الوصفية ضمن بيانات الإدخال بأنواع الأعمدة المقابلة في الجدول.

مفعّل افتراضيًا.

<div id="input_format_max_block_size_bytes">
  ## input\_format\_max\_block\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "إعداد جديد لتقييد حجم البايتات إذا كانت الكتل المُنشأة بواسطة تنسيق الإدخال"}]}]} />

يحدّ من حجم الكتل المتكوّنة أثناء تحليل البيانات في تنسيقات الإدخال، بالبايتات. يُستخدم في تنسيقات الإدخال المعتمدة على الصفوف عندما تتكوّن الكتلة من جهة ClickHouse.
0 تعني عدم وجود حد بالبايتات.

<div id="input_format_max_block_wait_ms">
  ## input\_format\_max\_block\_wait\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "إعداد جديد لتقييد الحد الأقصى لوقت الانتظار بالمللي ثانية قبل إخراج كتلة بواسطة تنسيق الإدخال"}]}]} />

يحدّد الحد الأقصى للوقت، بالمللي ثانية، الذي يجب انتظاره قبل إخراج كتلة أثناء التحليل في تنسيقات الإدخال القائمة على الصفوف. وتعني القيمة 0 عدم وجود حد.

<Note>
  لا يعمل هذا الخيار إلا إذا كان `input_format_connection_handling` مُمكّنًا. كما أن تعيين قيمة له يعطّل أيضًا التحليل المتوازي ويجعل إزالة التكرار غير ممكنة.
</Note>

<Note>
  بالنسبة إلى عمليات الإدراج المتدفقة، يجب أيضًا تعيين `min_insert_block_size_rows=0` و `min_insert_block_size_bytes=0`. وإلا، فقد تستمر الكتل التي تم تحليلها في التراكم في الذاكرة خلال مرحلة دمج الكتل حتى الوصول إلى تلك العتبات، مما يمنع تنفيذ عمليات الإدراج في الوقت المناسب.
</Note>

**مثال: بث أحدث تغييرات Wikipedia إلى ClickHouse**

```bash theme={null}
clickhouse-client --query 'CREATE TABLE wikipedia_edits (data JSON)'

curl -sS --globoff -H 'Accept: application/json' --no-buffer \
  'https://stream.wikimedia.org/v2/stream/recentchange' \
  | clickhouse-client \
      --query 'INSERT INTO wikipedia_edits FORMAT JSONAsObject' \
      --input_format_max_block_wait_ms 1000 \
      --input_format_connection_handling 1 \
      --min_insert_block_size_rows 0 \
      --min_insert_block_size_bytes 0
```

<div id="input_format_max_bytes_to_read_for_schema_inference">
  ## input\_format\_max\_bytes\_to\_read\_for\_schema\_inference
</div>

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

الحد الأقصى لكمية البيانات، بالبايت، التي يمكن قراءتها لأغراض الاستنتاج التلقائي للمخطط.

<div id="input_format_max_rows_to_read_for_schema_inference">
  ## input\_format\_max\_rows\_to\_read\_for\_schema\_inference
</div>

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

الحد الأقصى لعدد صفوف البيانات التي تتم قراءتها للاستنتاج التلقائي للمخطط.

<div id="input_format_msgpack_number_of_columns">
  ## input\_format\_msgpack\_number\_of\_columns
</div>

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

عدد الأعمدة في بيانات MsgPack المُدخلة. يُستخدم للاستنتاج التلقائي للمخطط من البيانات.

<div id="input_format_mysql_dump_map_column_names">
  ## input\_format\_mysql\_dump\_map\_column\_names
</div>

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

يطابق الأعمدة في جدول MySQL dump مع الأعمدة في جدول ClickHouse حسب الأسماء

<div id="input_format_mysql_dump_table_name">
  ## input\_format\_mysql\_dump\_table\_name
</div>

اسم الجدول في ملف تفريغ MySQL الذي ستُقرأ منه البيانات

<div id="input_format_native_allow_types_conversion">
  ## input\_format\_native\_allow\_types\_conversion
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "السماح بتحويل أنواع البيانات في صيغة الإدخال Native"}]}]} />

السماح بتحويل أنواع البيانات في صيغة الإدخال Native

<div id="input_format_native_decode_types_in_binary_format">
  ## input\_format\_native\_decode\_types\_in\_binary\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "إضافة إعداد جديد للسماح بقراءة أسماء الأنواع بالتنسيق الثنائي في صيغة الإخراج Native"}]}]} />

قراءة أنواع البيانات بالتنسيق الثنائي بدلًا من أسماء الأنواع في صيغة الإدخال Native

<div id="input_format_null_as_default">
  ## input\_format\_null\_as\_default
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "السماح افتراضيًا بإدراج NULL كقيمة افتراضية في تنسيقات الإدخال"}]}]} />

يعمل هذا الإعداد على تمكين أو تعطيل تهيئة الحقول ذات القيمة [NULL](/docs/ar/reference/syntax#literals) باستخدام [القيم الافتراضية](/docs/ar/reference/statements/create/table#default_values)، إذا كان نوع بيانات هذه الحقول غير [Nullable](/docs/ar/reference/data-types/nullable).
إذا كان نوع العمود غير Nullable وكان هذا الإعداد معطّلًا، فإن إدراج `NULL` يؤدي إلى حدوث استثناء. أما إذا كان نوع العمود Nullable، فتُدرج قيم `NULL` كما هي، بغض النظر عن هذا الإعداد.

ينطبق هذا الإعداد على معظم تنسيقات الإدخال.

بالنسبة إلى تعبيرات القيم الافتراضية المعقدة، يجب أيضًا تمكين `input_format_defaults_for_omitted_fields`.

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

* 0 — يؤدي إدراج `NULL` في عمود غير Nullable إلى حدوث استثناء.
* 1 — تُهيَّأ الحقول ذات القيمة `NULL` باستخدام القيم الافتراضية للعمود.

<div id="input_format_orc_allow_missing_columns">
  ## input\_format\_orc\_allow\_missing\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "السماح بالأعمدة المفقودة في ملفات ORC افتراضيًا"}]}]} />

السماح بالأعمدة المفقودة عند قراءة تنسيقات إدخال ORC

<div id="input_format_orc_case_insensitive_column_matching">
  ## input\_format\_orc\_case\_insensitive\_column\_matching
</div>

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

تجاهل حالة الأحرف عند مطابقة أعمدة ORC بأعمدة CH.

<div id="input_format_orc_dictionary_as_low_cardinality">
  ## input\_format\_orc\_dictionary\_as\_low\_cardinality
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "اعتبار الأعمدة المشفّرة بقاموس ORC أعمدة من النوع LowCardinality عند قراءة ملفات ORC"}]}]} />

اعتبار الأعمدة المشفّرة بقاموس ORC أعمدة من النوع LowCardinality عند قراءة ملفات ORC.

<div id="input_format_orc_filter_push_down">
  ## input\_format\_orc\_filter\_push\_down
</div>

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

عند قراءة ملفات ORC، يتم تخطي الشرائط أو مجموعات الصفوف بالكامل استنادًا إلى تعبيرات WHERE/PREWHERE، أو إحصاءات الحد الأدنى/الحد الأقصى، أو مرشح bloom في البيانات الوصفية لـ ORC.

<div id="input_format_orc_reader_time_zone_name">
  ## input\_format\_orc\_reader\_time\_zone\_name
</div>

<SettingsInfoBlock type="String" default_value="GMT" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "GMT"},{"label": "اسم المنطقة الزمنية لقارئ صفوف ORC، والمنطقة الزمنية الافتراضية له هي GMT."}]}]} />

اسم المنطقة الزمنية لقارئ صفوف ORC، والمنطقة الزمنية الافتراضية له هي GMT.

<div id="input_format_orc_row_batch_size">
  ## input\_format\_orc\_row\_batch\_size
</div>

<SettingsInfoBlock type="Int64" default_value="100000" />

حجم الدفعة عند قراءة مقاطع ORC.

<div id="input_format_orc_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_orc\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

تخطَّ الأعمدة ذات الأنواع غير المدعومة عند استنتاج المخطط لتنسيق ORC

<div id="input_format_orc_use_fast_decoder">
  ## input\_format\_orc\_use\_fast\_decoder
</div>

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

استخدم نسخة أسرع من مفكِّك ترميز ORC.

<div id="input_format_parallel_parsing">
  ## input\_format\_parallel\_parsing
</div>

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

يُفعّل أو يُعطّل تحليل تنسيقات البيانات بالتوازي مع الحفاظ على الترتيب. وهو مدعوم فقط لتنسيقات [TabSeparated (TSV)](/docs/ar/reference/formats/TabSeparated/TabSeparated) و[TSKV](/docs/ar/reference/formats/TabSeparated/TSKV) و[CSV](/docs/ar/reference/formats/CSV/CSV) و[JSONEachRow](/docs/ar/reference/formats/JSON/JSONEachRow).

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

* 1 — مُمكّن.
* 0 — مُعطّل.

<div id="input_format_parquet_allow_geoparquet_parser">
  ## input\_format\_parquet\_allow\_geoparquet\_parser
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "إعداد جديد لاستخدام الأعمدة الجغرافية في ملف Parquet"}]}]} />

استخدم محلّل الأعمدة الجغرافية لتحويل Array(UInt8) إلى أنواع Point/Linestring/Polygon/MultiLineString/MultiPolygon

<div id="input_format_parquet_allow_missing_columns">
  ## input\_format\_parquet\_allow\_missing\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "السماح افتراضيًا بالأعمدة المفقودة في ملفات Parquet"}]}]} />

السماح بالأعمدة المفقودة عند قراءة تنسيقات إدخال Parquet

<div id="input_format_parquet_bloom_filter_push_down">
  ## input\_format\_parquet\_bloom\_filter\_push\_down
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "عند قراءة ملفات Parquet، تُتجاوز مجموعات الصفوف بأكملها استنادًا إلى تعبيرات WHERE\/PREWHERE وإلى bloom filter في البيانات الوصفية لـ Parquet."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "عند قراءة ملفات Parquet، تُتجاوز مجموعات الصفوف بأكملها استنادًا إلى تعبيرات WHERE\/PREWHERE وإلى bloom filter في البيانات الوصفية لـ Parquet."}]}]} />

عند قراءة ملفات Parquet، تُتجاوز مجموعات الصفوف بأكملها استنادًا إلى تعبيرات WHERE وإلى bloom filter في البيانات الوصفية لـ Parquet.

<div id="input_format_parquet_case_insensitive_column_matching">
  ## input\_format\_parquet\_case\_insensitive\_column\_matching
</div>

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

تجاهل حالة الأحرف عند مطابقة أعمدة Parquet بأعمدة CH.

<div id="input_format_parquet_enable_json_parsing">
  ## input\_format\_parquet\_enable\_json\_parsing
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "1"},{"label": "عند قراءة ملفات Parquet، فسِّر أعمدة JSON كأعمدة JSON في ClickHouse."}]}]} />

عند قراءة ملفات Parquet، فسِّر أعمدة JSON كأعمدة JSON في ClickHouse.

<div id="input_format_parquet_enable_row_group_prefetch">
  ## input\_format\_parquet\_enable\_row\_group\_prefetch
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "تمكين الجلب المسبق لمجموعات الصفوف أثناء تحليل Parquet. لا يدعم الجلب المسبق حاليًا إلا التحليل أحادي الخيط."}]}]} />

تمكين الجلب المسبق لمجموعات الصفوف أثناء تحليل Parquet. لا يدعم الجلب المسبق حاليًا إلا التحليل أحادي الخيط.

<div id="input_format_parquet_filter_push_down">
  ## input\_format\_parquet\_filter\_push\_down
</div>

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

عند قراءة ملفات Parquet، يتم تخطي مجموعات الصفوف بالكامل استنادًا إلى تعبيرات WHERE/PREWHERE وإحصاءات الحد الأدنى/الحد الأقصى في البيانات الوصفية لـ Parquet.

<div id="input_format_parquet_local_file_min_bytes_for_seek">
  ## input\_format\_parquet\_local\_file\_min\_bytes\_for\_seek
</div>

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

الحد الأدنى لعدد البايتات المطلوب لكي تُجري القراءة المحلية (للملف) عملية seek بدلًا من القراءة مع التجاهل في تنسيق إدخال Parquet

<div id="input_format_parquet_local_time_as_utc">
  ## input\_format\_parquet\_local\_time\_as\_utc
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "استخدم نوع DateTime64(..., 'UTC') الأنسب لنوع parquet ‏'local time without timezone'."}]}]} />

يحدّد نوع البيانات الذي يستخدمه استنتاج المخطط لطوابع Parquet الزمنية عندما تكون isAdjustedToUTC=false. إذا كانت القيمة true: ‏DateTime64(..., 'UTC')، وإذا كانت false: ‏DateTime64(...). لا يُعد أيّ من السلوكين صحيحًا تمامًا، لأن ClickHouse لا يوفّر نوع بيانات للوقت المحلي وفق ساعة الحائط. وعلى نحو غير بديهي، يُرجّح أن يكون الخيار 'true' أقلّهما خطأً، لأن تنسيق الطابع الزمني 'UTC' على هيئة String سيُنتج تمثيلًا للوقت المحلي الصحيح.

<div id="input_format_parquet_max_block_size">
  ## input\_format\_parquet\_max\_block\_size
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="65409" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "65409"},{"label": "رفع حجم الكتلة لقارئ Parquet."}]}]} />

الحد الأقصى لحجم الكتلة لقارئ Parquet.

<div id="input_format_parquet_memory_high_watermark">
  ## input\_format\_parquet\_memory\_high\_watermark
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "4294967296"},{"label": "إعداد جديد"}]}]} />

الحد التقريبي للذاكرة لقارئ Parquet v3. يقيّد عدد مجموعات الصفوف أو الأعمدة التي يمكن قراءتها بالتوازي. عند قراءة عدة ملفات في استعلام واحد، يُطبَّق هذا الحد على إجمالي استهلاك الذاكرة عبر تلك الملفات.

<div id="input_format_parquet_memory_low_watermark">
  ## input\_format\_parquet\_memory\_low\_watermark
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "2097152"},{"label": "إعداد جديد"}]}]} />

يُجدول عمليات الجلب الاستباقي بوتيرة أكثر كثافة إذا كان استخدام الذاكرة أقل من الحدّ المحدد. قد يكون ذلك مفيدًا، على سبيل المثال، إذا كان هناك العديد من مرشحات bloom الصغيرة المطلوب قراءتها عبر الشبكة.

<div id="input_format_parquet_page_filter_push_down">
  ## input\_format\_parquet\_page\_filter\_push\_down
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "إعداد جديد (لا تأثير له عند تعطيل input_format_parquet_use_native_reader_v3)"}]}]} />

تجاوز الصفحات بالاستناد إلى قيم الحد الأدنى/الحد الأقصى من فهرس العمود.

<div id="input_format_parquet_prefer_block_bytes">
  ## input\_format\_parquet\_prefer\_block\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "16744704"},{"label": "متوسط حجم الكتلة بالبايت الناتج عن قارئ Parquet."}]}]} />

متوسط حجم الكتلة بالبايت الناتج عن قارئ Parquet

<div id="input_format_parquet_preserve_order">
  ## input\_format\_parquet\_preserve\_order
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "0"},{"label": "السماح لقارئ Parquet بإعادة ترتيب الصفوف لتحقيق توازٍ أفضل."}]}]} />

تجنّب إعادة ترتيب الصفوف عند القراءة من ملفات Parquet. لا يُنصح بهذا، لأن ترتيب الصفوف ليس مضمونًا عادةً، وقد تفسده أجزاء أخرى من مسار تنفيذ الاستعلام. استخدم `ORDER BY _row_number` بدلًا من ذلك.

<div id="input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_parquet\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

تخطَّ الأعمدة ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق Parquet

<div id="input_format_parquet_use_offset_index">
  ## input\_format\_parquet\_use\_offset\_index
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "إعداد جديد (لا تأثير له عند تعطيل input_format_parquet_use_native_reader_v3)"}]}]} />

تعديل طفيف على طريقة قراءة الصفحات من ملف Parquet عند عدم استخدام تصفية الصفحات.

<div id="input_format_parquet_verify_checksums">
  ## input\_format\_parquet\_verify\_checksums
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "إعداد جديد."}]}]} />

التحقق من قيم التحقق للصفحات عند قراءة ملفات Parquet.

<div id="input_format_protobuf_flatten_google_wrappers">
  ## input\_format\_protobuf\_flatten\_google\_wrappers
</div>

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

فعّل مغلّفات Google للأعمدة العادية غير المتداخلة، على سبيل المثال google.protobuf.StringValue 'str' للعمود String 'str'. وبالنسبة إلى أعمدة Nullable، تُعرَف المغلّفات الفارغة على أنها قيم افتراضية، وتُعامَل القيم غير الموجودة على أنها NULL

<div id="input_format_protobuf_oneof_presence">
  ## input\_format\_protobuf\_oneof\_presence
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "إعداد جديد"}]}]} />

يحدِّد أي حقل من protobuf oneof تم العثور عليه من خلال تعيين قيمة enum في عمود خاص

<div id="input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_protobuf\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

تخطّي الحقول ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق Protobuf

<div id="input_format_record_errors_file_path">
  ## input\_format\_record\_errors\_file\_path
</div>

مسار الملف المستخدَم لتسجيل الأخطاء أثناء قراءة تنسيقات النص (CSV، TSV).

<div id="input_format_skip_unknown_fields">
  ## input\_format\_skip\_unknown\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.6"},{"label": "1"},{"label": "تحسين قراءة مجموعة فرعية من الأعمدة لبعض تنسيقات الإدخال"}]}]} />

يُفعّل أو يُعطّل تخطي إدراج البيانات الإضافية.

عند كتابة البيانات، يطرح ClickHouse استثناء إذا كانت بيانات الإدخال تحتوي على أعمدة غير موجودة في الجدول الهدف. وإذا كان هذا الخيار مُمكّنًا، فلن يُدرج ClickHouse البيانات الإضافية ولن يطرح استثناء.

التنسيقات المدعومة:

* [JSONEachRow](/docs/ar/reference/formats/JSON/JSONEachRow) (وتنسيقات JSON الأخرى)
* [BSONEachRow](/docs/ar/reference/formats/BSONEachRow) (وتنسيقات JSON الأخرى)
* [TSKV](/docs/ar/reference/formats/TabSeparated/TSKV)
* جميع التنسيقات ذات اللواحق WithNames/WithNamesAndTypes
* [MySQLDump](/docs/ar/reference/formats/MySQLDump)
* [Native](/docs/ar/reference/formats/Native)

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

* 0 — معطّل.
* 1 — مُمكّن.

<div id="input_format_try_infer_dates">
  ## input\_format\_try\_infer\_dates
</div>

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

إذا كان هذا الخيار مفعّلًا، فسيحاول ClickHouse استنتاج النوع `Date` من الحقول النصية عند استنتاج المخطط للتنسيقات النصية. وإذا جرى تحليل جميع الحقول في أحد أعمدة بيانات الإدخال بنجاح على أنها تواريخ، فسيكون نوع النتيجة `Date`؛ أما إذا تعذّر تحليل حقل واحد على الأقل كتاريخ، فسيكون نوع النتيجة `String`.

مفعّل افتراضيًا.

<div id="input_format_try_infer_datetimes">
  ## input\_format\_try\_infer\_datetimes
</div>

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

إذا كان هذا الإعداد مُمكّنًا، فسيحاول ClickHouse استنتاج النوع `DateTime64` من الحقول النصية أثناء استنتاج المخطط للتنسيقات النصية. وإذا جرى تحليل جميع الحقول في عمود من بيانات الإدخال بنجاح على أنها قيم تاريخ ووقت، فسيكون نوع النتيجة `DateTime64`. أما إذا تعذّر تحليل حقل واحد على الأقل على أنه قيمة تاريخ ووقت، فسيكون نوع النتيجة `String`.

مُمكَّن افتراضيًا.

<div id="input_format_try_infer_datetimes_only_datetime64">
  ## input\_format\_try\_infer\_datetimes\_only\_datetime64
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "السماح باستنتاج DateTime بدلًا من DateTime64 في تنسيقات البيانات"}]}]} />

عند تمكين input\_format\_try\_infer\_datetimes، لا يُستنتج إلا DateTime64 دون أنواع DateTime

<div id="input_format_try_infer_exponent_floats">
  ## input\_format\_try\_infer\_exponent\_floats
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "عدم استدلال الأعداد العائمة ذات الصيغة الأُسّية افتراضيًا"}]}]} />

حاول استدلال الأعداد العائمة ذات الصيغة الأُسّية عند استدلال المخطط في التنسيقات النصية (باستثناء JSON، حيث يُستدل دائمًا على الأعداد ذات الأُسّ)

<div id="input_format_try_infer_integers">
  ## input\_format\_try\_infer\_integers
</div>

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

إذا كان هذا الخيار مفعّلًا، فسيحاول ClickHouse استنتاج الأعداد الصحيحة بدلًا من الأعداد ذات الفاصلة العائمة عند استنتاج المخطط في التنسيقات النصية. إذا كانت جميع الأرقام في العمود ضمن بيانات الإدخال أعدادًا صحيحة، فسيكون نوع النتيجة `Int64`، أما إذا وُجد رقم واحد على الأقل ذو فاصلة عائمة، فسيكون نوع النتيجة `Float64`.

مفعّل افتراضيًا.

<div id="input_format_try_infer_variants">
  ## input\_format\_try\_infer\_variants
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "محاولة استنتاج نوع Variant في التنسيقات النصية عندما يكون هناك أكثر من نوع محتمل لعناصر العمود/المصفوفة"}]}]} />

إذا كان هذا الإعداد مفعّلًا، فسيحاول ClickHouse استنتاج نوع [`Variant`](/docs/ar/reference/data-types/variant) أثناء استنتاج المخطط للتنسيقات النصية عندما يكون هناك أكثر من نوع محتمل لعناصر العمود/المصفوفة.

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

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

<div id="input_format_tsv_allow_variable_number_of_columns">
  ## input\_format\_tsv\_allow\_variable\_number\_of\_columns
</div>

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

تجاهل الأعمدة الإضافية في إدخال TSV (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبر الحقول المفقودة في إدخال TSV قيماً افتراضية.

<div id="input_format_tsv_crlf_end_of_line">
  ## input\_format\_tsv\_crlf\_end\_of\_line
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "يُمكّن من قراءة نهايات الأسطر CRLF مع تنسيقات TSV"}]}]} />

إذا تم ضبطه على true، فستقرأ الدالة file تنسيق TSV باستخدام \r\n بدلًا من \n.

<div id="input_format_tsv_detect_header">
  ## input\_format\_tsv\_detect\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "اكتشاف الترويسة في تنسيق TSV افتراضيًا"}]}]} />

اكتشاف الترويسة التي تتضمن الأسماء والأنواع تلقائيًا في تنسيق TSV

<div id="input_format_tsv_empty_as_default">
  ## input\_format\_tsv\_empty\_as\_default
</div>

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

اعتبر الحقول الفارغة في بيانات TSV المُدخلة قيماً افتراضية.

<div id="input_format_tsv_enum_as_number">
  ## input\_format\_tsv\_enum\_as\_number
</div>

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

التعامل مع قيم enum المُدرَجة في تنسيقات TSV باعتبارها فهارس enum.

<div id="input_format_tsv_skip_first_lines">
  ## input\_format\_tsv\_skip\_first\_lines
</div>

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

تخطَّ عدد الأسطر المحدد في بداية البيانات بتنسيق TSV

<div id="input_format_tsv_skip_trailing_empty_lines">
  ## input\_format\_tsv\_skip\_trailing\_empty\_lines
</div>

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

تجاهل الأسطر الفارغة الأخيرة في تنسيق TSV

<div id="input_format_tsv_use_best_effort_in_schema_inference">
  ## input\_format\_tsv\_use\_best\_effort\_in\_schema\_inference
</div>

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

يستخدم بعض التحسينات والآليات الاستدلالية لاستنتاج المخطط في تنسيق TSV

<div id="input_format_values_accurate_types_of_literals">
  ## input\_format\_values\_accurate\_types\_of\_literals
</div>

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

بالنسبة إلى Values format: عند تحليل التعبيرات وتفسيرها باستخدام Template، افحص النوع الفعلي للقيمة الحرفية لتجنّب مشكلات تجاوز السعة والدقة المحتملة.

<div id="input_format_values_deduce_templates_of_expressions">
  ## input\_format\_values\_deduce\_templates\_of\_expressions
</div>

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

بالنسبة إلى تنسيق Values: إذا تعذّر على محلّل التدفق تحليل الحقل، فشِّل محلّل SQL، واستنتج قالبًا لتعبير SQL، وحاول تحليل جميع الصفوف باستخدام هذا القالب، ثم فسِّر التعبير في جميع الصفوف.

<div id="input_format_values_interpret_expressions">
  ## input\_format\_values\_interpret\_expressions
</div>

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

في Values format: إذا تعذّر على streaming parser تحليل الحقل، فشغّل SQL parser وحاول تفسيره على أنه تعبير SQL.

<div id="input_format_with_names_use_header">
  ## input\_format\_with\_names\_use\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "20.5"},{"label": "1"},{"label": "تمكين استخدام الترويسة التي تحتوي على أسماء في التنسيقات ذات اللواحق WithNames/WithNamesAndTypes"}]}]} />

يُمكّن هذا الإعداد أو يعطّل التحقق من ترتيب الأعمدة عند إدراج البيانات.

لتحسين أداء الإدراج، نوصي بتعطيل هذا التحقق إذا كنت متأكدًا من أن ترتيب أعمدة بيانات الإدخال مطابق لترتيبها في الجدول المستهدف.

التنسيقات المدعومة:

* [CSVWithNames](/docs/ar/reference/formats/CSV/CSVWithNames)
* [CSVWithNamesAndTypes](/docs/ar/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNames](/docs/ar/reference/formats/TabSeparated/TabSeparatedWithNames)
* [TabSeparatedWithNamesAndTypes](/docs/ar/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNames](/docs/ar/reference/formats/JSON/JSONCompactEachRowWithNames)
* [JSONCompactEachRowWithNamesAndTypes](/docs/ar/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNames](/docs/ar/reference/formats/JSON/JSONCompactStringsEachRowWithNames)
* [JSONCompactStringsEachRowWithNamesAndTypes](/docs/ar/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNames](/docs/ar/reference/formats/RowBinary/RowBinaryWithNames)
* [RowBinaryWithNamesAndTypes](/docs/ar/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNames](/docs/ar/reference/formats/CustomSeparated/CustomSeparatedWithNames)
* [CustomSeparatedWithNamesAndTypes](/docs/ar/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

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

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

<div id="input_format_with_types_use_header">
  ## input\_format\_with\_types\_use\_header
</div>

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

يتحكم هذا الإعداد في ما إذا كان محلل التنسيق سيتحقق من تطابق أنواع البيانات في بيانات الإدخال مع أنواع البيانات في الجدول الهدف.

التنسيقات المدعومة:

* [CSVWithNamesAndTypes](/docs/ar/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNamesAndTypes](/docs/ar/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNamesAndTypes](/docs/ar/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNamesAndTypes](/docs/ar/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNamesAndTypes](/docs/ar/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNamesAndTypes](/docs/ar/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

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

* 0 — معطّل.
* 1 — مُمكّن.
