Skip to content

Conversation

@xinyual
Copy link
Contributor

@xinyual xinyual commented Oct 20, 2025

Description

Add appendpipe command.
Appendpipe appends the result of the subpipeline to the search results. Unlike a subsearch, the subpipeline is not run first. The subpipeline is run when the search reaches the appendpipe command.

Related Issues

Resolves #[Issue number to be closed when this PR is merged]

Check List

  • New functionality includes testing.
  • New functionality has been documented.
  • New functionality has javadoc added.
  • New functionality has a user manual doc added.
  • New PPL command checklist all confirmed.
  • API changes companion pull request created.
  • Commits are signed per the DCO using --signoff or -s.
  • Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@xinyual xinyual changed the title Addappend pipe [WIP]: support appendpipecommand in PPL Oct 20, 2025
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
Signed-off-by: xinyual <[email protected]>
@xinyual xinyual marked this pull request as ready for review October 23, 2025 05:28
@yuancu yuancu added the enhancement New feature or request label Oct 31, 2025
@yuancu yuancu changed the title [WIP]: support appendpipecommand in PPL Support appendpipecommand in PPL Oct 31, 2025
Copy link
Collaborator

@yuancu yuancu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review in progress

Swiddis
Swiddis previously approved these changes Oct 31, 2025
Signed-off-by: xinyual <[email protected]>
yuancu
yuancu previously approved these changes Nov 5, 2025
Copy link
Collaborator

@yuancu yuancu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@xinyual
Copy link
Contributor Author

xinyual commented Nov 5, 2025

@Swiddis could you please approve again?

while (childNode.getChild() != null
&& !childNode.getChild().isEmpty()
&& !(childNode.getChild().getFirst() instanceof Values)) {
childNode = (UnresolvedPlan) childNode.getChild().getFirst();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will there be more than 1 children in the subquery? Maybe adding assertion and throw exception to avoid this case if we don't support.

@yuancu yuancu merged commit 3a3c8c8 into opensearch-project:main Nov 12, 2025
55 of 56 checks passed
opensearch-trigger-bot bot pushed a commit that referenced this pull request Nov 12, 2025
* add demos

Signed-off-by: xinyual <[email protected]>

* add missing column

Signed-off-by: xinyual <[email protected]>

* add appendpipe poc

Signed-off-by: xinyual <[email protected]>

* slighty change syntax

Signed-off-by: xinyual <[email protected]>

* add unresolved plan

Signed-off-by: xinyual <[email protected]>

* add IT

Signed-off-by: xinyual <[email protected]>

* add tests

Signed-off-by: xinyual <[email protected]>

* remove useless ut

Signed-off-by: xinyual <[email protected]>

* fix conflict

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* apply spotless

Signed-off-by: xinyual <[email protected]>

* remove useless chaneg

Signed-off-by: xinyual <[email protected]>

* add explain IT

Signed-off-by: xinyual <[email protected]>

* fix IT

Signed-off-by: xinyual <[email protected]>

* apply spotless

Signed-off-by: xinyual <[email protected]>

* add doc

Signed-off-by: xinyual <[email protected]>

* optimize doc

Signed-off-by: xinyual <[email protected]>

* add UT

Signed-off-by: xinyual <[email protected]>

* fix IT due to performance change

Signed-off-by: xinyual <[email protected]>

* add multiply children check

Signed-off-by: xinyual <[email protected]>

---------

Signed-off-by: xinyual <[email protected]>
(cherry picked from commit 3a3c8c8)
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
LantaoJin pushed a commit that referenced this pull request Nov 12, 2025
* Support `appendpipe`command in PPL (#4602)

* add demos

Signed-off-by: xinyual <[email protected]>

* add missing column

Signed-off-by: xinyual <[email protected]>

* add appendpipe poc

Signed-off-by: xinyual <[email protected]>

* slighty change syntax

Signed-off-by: xinyual <[email protected]>

* add unresolved plan

Signed-off-by: xinyual <[email protected]>

* add IT

Signed-off-by: xinyual <[email protected]>

* add tests

Signed-off-by: xinyual <[email protected]>

* remove useless ut

Signed-off-by: xinyual <[email protected]>

* fix conflict

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* apply spotless

Signed-off-by: xinyual <[email protected]>

* remove useless chaneg

Signed-off-by: xinyual <[email protected]>

* add explain IT

Signed-off-by: xinyual <[email protected]>

* fix IT

Signed-off-by: xinyual <[email protected]>

* apply spotless

Signed-off-by: xinyual <[email protected]>

* add doc

Signed-off-by: xinyual <[email protected]>

* optimize doc

Signed-off-by: xinyual <[email protected]>

* add UT

Signed-off-by: xinyual <[email protected]>

* fix IT due to performance change

Signed-off-by: xinyual <[email protected]>

* add multiply children check

Signed-off-by: xinyual <[email protected]>

---------

Signed-off-by: xinyual <[email protected]>

* avoid to use get first

Signed-off-by: xinyual <[email protected]>

---------

Signed-off-by: xinyual <[email protected]>
asifabashar pushed a commit to asifabashar/sql that referenced this pull request Dec 10, 2025
* add demos

Signed-off-by: xinyual <[email protected]>

* add missing column

Signed-off-by: xinyual <[email protected]>

* add appendpipe poc

Signed-off-by: xinyual <[email protected]>

* slighty change syntax

Signed-off-by: xinyual <[email protected]>

* add unresolved plan

Signed-off-by: xinyual <[email protected]>

* add IT

Signed-off-by: xinyual <[email protected]>

* add tests

Signed-off-by: xinyual <[email protected]>

* remove useless ut

Signed-off-by: xinyual <[email protected]>

* fix conflict

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* remove useless code

Signed-off-by: xinyual <[email protected]>

* apply spotless

Signed-off-by: xinyual <[email protected]>

* remove useless chaneg

Signed-off-by: xinyual <[email protected]>

* add explain IT

Signed-off-by: xinyual <[email protected]>

* fix IT

Signed-off-by: xinyual <[email protected]>

* apply spotless

Signed-off-by: xinyual <[email protected]>

* add doc

Signed-off-by: xinyual <[email protected]>

* optimize doc

Signed-off-by: xinyual <[email protected]>

* add UT

Signed-off-by: xinyual <[email protected]>

* fix IT due to performance change

Signed-off-by: xinyual <[email protected]>

* add multiply children check

Signed-off-by: xinyual <[email protected]>

---------

Signed-off-by: xinyual <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 2.19-dev enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants