Why?

I think we want to eventually explore support for MySQL, but also it'd be nice to really have these things cleaned up as well.

Steps:

  1. Determine performance critical calls and calls which may iterate over large result sets.  These should be ran on the database, whether in a stored procedure or a java application.
    • Like SPStream and SPProcessInstance methods, along with any helpers for these classes.
  2. Code which is called by DatabaseUtilities that doesn't conform to 1 should just be moved to DatabaseUtilities
  3. Clean up both DBU and stored procedures, separate out the SQL from the code, aim to reduce the LoC in DBU and Stored procedure classes
  4. Eventually move away from oracle's jpub remote calls to something else (autocommit needs to be off), we still want SPs on the DB server, but we might want to move away from Oracle sometime in the future.
  5. After this, we'll also want to move towards handling more concurrency issues in code vs. in the database to reduce the likelihood of locks I think.
  • No labels