یک تابع توکن تعریف شده توسط کاربر اضافه کنید

ساخت وبلاگ

در زبان تعریف و بارگیری داده GSQL (DDL) ، کاربران می توانند توابع توکن خود را تعریف کنند اگر توابع توکن داخلی نیازهای آنها را برآورده نکند.

توابع توکن به صورت C ++ نوشته شده و در پرونده ای به نام tokenbank. cpp ذخیره می شود.

دو روش برای اصلاح این پرونده برای افزودن توابع توکن به GSQL وجود دارد:

پرونده را در یک مخزن GitHub ذخیره کرده و GSQL را برای خواندن از مخزن پیکربندی کنید.

برای بارگیری ، اصلاح و ذخیره فایل به صورت محلی از دستورات دریافت و قرار دهید.

این بخش ابتدا نحوه تعریف یک عملکرد توکن را توضیح می دهد ، سپس نحوه ادغام توابع توکن در GSQL.

یک عملکرد توکن را در C++تعریف کنید

توابع توکن می توانند یا مقداری را که برای یک عبارت از ویژگی استفاده می شود ، بازگرداند یا در یک بند جایی که به عنوان یک بیان شرایط استفاده می شود ، استفاده شود. بسته به نوع بازگشت عملکرد ، امضای عملکرد باید با فرمت مجاز مطابقت داشته باشد.

اگر از عملکرد توکن شما برای بازگشت یک عبارت ویژگی استفاده می شود ، امضای عملکرد باید بسته به نوع ویژگی ، از فرمت مشخص شده در جدول زیر پیروی کند.

Exte "C" نام void funcame (const char* const itoken [] ، uint32_t itokenlen [] ، uint32_t itokeum ، char* const otoken ، uint32_t & otokenlen)

خالی . ارزش otoken در GSQL بازگردانده می شود

نام تجاری BOOL Exte "C" (const char* const itoken [] ، uint32_t itokenlen [] ، uint32_t itokeum)

Exte "C" Uint64_t Funcame (const char* const itoken [] ، uint32_t itokenlen [] ، uint32_t itokeum)

Exte "C" int64_t Funcame (const char* const itoken [] ، uint32_t itokenlen [] ، uint32_t itokeum)

نام float fuame exte "c" (const char* const itoken [] ، uint32_t itokenlen [] ، uint32_t itokeum)

نام "C" نام دوتایی (const char* const itoken [] ، uint32_t itokenlen [] ، uint32_t itokeum)

پارامترهای itoken ، itokenlen و itokeum باید دقیقاً به این ترتیب نامگذاری شوند و برای توصیف نشانه های ورودی مورد استفاده قرار می گیرند:

itoken مجموعه ای از نشانه های رشته است

itokenlen مجموعه ای از طول نشانه های رشته است

itokeum تعداد نشانه ها است

توابع توکن برای انواع ویژگی ها دارای یک عملکرد بازگرداندن عملکرد C ++ است. از پارامتر Otoken برای ذخیره رشته مورد نظر خود استفاده کنید ، و در GSQL عملکرد توکن رشته ذخیره شده در Otoken را برمی گرداند:

Otoken مقدار رشته برگشتی است

otokenlen طول رشته بازگشت است

توجه داشته باشید که نشانه های ورودی همیشه در قالب رشته (char*) هستند. در صورت لزوم ، آنها را به انواع دیگر در عملکرد تبدیل کنید.

مثال

تابع داخلی توکن GSQL_CONCAT در مثال زیر استفاده می شود. این پارامترهای مختلف را می گیرد و یک رشته را برمی گرداند.

توابع توکن تعریف شده توسط کاربر برای جایی که بند است

توابع توکن تعریف شده توسط کاربر (توضیح داده شده در بالا) همچنین می تواند برای ساخت بیان مشروط بولی در بند WHERE استفاده شود. با این حال ، محدودیت هایی در بند WHERE وجود دارد:

در بند کجا ،

تنها توابع توکن تعریف شده توسط کاربر ، مواردی است که یک مقدار بولی را برمی گرداند.

اگر از یک عملکرد توکن تعریف شده توسط کاربر در یک بند استفاده شود ، باید کل شرایط را تشکیل دهد. برای تولید مقدار بعدی نمی توان آن را با یک عملکرد یا اپراتور دیگر ترکیب کرد. با این حال ، آرگومان های عملکرد توکن می تواند شامل توابع دیگری باشد.

از کد منبع برای عملکرد توکن داخلی GSQL_TOKEN_EQUAL به عنوان نمونه ای برای نحوه نوشتن یک تابع توکن تعریف شده توسط کاربر استفاده می شود.

برای ذخیره توابع توکن از GitHub استفاده کنید

می توانید GSQL را برای خواندن از یک مخزن GitHub برای tokenbank. cpp پیکربندی کنید.

