Difference between revisions of "PostgreSQL Adapter"

From CDOT Wiki
Jump to: navigation, search
Line 134: Line 134:
 
* Date: Oct 13
 
* Date: Oct 13
 
* Submitted for code review
 
* Submitted for code review
* https://bitbucket.org/gbatumbya/postgresql_external/changeset/153aec847d54
+
* https://bitbucket.org/gbatumbya/postgresql_external/src/153aec847d54/
  
  

Revision as of 20:19, 15 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
  • 9.0


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