Обсуждение: [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.
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
https://docs.google.com/presentation/d/1cTnsUWiH6o0YH6MlZoPLofna3eNT3P3r9HSL9Dyte5U/edit?usp=sharing
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:
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=sharingCurrently 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.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