الانتقال إلى المحتوى الرئيسي
القيمةالاسمالوصف
0Helloبداية مصافحة العميل
1Queryطلب استعلام
2Dataكتلة بيانات
3Cancelإلغاء الاستعلام
4Pingطلب Ping
5TableStatusطلب حالة الجدول
يمكن أن تكون Data مضغوطة.

Hello

على سبيل المثال، نستخدم Go Client بالإصدار v1.10 الذي يدعم إصدار البروتوكول 54451، ونريد الاتصال بقاعدة البيانات default باستخدام اسم المستخدم default وكلمة المرور secret.
الحقلالنوعالقيمةالوصف
client_nameString"Go Client"اسم تنفيذ العميل
version_majorUVarInt1الإصدار الرئيسي للعميل
version_minorUVarInt10الإصدار الثانوي للعميل
protocol_versionUVarInt54451إصدار بروتوكول TCP
databaseString"default"اسم قاعدة البيانات
usernameString"default"اسم المستخدم
passwordString"secret"كلمة المرور

إصدار البروتوكول

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

الإعدادات الافتراضية

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

الاستعلام

الحقلالنوعالقيمةالوصف
query_idString1ff-a123معرّف الاستعلام، ويمكن أن يكون UUIDv4
client_infoClientInfoانظر النوعبيانات العميل
settingsالإعداداتانظر النوعقائمة الإعدادات
secretStringsecretسرّ بين الخوادم
stageUVarInt2التنفيذ حتى مرحلة الاستعلام
compressionUVarInt0معطّل=0، مفعّل=1
bodyStringSELECT 1نص الاستعلام

معلومات العميل

الحقلالنوعالوصف
query_kindbyteNone=0, Initial=1, Secondary=2
initial_userStringالمستخدم الأصلي
initial_query_idStringمعرّف الاستعلام الأصلي
initial_addressStringالعنوان الأصلي
initial_timeInt64الوقت الأصلي
interfacebyteTCP=1, HTTP=2
os_userStringمستخدم نظام التشغيل
client_hostnameStringاسم مضيف العميل
client_nameStringاسم العميل
version_majorUVarIntالإصدار الرئيسي للعميل
version_minorUVarIntالإصدار الثانوي للعميل
protocol_versionUVarIntإصدار البروتوكول للعميل
quota_keyStringمفتاح الحصة
distributed_depthUVarIntعمق Distributed
version_patchUVarIntإصدار التصحيح للعميل
otelBoolحقول التتبّع موجودة
trace_idFixedString(16)معرّف التتبّع
span_idFixedString(8)معرّف span
trace_stateStringحالة التتبّع
trace_flagsByteعلامات التتبّع

الإعدادات

الحقلالنوعالقيمةالوصف
المفتاحStringsend_logs_levelمفتاح الإعداد
القيمةStringtraceقيمة الإعداد
مهمBooltrueيمكن تجاهله أم لا
مُرمَّزة على شكل قائمة، ويشير خلوّ المفتاح والقيمة إلى نهاية القائمة.

المرحلة

القيمةالاسمالوصف
0FetchColumnsيجلب أنواع الأعمدة فقط
1WithMergeableStateحتى الحالة القابلة للدمج
2Completeحتى الاكتمال التام (من المفترض أن يكون default)

البيانات

الحقلالنوعالوصف
infoBlockInfoمعلومات الكتلة المُرمَّزة
columnsUVarIntعدد الأعمدة
rowsUVarIntعدد الصفوف
columns[]عمودأعمدة تحتوي على بيانات

العمود

الحقلالنوعالقيمةالوصف
nameStringfooاسم العمود
typeStringDateTime64(9)نوع العمود
databytes~بيانات العمود

Cancel

لا تحتوي الحزمة على حمولة. يجب أن يلغي الخادم الاستعلام.

Ping

لا تحتوي الحزمة على حمولة. ينبغي أن يردّ الخادم بـ pong.
آخر تعديل في ٢٩ يونيو ٢٠٢٦