اگر دسترسی GitHub پیکربندی شود ، GSQL فایلهای کد منبع کاربر را از GitHub بازیابی می کند قبل از اینکه پرونده ها از طریق Put اضافه شوند ، تا زمانی که پرونده ها وجود داشته باشند.

TigerGraph فقط یک پرونده Tokenbank را به طور همزمان اجازه می دهد. پرونده ها در GitHub اولویت دارند. اگر GitHub متصل باشد اما پرونده ها از دست رفته اند ، TigerGraph به دنبال یک فایل Tokenbank اضافه شده از طریق Put خواهد بود.

اضافات جدید پرونده های موجود در مخزن GitHub فوراً در GSQL در دسترس است.

شما می توانید Tokenbank را از Approot/dev/gdk/gsql/src/tokenbank/tokenbank. cpp بازیابی کرده و آن را در یک مخزن git مورد نظر خود کپی کنید.

نام پرونده باید در GitHub tokenbank. cpp باقی بماند. این برخلاف روش PUT است ، جایی که پرونده می تواند نام پرونده ای داشته باشد.

پارامترهای پیکربندی گادمین برای تنظیم اتصال به GitHub به شرح زیر است:

اعتبار مورد استفاده برای دسترسی به مخزن

کاربر و مخزن که پرونده ها در آن نگهداری می شوند

شاخه برای دسترسی

مسیر دایرکتوری در مخزن که دارای tokenbank. cpp است

پارامتر اختیاری مورد استفاده برای شرکت GitHub

برای پیکربندی پارامترهای فوق الذکر برای اتصال GSQL به مخزن GitHub که میزبان پرونده های خود است ، از دستور Set Set Config Gadmin استفاده کنید.

در زیر یک پیکربندی مثال وجود دارد. به یاد داشته باشید که پس از تغییر پارامترها ، پیکربندی Gadmin را اجرا کنید. اگر GSQL قبلاً در حال اجرا است ، برای شروع مجدد GSQL قبل از در دسترس بودن توابع توکن ، باید همه را مجدداً راه اندازی کنید.

بعد از پیکربندی موفقیت آمیز پارامترها ، می توانید بلافاصله به توابع توکن تعریف شده توسط کاربر خود دسترسی پیدا کنید.

توابع توکن را به صورت محلی ذخیره کنید

مرحله 1: افزودن TokenBank با PUT را فعال کنید

برای فعال کردن آپلود TokenBank از طریق دستور GSQL PUT دستورات زیر را اجرا کنید:

مرحله 2: فایل TokenBank فعلی را تغییر دهید

از دستور GET TokenBank در GSQL برای دانلود فایل فعلی در هر مکانی در دستگاه خود استفاده کنید. مسیر بعد از کلمه کلیدی TO مسیر خروجی فایل را مشخص می کند.

فایل باید با پسوند فایل . cpp خاتمه یابد. اگر فایل و دایرکتوری ها وجود نداشته باشند ایجاد می شوند.

اگر فقط یک دایرکتوری ارائه می کنید اما نام فایل را ارائه نمی کنید، فایل با نام فایل پیش فرض TokenBank. cpp ایجاد می شود.

مرحله 3: تابع توکن خود را تعریف کنید

تابع خود را در TokenBank. cpp بنویسید.

اگر هر کدی در TokenBank. cpp باعث خطای کامپایل شود، GSQL قادر به اجرای کارهای بارگیری نخواهد بود، خواه شامل توابع توکن تعریف شده توسط کاربر باشد یا نباشد.

مرحله 4: فایل تغییر یافته TokenBank. cpp را ذخیره کنید

پس از تعریف تابع token، از دستور PUT TokenBank برای ذخیره فایل استفاده کنید تا GSQL بتواند آن را بخواند. مسیر بعد از کلمه کلیدی FROM مسیر مطلق فایل TokenBank. cpp است.

دستور PUT به طور خودکار فایل ها را در تمام گره ها در یک خوشه ذخیره می کند و فایل های موجود که حاوی توکن هستند را بازنویسی می کند. هنگامی که فایل ذخیره می شود، می توانید دفعه بعد که GSQL اجرا می شود، تابع توکن تعریف شده توسط کاربر را فراخوانی کنید. این شامل دفعه بعدی است که پوسته GSQL را شروع می کنید یا اسکریپت های GSQL را از یک پوسته bash اجرا می کنید.

مرحله 5: اضافه کردن TokenBank با PUT را غیرفعال کنید

برای بهترین اقدامات امنیتی، دستورات زیر را اجرا کنید تا بار دیگر آپلود TokenBank را از طریق دستور GSQL PUT غیرفعال کنید:

استراتژی های مؤثر فارکس...
ما را در سایت استراتژی های مؤثر فارکس دنبال می کنید

برچسب : نویسنده : توران میرهادی بازدید : <-PostHit-> تاريخ : چهارشنبه 31 خرداد 1402 ساعت: 20:46