[GSoC 2021 project summary] PL/Julia
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
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:
Show quoted text
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.mdCurrently 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
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.mdCurrently 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