Difference between revisions of "PostgreSQL Adapter"

From CDOT Wiki
Jump to: navigation, search
Line 11: Line 11:
  
 
== Current Status==
 
== Current Status==
*Phase 6
+
*Phase 8
*Phase 7
+
 
 
<!--{|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"
 
!align="left" style="background-color:SteelBlue; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"| Dec 2010  
 
!align="left" style="background-color:SteelBlue; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"| Dec 2010  
Line 62: Line 62:
 
* Add PostgreSQL specific optimization
 
* Add PostgreSQL specific optimization
  
===Phase 6: Test with NexJ Express Studio  ===
+
===Phase 6: Test with NexJ Express Studio (DONE) ===
* Estimated duration: Mar 7- Apr 15, 2011
+
* Estimated duration: Mar 7- Apr 14, 2011
 
* Run model in Express studio using the postgresql adapter
 
* Run model in Express studio using the postgresql adapter
 
* create scripts for database initialization, creation and dumping
 
* create scripts for database initialization, creation and dumping
Line 69: Line 69:
 
* Deploy to JBoss
 
* Deploy to JBoss
  
=== Phase 7: Megre Code with Latest Revision  ===
+
=== Phase 7: Megre Code with Latest Revision (DONE) ===
 
* Merge code with lastest revision from http://mercurial.nexj.com/express
 
* Merge code with lastest revision from http://mercurial.nexj.com/express
  
 
=== Phase 8: Code Review ===
 
=== Phase 8: Code Review ===
* Estimated Duration:  
+
* Estimated Duration: Apr 14,2011 -
 
* Send Code to NexJ For Review
 
* Send Code to NexJ For Review
  
 
== Project Repository ==
 
== Project Repository ==
* URL for central repository of the project is: http://liberia.proximity.on.ca:81/
+
* URL for central repository of the project is: https://bitbucket.org/gbatumbya/postgresql_external
  
 
* Steps to work with the repository
 
* Steps to work with the repository
Line 86: Line 86:
 
::click on '''File -> Import -> Mercurial -> Clone Existing Mercurial Repository'''
 
::click on '''File -> Import -> Mercurial -> Clone Existing Mercurial Repository'''
 
:: Enter this information:
 
:: Enter this information:
::: '''URL''': ssh://liberia.proximity.on.ca/mercurial/postgreSQL/core  
+
::: '''URL''': ssh://liberia.proximity.on.ca/mercurial/postgreSQL/core.external
 
::: '''Username''': developer
 
::: '''Username''': developer
 
::: '''Clone directory name''': core
 
::: '''Clone directory name''': core

Revision as of 17:45, 14 April 2011

PostgreSQL Adapter for NexJ

Project Goal

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

Supported Versions

  • 8.4
  • 9.0

Current Status

  • Phase 8


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: 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 7: Megre Code with Latest Revision (DONE)

Phase 8: Code Review

  • Estimated Duration: Apr 14,2011 -
  • Send Code to NexJ For Review

Project Repository

  • Steps to work with the repository
1- Follow the instructions to create the NexJ Express workspace from the manual.
2- After creating 'ws' directory,
open Eclipse and
click on File -> Import -> Mercurial -> Clone Existing Mercurial Repository
Enter this information:
URL: ssh://liberia.proximity.on.ca/mercurial/postgreSQL/core.external
Username: developer
Clone directory name: core
3- The central repository's structure is:
Main branch called 'default'
New branch or branches with this naming convention: 'wsComitter' e.g. 'wsMinoo'
4- After cloning the project, follow these steps to add a new branch with your user name:
First make sure the active branch is 'default'. Notice the top of the Package Explorer e.g. core[5:b8b2f102343@default(tip)]
Right click on 'core' in the Package Explorer
Click on 'Team' -> Add Branch
Enter the branch name in the box -> Finish
Enter the commit message -> OK
Check the 'Force Push' if applicable.
Now the branch name at the top of Package Explorer is changed to the new branch name.
5- To switch to a different branch, choose 'Switch' instead of 'Add Branch'
  • NOTE! To avoid any conflict, do the 'Pull' every day and before any push.
  • NOTE! First just 'Commit' changesets and do not 'Push' them until the end of the day or the time you are confident by latest changes to the code, then 'Push' them all at once and 'Merge' them with the 'default' branch in central repository.

Resources

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

Summary of Applied Research