summaryrefslogtreecommitdiffstats
path: root/yql/essentials/udfs/common/python/python3_small/test/cases
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-10-10 09:49:53 +0300
committervvvv <[email protected]>2025-10-10 10:04:09 +0300
commitc62bab8ab3141ff460f885bf2dafb922e0c19d38 (patch)
treeb37257fe1cd06a87b589992db93124d456f39152 /yql/essentials/udfs/common/python/python3_small/test/cases
parent172bf557598ad5d2a67c1d18ff9d4857a6b40722 (diff)
YQL-20339 Python UDF support
init commit_hash:2a30a1b920f341e1f9250df382dd951604a0894f
Diffstat (limited to 'yql/essentials/udfs/common/python/python3_small/test/cases')
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/Linear.cfg2
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/Linear.in0
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/Linear.sql15
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.cfg2
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.in0
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.sql27
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.cfg3
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.in0
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.sql27
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.cfg3
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.in0
-rw-r--r--yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.sql28
12 files changed, 107 insertions, 0 deletions
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.cfg b/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.cfg
new file mode 100644
index 00000000000..7e882f1da85
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.cfg
@@ -0,0 +1,2 @@
+langver 2025.04
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.in b/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.in
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.in
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.sql b/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.sql
new file mode 100644
index 00000000000..ef4aa9f0132
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/Linear.sql
@@ -0,0 +1,15 @@
+$s = @@
+def f(x):
+ return x + 1
+
+def g(x):
+ return x * 2
+@@;
+
+$l = LinearType(Int32);
+$p = Python::f(Callable<(Int32)->$l>, $s);
+$c = Python::g(Callable<($l)->Int32>, $s);
+
+select $c($p(1));
+
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.cfg b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.cfg
new file mode 100644
index 00000000000..7e882f1da85
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.cfg
@@ -0,0 +1,2 @@
+langver 2025.04
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.in b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.in
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.in
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.sql b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.sql
new file mode 100644
index 00000000000..58b4a649a05
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamic.sql
@@ -0,0 +1,27 @@
+$s = @@
+def f(x):
+ class Once:
+ def __init__(self, v):
+ self.v = v
+ self.extracted = False
+
+ def extract(self):
+ assert not self.extracted
+ self.extracted = True
+ ret = self.v
+ self.v = None
+ return ret
+
+ return Once(x + 1)
+
+def g(x):
+ return x.extract() * 2
+@@;
+
+$l = DynamicLinearType(Int32);
+$p = Python::f(Callable<(Int32)->$l>, $s);
+$c = Python::g(Callable<($l)->Int32>, $s);
+
+select $c($p(1));
+
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.cfg b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.cfg
new file mode 100644
index 00000000000..57e3ac59f66
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.cfg
@@ -0,0 +1,3 @@
+langver 2025.04
+xfail
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.in b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.in
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.in
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.sql b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.sql
new file mode 100644
index 00000000000..5a91c16589f
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail1.sql
@@ -0,0 +1,27 @@
+$s = @@
+def f(x):
+ class Once:
+ def __init__(self, v):
+ self.v = v
+ self.extracted = False
+
+ def extract(self):
+ assert not self.extracted
+ self.extracted = True
+ ret = self.v
+ self.v = None
+ return ret
+
+ return Once(x + 1)
+
+def g(x):
+ return x.extract() * x.extract()
+@@;
+
+$l = DynamicLinearType(Int32);
+$p = Python::f(Callable<(Int32)->$l>, $s);
+$c = Python::g(Callable<($l)->Int32>, $s);
+
+select $c($p(1));
+
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.cfg b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.cfg
new file mode 100644
index 00000000000..57e3ac59f66
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.cfg
@@ -0,0 +1,3 @@
+langver 2025.04
+xfail
+
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.in b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.in
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.in
diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.sql b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.sql
new file mode 100644
index 00000000000..09610de9aa3
--- /dev/null
+++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail2.sql
@@ -0,0 +1,28 @@
+$s = @@
+def f(x):
+ class Once:
+ def __init__(self, v):
+ self.v = v
+ self.extracted = False
+
+ def extract(self):
+ assert not self.extracted
+ self.extracted = True
+ ret = self.v
+ self.v = None
+ return ret
+
+ return Once(x + 1)
+
+def g(x,n):
+ return x.extract() + n
+@@;
+
+$l = DynamicLinearType(Int32);
+$p = Python::f(Callable<(Int32)->$l>, $s);
+$c = Python::g(Callable<($l,Int32)->Int32>, $s);
+
+$a = $p(1);
+select $c($a,0),$c($a,1);
+
+