Difference between revisions of "PostgreSQL Adapter Project - Extending SQLAdapter"
(40 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [[category: NexJ Express PostgreSQL]] | + | {{Admon/obsolete}} |
+ | |||
+ | [[category: NexJ Express PostgreSQL]][[category: NexJ Express Development]][[category: NexJ Express]] | ||
+ | ==Summary== | ||
* Extend SQLAdapter to support PostgreSQL.<br/> | * Extend SQLAdapter to support PostgreSQL.<br/> | ||
− | * SQLAdapter is used | + | * SQLAdapter is used to manipulate data in existing schemas (DML)<br/> |
− | + | ==Tasks== | |
− | |||
− | == | ||
{| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;" | {| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;" | ||
|- | |- | ||
Line 13: | Line 14: | ||
| colspan="3" |'''Implement''' | | colspan="3" |'''Implement''' | ||
|- | |- | ||
− | |appendIdentityColumn | + | |<code>appendIdentityColumn</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendIdentityPrefix | + | |<code>appendIdentityPrefix</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendIdentitySuffix | + | |<code>appendIdentitySuffix</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendIdentityValue | + | |<code>appendIdentityValue</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendInfixHint | + | |<code>appendInfixHint</code> <br/> PostgreSQL doesn't support HINTS [http://xzilla.net/blog/2011/Feb/Why-the-F%25-Doesnt-Postgres-Have-Hints!!.html ] |
− | | | + | | N/A |
− | | | + | | N/A |
|- | |- | ||
− | |appendLiteral | + | |<code>appendLiteral</code> |
− | | | + | |DONE |
− | | | + | | DONE |
|- | |- | ||
− | | | + | |a<code>ppendMatchStatement</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendNoRowsBlock | + | |<code>appendNoRowsBlock</code> <br/> NOTE: Cannot use conditional statement outside<br/> stored procedure |
− | | | + | | N/A |
− | | | + | | N/A |
|- | |- | ||
− | |appendNoRowsEnd | + | |<code>appendNoRowsEnd</code> <br/>see note above |
− | | | + | | N/A |
− | | | + | | N/A |
|- | |- | ||
− | |appendNoRowsStart | + | |<code>appendNoRowsStart</code> <br/> see note above |
− | | | + | | N/A |
− | | | + | | N/A |
|- | |- | ||
− | |appendPrefixHint | + | |<code>appendPrefixHint</code> |
− | | | + | | N/A |
− | | | + | | N/A |
|- | |- | ||
− | |appendStringLengthPrefix | + | |<code>appendStringLengthPrefix</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendSubstringPrefix | + | |<code>appendSubstringPrefix</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendSuffixHint | + | |<code>appendSuffixHint</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |appendTableHint | + | |<code>appendTableHint</code> |
− | | | + | | N/A |
− | | | + | | N/A |
|- | |- | ||
− | |appendTypeConversion | + | |<code>appendTypeConversion</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |bindIdentity | + | |<code>bindIdentity</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |createSchemaManager | + | |<code>createSchemaManager</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |getDuplicateKeyName | + | |<code>getDuplicateKeyName</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |getIdentityValue | + | |<code>getIdentityValue</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |getMaxTime | + | |<code>getMaxTime</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |getMinTime | + | |<code>getMinTime</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |getTestSQL | + | |<code>getTestSQL</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |indexNameMatches | + | |<code>indexNameMatches</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isBatchSupported | + | |<code>isBatchSupported</code> |
− | | | + | |DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isBatchUpdateCountSupported | + | |<code>isBatchUpdateCountSupported</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isBatchable | + | |<code>isBatchable</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isDateRangeException | + | |<code>isDateRangeException</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isDeadlockException | + | |<code>isDeadlockException</code> |
− | | | + | | DONE ? |
− | | | + | | DONE |
|- | |- | ||
− | |isDuplicateKeyException | + | |<code>isDuplicateKeyException</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isLiteral | + | |<code>isLiteral</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isLockTimeoutException | + | |<code>isLockTimeoutException</code> |
− | | | + | | DONE ? |
− | | | + | | DONE |
|- | |- | ||
− | |isQueryTimeoutException | + | |<code>isQueryTimeoutException</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
− | |isUnicode | + | |<code>isUnicode</code> |
− | | | + | | DONE |
− | | | + | | DONE |
|- | |- | ||
| colspan="3" |'''Override''' | | colspan="3" |'''Override''' | ||
+ | |- | ||
+ | | <code>appendLiteral(StringBuffer buf, String sValue)</code> | ||
+ | |DONE | ||
+ | | DONE | ||
|} | |} | ||
==Resources== | ==Resources== | ||
+ | [http://www.postgresql.org/docs/9.0/interactive/sql-syntax-lexical.html String Literals] <br> | ||
+ | [http://www.postgresql.org/docs/9.0/static/catalog-pg-database.html Database Encoding] <br> | ||
+ | [http://www.postgresql.org/docs/9.0/static/errcodes-appendix.html Error Codes] <br> |
Latest revision as of 19:32, 26 January 2014
Summary
- Extend SQLAdapter to support PostgreSQL.
- SQLAdapter is used to manipulate data in existing schemas (DML)
Tasks
Task | Status | Test Status |
---|---|---|
Implement | ||
appendIdentityColumn
|
DONE | DONE |
appendIdentityPrefix
|
DONE | DONE |
appendIdentitySuffix
|
DONE | DONE |
appendIdentityValue
|
DONE | DONE |
appendInfixHint PostgreSQL doesn't support HINTS [1] |
N/A | N/A |
appendLiteral
|
DONE | DONE |
appendMatchStatement
|
DONE | DONE |
appendNoRowsBlock NOTE: Cannot use conditional statement outside stored procedure |
N/A | N/A |
appendNoRowsEnd see note above |
N/A | N/A |
appendNoRowsStart see note above |
N/A | N/A |
appendPrefixHint
|
N/A | N/A |
appendStringLengthPrefix
|
DONE | DONE |
appendSubstringPrefix
|
DONE | DONE |
appendSuffixHint
|
DONE | DONE |
appendTableHint
|
N/A | N/A |
appendTypeConversion
|
DONE | DONE |
bindIdentity
|
DONE | DONE |
createSchemaManager
|
DONE | DONE |
getDuplicateKeyName
|
DONE | DONE |
getIdentityValue
|
DONE | DONE |
getMaxTime
|
DONE | DONE |
getMinTime
|
DONE | DONE |
getTestSQL
|
DONE | DONE |
indexNameMatches
|
DONE | DONE |
isBatchSupported
|
DONE | DONE |
isBatchUpdateCountSupported
|
DONE | DONE |
isBatchable
|
DONE | DONE |
isDateRangeException
|
DONE | DONE |
isDeadlockException
|
DONE ? | DONE |
isDuplicateKeyException
|
DONE | DONE |
isLiteral
|
DONE | DONE |
isLockTimeoutException
|
DONE ? | DONE |
isQueryTimeoutException
|
DONE | DONE |
isUnicode
|
DONE | DONE |
Override | ||
appendLiteral(StringBuffer buf, String sValue)
|
DONE | DONE |