Skip to content

Commit

Permalink
Add details about what needs to be built
Browse files Browse the repository at this point in the history
  • Loading branch information
Joshua Tolley committed Nov 6, 2009
1 parent db096b7 commit 016cd60
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion IDEAS
Expand Up @@ -20,4 +20,22 @@ Steps to follow from the Parrot side:

* Parrot Core Embedding Docs: http://docs.parrot.org/parrot/latest/html/docs/pdds/draft/pdd10_embedding.pod.html


Things we'll need to build:
1) A C-based shared object containing at minimum a "language handler" function.
This is what PostgreSQL calls when trying to execute a PL/Parrot function, and
it's responsible for invoking the interpreter. This will probably be called
plparrot.so

2) Some sort of module PL/Parrot functions can import which will allow them to
talk to the database.

There will be some interesting interaction, perhaps, between these two modules.
The handler function is the only one that will have capacity to talk to the
database (barring opening a new connection to the database from Parrot, but
that would obviate the benefits of a procedural language). Presumably the .so
will need to export functions to the module to allow it to get to the database.

The first step in all this is to get the handler function working, so you can
run Parrot routines that don't access the database, you can pass them data, and
they can return data. Second will be to make the database interaction module
work.

0 comments on commit 016cd60

Please sign in to comment.