[GSoC 2021 project summary] PL/Julia

From: Konstantina Skovola <konskov(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: [GSoC 2021 project summary] PL/Julia
Date: 2021-08-24 08:25:53
Message-ID: CAMoX=-mBGnDmZ984ekveLwwcJGE0U04fwSnSqqVSiQq5h4eUGg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2021-08-24 08:28:24 Re: Mark all GUC variable as PGDLLIMPORT
Previous Message Peter Smith 2021-08-24 07:46:37 Re: row filtering for logical replication