Thread

  1. [GSoC 2021 project summary] PL/Julia

    Konstantina Skovola <konskov@gmail.com> — 2021-08-24T08:25:53Z

    Hello hackers,
    
    Here is a summary of what was implemented over the summer in PL/Julia:
    
    1. Added support for more datatypes as input and output:
    NULL, boolean, numeric types, composite types, arrays of base types can now
    be passed as input arguments to PL/Julia functions. Users can also return
    the above, or sets of the above from PL/Julia UDFs.
    2. Added trigger support - users can write trigger functions in PL/Julia
    3. Added event trigger support
    4. Added support for the DO command
    5. Added functions for database access from PL/Julia:
    spi_exec(query, limit) and spi_exec(query) for SQL-statement execution,
    spi_fetchrow(cursor) and spi_cursor_close(cursor) to return rows and to
    close the cursor respectively,
    spi_prepare(query, argtypes) to prepare and save an execution plan and
    spi_exec_prepared(plan, args, limit) to execute a previously prepared plan.
    
    A brief presentation of the above
    https://docs.google.com/presentation/d/1cTnsUWiH6o0YH6MlZoPLofna3eNT3P3r9HSL9Dyte5U/edit?usp=sharing
    Documentation with use examples
    https://gitlab.com/konskov/pljulia/-/blob/main/README.md
    
    Currently the extension works for version 13 and Julia versions >= 1.6
    (Thanks to Imre Samu for testing!)
    
    I hope you find it interesting.
    
    Regards,
    Konstantina
    
  2. Re: [GSoC 2021 project summary] PL/Julia

    Dave Cramer <davecramer@postgres.rocks> — 2021-08-24T11:31:49Z

    Hi Konstantina,
    
    Very cool! I was actually looking  at doing this as we also have PL/R.
    
    Dave Cramer
    
    
    
    On Tue, 24 Aug 2021 at 04:26, Konstantina Skovola <konskov@gmail.com> wrote:
    
    > Hello hackers,
    >
    > Here is a summary of what was implemented over the summer in PL/Julia:
    >
    > 1. Added support for more datatypes as input and output:
    > NULL, boolean, numeric types, composite types, arrays of base types can
    > now be passed as input arguments to PL/Julia functions. Users can also
    > return the above, or sets of the above from PL/Julia UDFs.
    > 2. Added trigger support - users can write trigger functions in PL/Julia
    > 3. Added event trigger support
    > 4. Added support for the DO command
    > 5. Added functions for database access from PL/Julia:
    > spi_exec(query, limit) and spi_exec(query) for SQL-statement execution,
    > spi_fetchrow(cursor) and spi_cursor_close(cursor) to return rows and to
    > close the cursor respectively,
    > spi_prepare(query, argtypes) to prepare and save an execution plan and
    > spi_exec_prepared(plan, args, limit) to execute a previously prepared plan.
    >
    > A brief presentation of the above
    >
    > https://docs.google.com/presentation/d/1cTnsUWiH6o0YH6MlZoPLofna3eNT3P3r9HSL9Dyte5U/edit?usp=sharing
    > Documentation with use examples
    > https://gitlab.com/konskov/pljulia/-/blob/main/README.md
    >
    > Currently the extension works for version 13 and Julia versions >= 1.6
    > (Thanks to Imre Samu for testing!)
    >
    > I hope you find it interesting.
    >
    > Regards,
    > Konstantina
    >
    
  3. Re: [GSoC 2021 project summary] PL/Julia

    Fabrízio de Royes Mello <fabriziomello@gmail.com> — 2021-08-24T11:59:55Z

    On Tue, Aug 24, 2021 at 5:26 AM Konstantina Skovola <konskov@gmail.com>
    wrote:
    >
    > Hello hackers,
    >
    > Here is a summary of what was implemented over the summer in PL/Julia:
    >
    > 1. Added support for more datatypes as input and output:
    > NULL, boolean, numeric types, composite types, arrays of base types can
    now be passed as input arguments to PL/Julia functions. Users can also
    return the above, or sets of the above from PL/Julia UDFs.
    > 2. Added trigger support - users can write trigger functions in PL/Julia
    > 3. Added event trigger support
    > 4. Added support for the DO command
    > 5. Added functions for database access from PL/Julia:
    > spi_exec(query, limit) and spi_exec(query) for SQL-statement execution,
    > spi_fetchrow(cursor) and spi_cursor_close(cursor) to return rows and to
    close the cursor respectively,
    > spi_prepare(query, argtypes) to prepare and save an execution plan and
    > spi_exec_prepared(plan, args, limit) to execute a previously prepared
    plan.
    >
    > A brief presentation of the above
    >
    https://docs.google.com/presentation/d/1cTnsUWiH6o0YH6MlZoPLofna3eNT3P3r9HSL9Dyte5U/edit?usp=sharing
    > Documentation with use examples
    > https://gitlab.com/konskov/pljulia/-/blob/main/README.md
    >
    > Currently the extension works for version 13 and Julia versions >= 1.6
    (Thanks to Imre Samu for testing!)
    >
    
    Awesome Konstantina, it was a pleasure working with you in this project.
    
    Looking forward to your next contributions to PostgreSQL.
    
    Regards,
    
    --
       Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
       PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento