hawq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lisakowen <...@git.apache.org>
Subject [GitHub] incubator-hawq-docs pull request #77: HAWQ-1216 - clean up plpython docs
Date Wed, 04 Jan 2017 15:48:36 GMT
Github user lisakowen commented on a diff in the pull request:

    https://github.com/apache/incubator-hawq-docs/pull/77#discussion_r94606714
  
    --- Diff: plext/using_plpython.html.md.erb ---
    @@ -2,374 +2,608 @@
     title: Using PL/Python in HAWQ
     ---
     
    -This section contains an overview of the HAWQ PL/Python language extension.
    +This section provides an overview of the HAWQ PL/Python procedural language extension.
     
     ## <a id="abouthawqplpython"></a>About HAWQ PL/Python 
     
    -PL/Python is a loadable procedural language. With the HAWQ PL/Python extension, you can
write HAWQ user-defined functions in Python that take advantage of Python features and modules
to quickly build robust database applications.
    +PL/Python is embedded in your HAWQ product distribution or within your HAWQ build if
you chose to enable it as a build option. 
    +
    +With the HAWQ PL/Python extension, you can write user-defined functions in Python that
take advantage of Python features and modules, enabling you to quickly build robust HAWQ database
applications.
     
     HAWQ uses the system Python installation.
     
     ### <a id="hawqlimitations"></a>HAWQ PL/Python Limitations 
     
    -- HAWQ does not support PL/Python triggers.
    +- HAWQ does not support PL/Python trigger functions.
     - PL/Python is available only as a HAWQ untrusted language.
      
     ## <a id="enableplpython"></a>Enabling and Removing PL/Python Support 
     
    -To use PL/Python in HAWQ, you must either use a pre-compiled version of HAWQ that includes
PL/Python or specify PL/Python as a build option when compiling HAWQ.
    +To use PL/Python in HAWQ, you must either install a binary version of HAWQ that includes
PL/Python or specify PL/Python as a build option when compiling HAWQ from source.
    +
    +PL/Python user-defined functions (UDFs) are registered at the database level. To create
and run a PL/Python UDF on a database, you must register the PL/Python language with the database.

    +
    +On every database to which you want to install and enable PL/Python:
    +
    +1. Connect to the database using the `psql` client:
    +
    +    ``` shell
    +    $ psql -d <dbname>
    +    ```
    +
    +    Replace \<dbname\> with the name of the target database.
    +
    +2. Run the following SQL command to register the PL/Python procedural language; you must
be a database superuser to register new languages:
    +
    +    ``` sql
    +    dbname=# CREATE LANGUAGE plpythonu;
    +    ```
     
    -To create and run a PL/Python user-defined function (UDF) in a database, you must register
the PL/Python language with the database. On every database where you want to install and
enable PL/Python, connect to the database using the `psql` client.
    +    **Note**: `plpythonu` is installed as an *untrusted* language; it offers no way of
restricting what you can program in UDFs created with the language.
     
    --- End diff --
    
    yes, it is kind of confusing.  the operations one can perform with trusted languages are
restricted; unprivileged database users can be permitted to create and run UDFs created in
these languages.  untrusted languages are the opposite - you can do pretty much anything,
and i think are restricted to superusers.  (will verify.)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message