Forum OpenACS Development: Response to Overview of PostgreSQL's limitations

Collapse
Posted by Dan Wickstrom on
postgresql's pl/sql functions are pretty good at emulating most of the oracle functionality, but they do have a couple of serious limitations:

1. max number of args is 16.  This used to be only 8 for pg versions before 7.0.  A lot of the pl/sql functions in acs 4.0 have a large number of input arguements, but so far the largest number of input args that I have encountered is 16.

2. if any of the args are null, the function short-circuits and returns a null.

3. an pl/sql function is an implicit transaction.  no transaction control is allowed inside of a pl/sql function.  Either the whole function completes correctly, and is committed, or the whole thing is rolled back.

4. pg doesn't support packages, so we'll need a naming convention to avoid namespace conflicts.  Also pg truncates names greater than a certain length, so it might be difficult to do something simple like substitute a '_' for a '.' when porting the package specific function calls.