Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Make it work with PL/Container #223

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Make it work with PL/Container #223

wants to merge 6 commits into from

Conversation

xuebinsu
Copy link
Contributor

@xuebinsu xuebinsu commented Oct 27, 2023

Previously, PL/Python3 is the only language handler we support. While
it is easy to work with, only SUPERUSER can use it. This greatly
limits its use cases.

This patch overcomes the limitation by adding
PL/Container as
another supported language handler. Unlike PL/Python, PL/Container
strives to be a TRUSTED language. With PL/Container, all users
will be able to create and execute any Python functions in database.

The implementation is based on plcontainer_apply(). It is a
higher-order UDF that applies a given UDF to a table (aka DataFrame
in GreenplumPython). Compared to conventional way to call UDFs, it

  • supports batching many input rows and pass the whole batch to a UDF.
    This can greatly improve performance compared to passing one row at
    a time.
  • the overall table size can be >= 1 GB. This is not possible with
    array_agg().

@xuebinsu xuebinsu changed the title Support PL/Container Make it work with PL/Container Oct 27, 2023
@xuebinsu
Copy link
Contributor Author

This PR is based on PR https://github.com/greenplum-db/plcontainer/pull/696 and should be merged after that.

Xuebin Su and others added 5 commits October 29, 2023 21:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants