Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

system.user_defined_functions

الوصف

يتضمن حالة التحميل، ومعلومات عن الخطأ، والبيانات الوصفية للتهيئة الخاصة بـ الدوال المعرّفة من قبل المستخدم (UDFs).

الأعمدة

  • name (String) — اسم UDF.
  • load_status (Enum8('Success' = 0, 'Failed' = 1)) — حالة التحميل. القيم الممكنة: Success — تم تحميل UDF وهو جاهز للاستخدام، Failed — تعذّر تحميل UDF (راجع الحقل 'loading_error_message' للتفاصيل).
  • loading_error_message (String) — رسالة الخطأ التفصيلية عند فشل التحميل. تكون فارغة عند نجاح التحميل.
  • last_successful_update_time (Nullable(DateTime)) — الطابع الزمني لآخر تحديث ناجح. NULL إذا لم ينجح أي تحديث من قبل.
  • loading_duration_ms (UInt64) — الوقت المستغرق لتحميل UDF بالمللي ثانية.
  • type (Enum8('executable' = 0, 'executable_pool' = 1)) — نوع UDF: 'executable' (عملية واحدة) أو 'executable_pool' (مجمع عمليات).
  • command (String) — البرنامج النصي أو الأمر الذي يُنفّذ لهذه UDF.
  • format (String) — تنسيق البيانات لعمليات الإدخال/الإخراج (مثل 'TabSeparated' و'JSONEachRow').
  • return_type (String) — نوع القيمة التي تُرجعها الدالة (مثل 'String' و'UInt64').
  • return_name (String) — معرّف اختياري لقيمة الإرجاع. يكون فارغًا إذا لم يُضبط.
  • argument_types (Array(String)) — مصفوفة بأنواع الوسيطات (مثل ['String' و'UInt64']).
  • argument_names (Array(String)) — مصفوفة بأسماء الوسيطات. سلاسل فارغة للوسيطات غير المسمّاة.
  • max_command_execution_time (UInt64) — الحد الأقصى لعدد الثواني لمعالجة كتلة بيانات. لنوع 'executable_pool' فقط.
  • command_termination_timeout (UInt64) — عدد الثواني قبل إرسال SIGTERM إلى عملية الأمر.
  • command_read_timeout (UInt64) — عدد المللي ثانية المخصصة للقراءة من stdout الخاص بالأمر.
  • command_write_timeout (UInt64) — عدد المللي ثانية المخصصة للكتابة إلى stdin الخاص بالأمر.
  • pool_size (UInt64) — عدد مثيلات عملية الأمر. لنوع 'executable_pool' فقط.
  • send_chunk_header (UInt8) — ما إذا كان سيتم إرسال عدد الصفوف قبل كل جزء من البيانات (قيمة منطقية).
  • execute_direct (UInt8) — ما إذا كان سيتم تنفيذ الأمر مباشرةً (1) أو عبر /bin/bash (0).
  • lifetime (UInt64) — فترة إعادة التحميل بالثواني. تعني 0 تعطيل إعادة التحميل.
  • deterministic (UInt8) — ما إذا كانت الدالة تُرجع النتيجة نفسها للوسيطات نفسها (قيمة منطقية).

مثال

اعرض جميع UDFs وحالة تحميلها:

SELECT
    name,
    load_status,
    type,
    command,
    return_type,
    argument_types
FROM system.user_defined_functions
FORMAT Vertical;
Row 1:
──────
name:           my_sum_udf
load_status:    Success
type:           executable
command:        /var/lib/clickhouse/user_scripts/sum.py
return_type:    UInt64
argument_types: ['UInt64','UInt64']

العثور على UDFs الفاشلة:

SELECT
    name,
    loading_error_message
FROM system.user_defined_functions
WHERE load_status = 'Failed';

انظر أيضًا

Navigation