Difference between revisions of "PostgreSQL Adapter"

From CDOT Wiki
Jump to: navigation, search
Line 6: Line 6:
  
 
== Project Goal==
 
== Project Goal==
Develop an adapter to enable NexJ Express model to interact with PostgreSQL database
+
Develop an adapter to enable NexJ Express model to interact with PostgreSQL database.
  
 
===Contributors===
 
===Contributors===
Line 15: Line 15:
  
 
=== Supported PostgreSQL Versions===
 
=== Supported PostgreSQL Versions===
* 8.4
+
* 8.4+
* 9.0
 
  
  
 
== Current Status==
 
== Current Status==
* [[PostgreSQL_Adapter#Phase_19:_Code_Review_6 | Phase 19: Code Review 6]]
+
* '''Completed'''
 +
* Get the last PostgreSQL adapter source code from http://mercurial.nexj.com/express.cgi/core
  
 
<!--{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black"
 
<!--{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black"

Revision as of 13:32, 24 October 2011

PostgreSQL Adapter for NexJ


Project Goal

Develop an adapter to enable NexJ Express model to interact with PostgreSQL database.

Contributors


Supported PostgreSQL Versions

  • 8.4+


Current Status


Project Phases

Phase 1: Investigation (DONE)

  • Get requirements from NexJ (Meeting on Friday Nov 5th)
  • Walk-through the code
  • Familiarization with PostgreSQL

Phase 2: Connect to PostgreSQL server (DONE)

Phase 3: PostgreSQLSchemaManager (DONE)

Phase 4: PostgreSQLAdapter (DONE)

Phase 5: PostgreSQL UnitTests and Optimization (DONE)

  • Estimated Duration: 2 weeks (Feb 28 - Mar 11, 2016)
  • Add database specific tests fostr PostgreSQL
    test for required contrib scripts
    test for custom blob read & write functions
  • Add PostgreSQL specific optimization

Phase 6: Megre Code with Latest Revision (DONE)

Phase 7: Test with NexJ Express Studio (DONE)

  • Estimated duration: Mar 7- Apr 14, 2011
  • Run model in Express studio using the postgresql adapter
  • create scripts for database initialization, creation and dumping
  • create scripts for JBoss
  • Deploy to JBoss

Phase 8: Code Review 1 - Meeting (DONE)

  • Date: Apr 20,2011
  • Meet with NexJ Developer to review code

Phase 9: Code Review 1 - Apply Changes (DONE)

Phase 10: Code Review 2 (DONE)

  • Send code for review

Phase 11: Code Review 2 - Apply Changes (DONE)

Phase 12: Code Review 3 (DONE)

Phase 13: Code Review 3 - Apply Changes (DONE)

  • Upgrade to lastest 7.1 branch
  • Create Statement and PreparedStatementProxy
  • Create PostgreSQLPreparedStatementProxy:
    • implement set/getQueryTimeout
    • move custom timeout code into this proxy
  • Override prepareStatement in PostgreSQL to return PostgreSQLPreparedStatementProxy
  • Implement implicit save points for statements within a transaction block
  • Modify readSchema to use addColumn for reading columns from the database
    • Remove MSSQL and Oracle specific code from addColumn
    • Override addColumn in PostgreSQL for text, bytea and lo types

Phase 14: Integration Tests (DONE)

  • Run Integration tests against the Adapter

Phase 15: Code Review 4 (DONE)

Phase 16: Code Review 4 - Apply Changes (DONE)

Phase 17: Code Review 5 (DONE)

Phase 18: Code Review 5 - Apply Changes (DONE)

Phase 19: Code Review 6


Project Repository

  • Steps to work with the repository
1- Follow the instructions to create the NexJ Express workspace .
2- After creating 'ws' directory,
open Eclipse and
click on File -> Import -> Mercurial -> Clone Existing Mercurial Repository
Enter this information:
URL: https://bitbucket.org/gbatumbya/postgresql_external


Resources

  • Downloads

Linux binaries http://www.openscg.org/se/postgresql/packages.jsp

  • Debugging
Unit Testing for non Default SQL Adapter
  • Intro
Concept of Adapter [1]
FOSSLC PostgreSQL


Summary of Applied Research