منسّق Trino
نسّق استعلامات Trino وPresto SQL وفق قواعد Trino للمعرّفات الموضوعة بين علامتي اقتباس مزدوجتين، والسلاسل القياسية التي لا تستخدم محارف هروب بالشرطة المائلة العكسية، والقيم الحرفية X'' وU&''، والرموز الفرعية للمصفوفات والخرائط، وتعبيرات lambda. تظهر عبارات مثل WITH وGROUP BY وORDER BY وOFFSET وFETCH FIRST في أسطر خاصة بها، وتُضاف مسافة بادئة لكل عمود في سطر مستقل. يُبلغ عن السلاسل والأقواس غير المغلقة مع تحديد السطر والعمود للمحللين.
الأسئلة الشائعة
ما صياغة Trino التي يتعرف عليها؟
يتم التعرف على السلاسل المحاطة بعلامة اقتباس مفردة مع مضاعفة علامات الاقتباس، والمعرّفات المحاطة بعلامة اقتباس مزدوجة، والثوابت X'' varbinary وU&'' Unicode. وتظل الفهارس الفرعية مثل Array[1] وmap['key'] وتعبيرات لامبدا مثل x -> x + 1 كما هي.
هل تؤدي الشرطة المائلة العكسية إلى تهريب الأحرف في السلاسل؟
لا. في Trino، الشرطة المائلة العكسية داخل السلسلة حرف عادي، ويتبع المنسّق هذه القاعدة، لذا فإن 'C:\' سلسلة مكتملة.
هل يمكنني تنسيق استعلامات Presto وAmazon Athena؟
نعم. يشترك Presto وAthena في قواعد الاقتباس لدى Trino وفي معظم صياغته، لذا تُنسّق استعلاماتهما بالطريقة نفسها.
كيف تُعالَج أسماء الكتالوجات والمخططات؟
تظل الأسماء المؤهلة مثل hive.sales.orders و"my-catalog"."schema"."table" متصلة. ولا تُضاف مسافات حول النقاط.
ما البنود التي تحصل على أسطر مستقلة؟
تبدأ WITH وSELECT وFROM وWHERE وGROUP BY وHAVING وWINDOW وORDER BY وOFFSET وLIMIT وFETCH أسطراً منفصلة. وتفصل عوامل المجموعة UNION وINTERSECT وEXCEPT بين الاستعلامات التي تجمعها.
هل يدعم MERGE؟
نعم. يبدأ فرعا WHEN MATCHED وWHEN NOT MATCHED سطرين جديدين.
هل تغيّر حالة أحرف الكلمات المفتاحية؟
لا. تحتفظ الكلمات المفتاحية والأسماء بحالة الأحرف التي كتبتها. لا يتغير سوى المسافات البيضاء وفواصل الأسطر.
ما الأخطاء التي يجري اكتشافها؟
السلاسل غير المغلقة، والمعرّفات الموضوعة بين علامتي اقتباس، والفهارس الفرعية، وتعليقات الكتل، والأقواس غير المتوازنة، مع تحديد السطر والعمود لكل منها. لا تُنفّذ الاستعلامات على أي مجموعة.
ما الحد الأقصى لحجم الإدخال؟
حتى 1 MB لكل طلب و128 KB لكل عبارة. تُفصل العبارات المتعددة بأسطر فارغة.
هل يمكنني اختيار المسافة البادئة، وهل يُحفظ SQL؟
استخدم مسافتين أو 4 مسافات أو علامات جدولة. يُنسق SQL في الذاكرة فقط ولا يُحفظ مطلقًا.