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

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

> إعدادات الجلسة في ClickHouse ضمن المجموعة المُنشأة allow_nondeterministic_*.

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](/docs/ar/reference/system-tables/settings)، وقد تم توليدها تلقائيًا من [ملف المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="allow_nondeterministic_mutations">
  ## allow\_nondeterministic\_mutations
</div>

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

إعداد على مستوى المستخدم يتيح تنفيذ عمليات mutations على الجداول المُكرَّرة باستخدام دوال غير حتمية مثل `dictGet`.

وبما أن القواميس قد تكون، على سبيل المثال، غير متزامنة بين العقد، فإن عمليات mutations التي تستمد منها قيَمًا تكون محظورة افتراضيًا على الجداول المُكرَّرة. ويتيح تفعيل هذا الإعداد هذا السلوك، ويجعل المستخدم مسؤولًا عن التأكد من أن البيانات المستخدمة متزامنة عبر جميع العقد.

**مثال**

```xml theme={null}
<profiles>
    <default>
        <allow_nondeterministic_mutations>1</allow_nondeterministic_mutations>

        <!-- ... -->
    </default>

    <!-- ... -->

</profiles>
```

<div id="allow_nondeterministic_optimize_skip_unused_shards">
  ## allow\_nondeterministic\_optimize\_skip\_unused\_shards
</div>

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

يسمح باستخدام الدوال غير الحتمية (مثل `rand` أو `dictGet`، إذ إن الأخيرة لها بعض التحفظات المتعلقة بالتحديثات) في مفتاح التجزئة.

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

* 0 — غير مسموح به.
* 1 — مسموح به.
