1,234
edits
Changes
no edit summary
{{Admon/obsolete}}
<big><big> PostgreSQL Adapter for NexJ </big></big>
{{NexJ_Express Index}}
[[category: NexJ Current Past Projects]][[category: NexJ Express PostgreSQL]]
== Project Goal==
== Current Status==
* '''Completed''' (October 21, 2011)* 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"
!align="left" style="background-color:SteelBlue; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"| Dec 2010
|-
* Application is now connected to the Postgre database.
|}
==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) ===* [[NexJ_Express_Connecting_to_PostgreSQL| Connect to PostgreSQL server]]
=== Phase 23: Connect to PostgreSQL server PostgreSQLSchemaManager (DONE) ===Install the Server and get NexJ Express Server to communicate to the server* Estimated Duration: 3 weeks (Jan 17 - Feb 11, 2011)* [[PostgreSQL_AdapterPostgreSQL Adapter-nexj/test-env extendingSchemaManager | Connect to PostgreSQL serverExtending SQLSchemaManager ]]
=== Phase 34: PostgreSQLSchemaManager PostgreSQLAdapter (DONE)===Extend SQLSchemaManager to support PostgreSQL.<br/>SQLSchemaManager is used in maintaining database schemas * Estimated Duration: 3 weeks (DDLFeb 14 - 25, 2011)* [[PostgreSQL_Adapter-nexj/extendingSQLAdapter | Extending SQLAdapter ]]
=== Phase 45: PostgreSQLAdapter PostgreSQL UnitTests and Optimization (DONE) ===Extend SQLAdapter to support * 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 PostgreSQLspecific optimization ===Phase 6: Megre Code with Latest Revision (DONE) ===* Merge code with lastest revision from http://mercurial.nexj.<brcom/>express ===Phase 7: Test with NexJ Express Studio (DONE) ===SQLAdapter is used * Estimated duration: Mar 7- Apr 14, 2011* Run model in manipulate data in existing schemas <br/>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 39: Test first design Code Review 1 - Apply Changes (DONE) ===Running [[PostgreSQL_Adapter* Estimated Duration: Apr 20, 2011 -nexj/alltests | AllTests.java]]July 1, 2011* 1- [[PostgreSQL_AdapterPostgreSQL_Adapter_Project_-nexj/scripts _Code_Review_1_Changes | Create a PostgreSQL database through some scriptsChanges to be made]] === Phase 10: Code Review 2 (DONE) ===* Send code for review* === Phase 11: Code Review 2- Working inside Schema 'test'Apply Changes (DONE) ===* Estimated Duration: 2.aJuly 7, 2011 - July 15, 2011* [[ PostgreSQL_Adapter-nexj/schemaPostgreSQL_Adapter_Project_-init _Code_Review_2_Changes | Initilizaing the SQL EnvironmentChanges to be made]] === Phase 12: Code Review 3 (DONE) ===* Sent code for code review 3* https: 2//bitbucket.borg/gbatumbya/postgresql_external/src/08cdedb9d071/ === Phase 13: Code Review 3 - [[ PostgreSQL_Adapter-nexjApply Changes (DONE) ===* Upgrade to lastest 7.1 branch* Create Statement and PreparedStatementProxy* Create PostgreSQLPreparedStatementProxy:** implement set/schema-ddl | Working 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)===* Code review with Database Structure framework architect* https://bitbucket.org/gbatumbya/postgresql_external/src/6c9a7380c8fe === Phase 16: Code Review 4 - DDL ]]Apply Changes (DONE) ===* Estimated Duration: 2.cSep 9 - Sep 12* [[ PostgreSQL_Adapter-nexj/schemaPostgreSQL_Adapter_Project_-dml _Code_Review_4_Changes | Working with Data in a Table - DML Changes to be made]]-->=== Phase 17: Code Review 5 (DONE) ===* Submitted code for review on Sep 20.* https://bitbucket.org/gbatumbya/postgresql_external/src/a0d10ef7cdbe/
===Phase 18: Code Review 5: Test properties specific to PostgreSQL - Apply Changes (DONE) ===
=== Phase 19: Code Review 6 ===* Add test cases that are specific to PostgreSQL databaseDate: Oct 13* Submitted for code review* https://bitbucket.org/gbatumbya/postgresql_external/src/153aec847d54/
== Project Repository ==
* URL for central repository of the project is: httphttps://liberiabitbucket.proximity.on.ca:81org/gbatumbya/nexjexpress-postgresqladapter
* Steps to work with the repository
:1- Follow the [https://www.projects.openhealthtools.org/sf/docman/do/downloadDocument/projects.oht_aip/docman.root.nexj_studio_express_v7_1_113_0/doc1783/1 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 these this information to clone from repository:::: '''URL''': sshhttps://liberia.proximity.onbitbucket.caorg/mercurialgbatumbya/postgreSQL/core nexjexpress-postgresqladapter:: '''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'Branches for
: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)]''
* '''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 ==
* Downloads
Linux binaries http://www.openscg.org/se/postgresql/packages.jsp
* Debugging
:[[Run_Junit_Tests_For_Non_Default_SQL_Adapter | Unit Testing for non Default SQL Adapter]]
:
* Intro
:Concept of Adapter [http://www.vogella.de/articles/DesignPatternAdapter/article.html]
* [[PostgreSQL_Adapter-nexj/Resources#MySQL_Specifications | MySQL Specifications]]
* [[PostgreSQL_Adapter-nexj/Resources#PostgreSQL_-_MySQL_Compare | Postgre - MySQL Compare]]
== Summary of Applied Research ==
* [[Research Findings - PostgreSQLAdapter]]
* [[Research Notes - PostgreSQLAdapter]]