This is an automated email from the ASF dual-hosted git repository.

github-merge-queue[bot] pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/main by this push:
     new 5fe5fde95b chore(amber): correct three invalid R tuple UDF examples 
(#7375)
5fe5fde95b is described below

commit 5fe5fde95b5d97fbbaf09b3efd605bcdb80dd67f
Author: Eugene Gu <[email protected]>
AuthorDate: Thu Aug 6 22:43:01 2026 -0700

    chore(amber): correct three invalid R tuple UDF examples (#7375)
    
    ### What changes were proposed in this PR?
    
    Three of the six R example templates in
    `amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py`
    were invalid R:
    
    - `r_tuple_source_multiple_tuples` and
    `r_tuple_udf_echo_multiple_tuples` were missing a closing `}` — the
    final `})` only closed the `for` block, so R fails to parse them
    (`unexpected ')'`).
    - `r_tuple_source_one_tuple` and `r_tuple_source_multiple_tuples` had a
    trailing comma in their `list(...)` call, which fails at eval time
    (`argument 4 is empty`).
    
    This PR adds the missing braces, removes the trailing commas, and makes
    the multiple-tuples source yield `attr1 = i` so the five rows differ.
    
    These templates are reference examples only — nothing in the repo
    imports them, and the operators' actual default code is unaffected.
    
    ### Any related issues, documentation, discussions?
    
    Closes #7372
    
    ### How was this PR tested?
    
    Ran every template in both rudf example files through `Rscript parse()`
    — all pass after the fix (the two broken ones failed before) — and
    eval-checked the fixed `list(...)` call. `ruff check` and `ruff format
    --check` pass. No test is added because CI has no R and nothing imports
    this file.
    
    ### Was this PR authored or co-authored using generative AI tooling?
    
    Co-authored by: Claude Code
---
 .../pytexera/udf/examples/rudf/r_tuple_operator.py | 24 ++++++++++++----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git 
a/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py 
b/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py
index 4aeb8a010c..e8a6cfa3ad 100644
--- a/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py
+++ b/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py
@@ -30,11 +30,11 @@ r_tuple_source_one_tuple = """
 library(coro)
 coro::generator(function() {
     yield (list(
-            attr1 = 1L, # R integer
-            attr2 = "A", # R string
-            attr3 = TRUE, # R logical (boolean)
-            ))
-    })
+        attr1 = 1L,   # R integer
+        attr2 = "A",  # R string
+        attr3 = TRUE  # R logical (boolean)
+    ))
+})
 """
 
 r_tuple_source_multiple_tuples = """
@@ -42,11 +42,12 @@ library(coro)
 coro::generator(function() {
     for (i in 1:5) {
         yield (list(
-            attr1 = 1L, # R integer
-            attr2 = "A", # R string
-            attr3 = TRUE, # R logical (boolean)
-            ))
-    })
+            attr1 = i,    # R integer
+            attr2 = "A",  # R string
+            attr3 = TRUE  # R logical (boolean)
+        ))
+    }
+})
 """
 
 # --- UDF Operator ---
@@ -69,5 +70,6 @@ library(coro)
 coro::generator(function(tuple, port) {
     for (i in 1:5) {
         yield (tuple)
-    })
+    }
+})
 """

Reply via email to