Difference between revisions of "PostgreSQL Adapter Project - Code Review 1 Changes"
Line 1: | Line 1: | ||
+ | [[category: NexJ Express PostgreSQL]][[category: NexJ Express Development]] [[category: NexJ Express]] | ||
+ | |||
=General Research= | =General Research= | ||
{| 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 27: | Line 29: | ||
|- | |- | ||
| Does postgreSQL have constants for boolean values? | | Does postgreSQL have constants for boolean values? | ||
+ | | | ||
+ | |- | ||
+ | | Does posrgreSQL jdbc driver support returning metadata in UpperCase | ||
+ | | | ||
| | | | ||
+ | |- | ||
+ | | Does renaming a column cause error if a view depends on it? | ||
+ | | | ||
+ | |- | ||
+ | | Does lo.sql unlink large objects when table is truncated? | ||
+ | | | ||
|} | |} | ||
Line 108: | Line 120: | ||
| | | | ||
|} | |} | ||
+ | |||
+ | |||
==PostgreSQLSchemaManager== | ==PostgreSQLSchemaManager== | ||
+ | {| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;" | ||
+ | |- | ||
+ | ! Task | ||
+ | ! Status | ||
+ | |- | ||
+ | |dropTable | ||
+ | * Remove <code>if exists</code> | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |getGUIDExpr | ||
+ | *Implement solution for x64 versions | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |remove trigger and procedure suffix $uid | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |getDefaultLongspace, getDefaultTablespace, getDefaultIndexspace | ||
+ | * move to SQLAdapter | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |getPrimaryKeys | ||
+ | * check if override is needed | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |generateIndexName | ||
+ | * Check if toLowerCase is needed | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |appendColumnType | ||
+ | * check if serial and bigserial have limits when compared to using sequences | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |Refactor creating and deleting full-text search indexes | ||
+ | * createFullTextIndex | ||
+ | ** createFullTextSearchProcedure | ||
+ | ** createFullTextSearchTrigger | ||
+ | * dropFullTextIndex | ||
+ | ** dropFullTextSearchProcedure | ||
+ | ** dropFullTextSearchTrigger | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |Refactor checking for BLOB column to isBLOB | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |Refactor checking for full-text search index on a column to getFullTextIndex | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |alterColumn - use this logic | ||
+ | * execute SQL to drop all dependent view/s for the column's table | ||
+ | * alter the column | ||
+ | * create the deleted view/s | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |renameColumn - use this logic for | ||
+ | * check if column has full-text search index | ||
+ | * rename the column | ||
+ | * rename column$ | ||
+ | * drop full-text search trigger | ||
+ | * create full-text search trigger | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |dropIndex | ||
+ | * call super | ||
+ | * if index is TEXT index | ||
+ | ** drop column$ | ||
+ | ** drop full-text search trigger | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |appendColumnAlternation | ||
+ | |} | ||
+ | |||
=Scripts= | =Scripts= | ||
− | == | + | ==postgresql_create.sql== |
− | == | + | ==postgresql_setup.sql== |
− | == | + | ==postgresql_drop.sql== |
Revision as of 13:00, 20 April 2011
Contents
General Research
Task | Status | |
---|---|---|
Can postgreSQL be configured to have the where clause use case insensitive compare for string values? i.e. (select 'Grace' = 'grace' => should return true)
|
||
Add UUID generation to x64 versions | ||
Does extract(epoch from value) return milliseconds?
|
||
What encoding (UTF-8 and/or UTF-16) does PostgreSQL use for unicode? Can this be configured per column? | ||
How is a repeatable read with exclusive lock implemented? | ||
Does timestamp'value', handle java.sql.timestamp.toString()? | ||
Does to_timestamp support milliseconds? | ||
Does postgreSQL have constants for boolean values? | ||
Does posrgreSQL jdbc driver support returning metadata in UpperCase | ||
Does renaming a column cause error if a view depends on it? | ||
Does lo.sql unlink large objects when table is truncated? |
Classes
PostgreSQLAdapter
Task | Status | UnitTest |
---|---|---|
Implement setQueryTime with Timer object
|
||
Refactor escaping literals
|
||
appendMatchExpression
|
||
indexNameMatches
|
||
appendSuffixHint
|
||
appendLiteral
|
||
getBind
|
||
isLiteral
|
||
appendTypeConversion
|
||
isUnicode
|
||
s_bindFactoryArray[Primitive.BINARY_ORDINAL]
|
||
DUPLICATE_KEY_NAME_PATTERN
|
||
s_bindFactoryArray
|
PostgreSQLSchemaManager
Task | Status | |
---|---|---|
dropTable
|
||
getGUIDExpr
|
||
remove trigger and procedure suffix $uid | ||
getDefaultLongspace, getDefaultTablespace, getDefaultIndexspace
|
||
getPrimaryKeys
|
||
generateIndexName
|
||
appendColumnType
|
||
Refactor creating and deleting full-text search indexes
|
||
Refactor checking for BLOB column to isBLOB | ||
Refactor checking for full-text search index on a column to getFullTextIndex | ||
alterColumn - use this logic
|
||
renameColumn - use this logic for
|
||
dropIndex
|
||
appendColumnAlternation |