Difference between revisions of "PostgreSQL Adapter"
(→Current Status) |
|||
(13 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Admon/obsolete}} | ||
+ | |||
<big><big> PostgreSQL Adapter for NexJ </big></big> | <big><big> PostgreSQL Adapter for NexJ </big></big> | ||
{{NexJ_Express Index}} | {{NexJ_Express Index}} | ||
− | [[category: NexJ | + | [[category: NexJ Past Projects]] |
[[category: NexJ Express PostgreSQL]] | [[category: NexJ Express PostgreSQL]] | ||
+ | |||
== 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 13: | Line 16: | ||
− | === Supported Versions=== | + | === Supported PostgreSQL Versions=== |
− | * 8.4 | + | * 8.4+ |
− | + | ||
== Current Status== | == 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" | <!--{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black" | ||
Line 89: | Line 93: | ||
=== Phase 10: Code Review 2 (DONE) === | === Phase 10: Code Review 2 (DONE) === | ||
* Send code for review | * Send code for review | ||
+ | * | ||
=== Phase 11: Code Review 2 - Apply Changes (DONE) === | === Phase 11: Code Review 2 - Apply Changes (DONE) === | ||
Line 94: | Line 99: | ||
* [[PostgreSQL_Adapter_Project_-_Code_Review_2_Changes | Changes to be made]] | * [[PostgreSQL_Adapter_Project_-_Code_Review_2_Changes | Changes to be made]] | ||
− | === Phase 12: Code Review 3 === | + | === Phase 12: Code Review 3 (DONE) === |
* Sent code for code review 3 | * Sent code for code review 3 | ||
+ | * https://bitbucket.org/gbatumbya/postgresql_external/src/08cdedb9d071/ | ||
+ | |||
+ | === 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)=== | ||
+ | * Code review with framework architect | ||
+ | * https://bitbucket.org/gbatumbya/postgresql_external/src/6c9a7380c8fe | ||
+ | |||
+ | === Phase 16: Code Review 4 - Apply Changes (DONE) === | ||
+ | * Estimated Duration: Sep 9 - Sep 12 | ||
+ | * [[PostgreSQL_Adapter_Project_-_Code_Review_4_Changes | 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 - Apply Changes (DONE) === | ||
+ | |||
+ | === Phase 19: Code Review 6 === | ||
+ | * Date: Oct 13 | ||
+ | * Submitted for code review | ||
+ | * https://bitbucket.org/gbatumbya/postgresql_external/src/153aec847d54/ | ||
+ | |||
− | |||
== Project Repository == | == Project Repository == | ||
− | * URL for central repository of the project is: https://bitbucket.org/gbatumbya/ | + | * URL for central repository of the project is: https://bitbucket.org/gbatumbya/nexjexpress-postgresqladapter |
* Steps to work with the repository | * Steps to work with the repository | ||
Line 109: | Line 149: | ||
::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''': https://bitbucket.org/gbatumbya/ | + | ::: '''URL''': https://bitbucket.org/gbatumbya/nexjexpress-postgresqladapter |
<!-- | <!-- | ||
:3- The central repository's structure is: | :3- The central repository's structure is: | ||
Line 143: | Line 183: | ||
* [[PostgreSQL_Adapter-nexj/Resources#MySQL_Specifications | MySQL Specifications]] | * [[PostgreSQL_Adapter-nexj/Resources#MySQL_Specifications | MySQL Specifications]] | ||
* [[PostgreSQL_Adapter-nexj/Resources#PostgreSQL_-_MySQL_Compare | Postgre - MySQL Compare]] | * [[PostgreSQL_Adapter-nexj/Resources#PostgreSQL_-_MySQL_Compare | Postgre - MySQL Compare]] | ||
+ | |||
== Summary of Applied Research == | == Summary of Applied Research == | ||
* [[Research Findings - PostgreSQLAdapter]] | * [[Research Findings - PostgreSQLAdapter]] | ||
* [[Research Notes - PostgreSQLAdapter]] | * [[Research Notes - PostgreSQLAdapter]] |
Latest revision as of 19:31, 26 January 2014
PostgreSQL Adapter for NexJ
Contents
- 1 Project Goal
- 2 Current Status
- 3 Project Phases
- 3.1 Phase 1: Investigation (DONE)
- 3.2 Phase 2: Connect to PostgreSQL server (DONE)
- 3.3 Phase 3: PostgreSQLSchemaManager (DONE)
- 3.4 Phase 4: PostgreSQLAdapter (DONE)
- 3.5 Phase 5: PostgreSQL UnitTests and Optimization (DONE)
- 3.6 Phase 6: Megre Code with Latest Revision (DONE)
- 3.7 Phase 7: Test with NexJ Express Studio (DONE)
- 3.8 Phase 8: Code Review 1 - Meeting (DONE)
- 3.9 Phase 9: Code Review 1 - Apply Changes (DONE)
- 3.10 Phase 10: Code Review 2 (DONE)
- 3.11 Phase 11: Code Review 2 - Apply Changes (DONE)
- 3.12 Phase 12: Code Review 3 (DONE)
- 3.13 Phase 13: Code Review 3 - Apply Changes (DONE)
- 3.14 Phase 14: Integration Tests (DONE)
- 3.15 Phase 15: Code Review 4 (DONE)
- 3.16 Phase 16: Code Review 4 - Apply Changes (DONE)
- 3.17 Phase 17: Code Review 5 (DONE)
- 3.18 Phase 18: Code Review 5 - Apply Changes (DONE)
- 3.19 Phase 19: Code Review 6
- 4 Project Repository
- 5 Resources
- 6 Summary of Applied Research
Project Goal
Develop an adapter to enable NexJ Express model to interact with PostgreSQL database.
Contributors
Supported PostgreSQL Versions
- 8.4+
Current Status
- Completed (October 21, 2011)
- Get the last PostgreSQL adapter source code from http://mercurial.nexj.com/express.cgi/core
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)
- Estimated Duration: 3 weeks (Jan 17 - Feb 11, 2011)
- Extending SQLSchemaManager
Phase 4: PostgreSQLAdapter (DONE)
- Estimated Duration: 3 weeks (Feb 14 - 25, 2011)
- Extending SQLAdapter
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)
- Merge code with lastest revision from http://mercurial.nexj.com/express
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)
- Estimated Duration: Apr 20, 2011 - July 1, 2011
- Changes to be made
Phase 10: Code Review 2 (DONE)
- Send code for review
Phase 11: Code Review 2 - Apply Changes (DONE)
- Estimated Duration: July 7, 2011 - July 15, 2011
- Changes to be made
Phase 12: Code Review 3 (DONE)
- Sent code for code review 3
- https://bitbucket.org/gbatumbya/postgresql_external/src/08cdedb9d071/
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)
- Code review with framework architect
- https://bitbucket.org/gbatumbya/postgresql_external/src/6c9a7380c8fe
Phase 16: Code Review 4 - Apply Changes (DONE)
- Estimated Duration: Sep 9 - Sep 12
- 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 - Apply Changes (DONE)
Phase 19: Code Review 6
- Date: Oct 13
- Submitted for code review
- https://bitbucket.org/gbatumbya/postgresql_external/src/153aec847d54/
Project Repository
- URL for central repository of the project is: https://bitbucket.org/gbatumbya/nexjexpress-postgresqladapter
- 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:
Resources
- Downloads
Linux binaries http://www.openscg.org/se/postgresql/packages.jsp
- Debugging
- Intro
- Concept of Adapter [1]
- FOSSLC PostgreSQL
- Java
- Database & Persistence
- JDBC
- PostgreSQL Specifications
- MySQL Specifications
- Postgre - MySQL Compare