توابع تعریف شده توسط کاربر در Apache AGE

توابع تعریف شده توسط کاربر در Apache AGE با استفاده از CREATE FUNCTION
بیانیه. نحو برای CREATE FUNCTION
بیانیه به شرح زیر است:
CREATE FUNCTION function_name(argument_1 data_type, argument_2 data_type, ...)
RETURNS return_data_type AS $$
BEGIN
-- function body
END;
$$
LANGUAGE language;
این function_name
نام تابع است، argument_1
، argument_2
، … آرگومان های تابع هستند، return_data_type
نوع داده مقدار برگشتی است و زبان زبانی است که تابع در آن نوشته شده است.
بدنه تابع یک بلوک از کد است که هنگام فراخوانی تابع اجرا می شود. بدنه تابع می تواند حاوی هر عبارت SQL معتبری باشد.
پارامتر زبان می تواند یکی از موارد زیر باشد:plpgsql
: تابع در PL/pgSQL نوشته شده است.c
: تابع به زبان C نوشته شده است.java
: تابع به زبان جاوا نوشته شده است.
هنگامی که یک تابع تعریف شده توسط کاربر ایجاد شد، می توان آن را از a فراخوانی کرد سایفر پرس و جو با استفاده از نحو زیر:
age_function_name(argument_1, argument_2, ...)
مثال
کوئری Cypher زیر تابعی به نام ایجاد می کند my_function
که دو عدد صحیح را به عنوان آرگومان می گیرد و حاصل ضرب آن اعداد صحیح را برمی گرداند:
CREATE FUNCTION my_function(a integer, b integer)
RETURNS integer AS $$
BEGIN
RETURN a * b;
END;
$$
LANGUAGE plpgsql;
کوئری Cypher زیر تابع my_function را فراخوانی می کند و نتیجه را برمی گرداند:
RETURN age_my_function(10, 20);
توابع تعریف شده توسط کاربر را می توان برای انجام کارهای مختلفی استفاده کرد، مانند:
- فیلتر کردن داده ها
- محاسبه مقادیر
- قالب بندی داده ها
- تبدیل داده ها بین فرمت های مختلف
توابع تعریف شده توسط کاربر می توانند ابزار قدرتمندی برای گسترش عملکرد Apache AGE باشند.