Difference between revisions of "PostgreSQL Adapter Project - Code Review 1 Changes"
(→PostgreSQLSchemaManager) |
(→PostgreSQLSchemaManager) |
||
Line 169: | Line 169: | ||
|appendColumnType | |appendColumnType | ||
* check if serial and bigserial have limits when compared to using sequences | * check if serial and bigserial have limits when compared to using sequences | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 181: | Line 181: | ||
** dropFullTextSearchProcedure | ** dropFullTextSearchProcedure | ||
** dropFullTextSearchTrigger | ** dropFullTextSearchTrigger | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|Refactor checking for BLOB column to isBLOB | |Refactor checking for BLOB column to isBLOB | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 196: | Line 196: | ||
* alter the column | * alter the column | ||
* create the deleted view/s | * create the deleted view/s | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 205: | Line 205: | ||
* drop full-text search trigger | * drop full-text search trigger | ||
* create full-text search trigger | * create full-text search trigger | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 213: | Line 213: | ||
** drop column$ | ** drop column$ | ||
** drop full-text search trigger | ** drop full-text search trigger | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 223: | Line 223: | ||
|renameTable | |renameTable | ||
* fix full-text search trigger maintainence | * fix full-text search trigger maintainence | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|deleteLargeObjects | |deleteLargeObjects | ||
* change to use for loop instead of iterator | * change to use for loop instead of iterator | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- |
Revision as of 13:23, 13 June 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 'Q' = 'q' => should return true)
|
(DONE) |
Add UUID generation to x64 versions | |
Does extract(epoch from value) return milliseconds?
|
YES |
What encoding (UTF-8 and/or UTF-16) does PostgreSQL use for unicode? Can this be configured per column? | UTF-8 |
How is a repeatable read with exclusive lock implemented? | |
Does timestamp'value', handle java.sql.timestamp.toString()? | YES |
Does to_timestamp support milliseconds? | YES
Precision is up to microseconds(10^-6) http://www.postgresql.org/docs/7.4/static/functions-datetime.html |
Does postgreSQL have constants for boolean values? | YES
TRUE and FALSE (they are case insensitive) |
Does posrgreSQL jdbc driver support returning metadata in UpperCase | NO
Since database objects are case sensitive, returning UpperCase would make for corrupt data May be consider changing SQLManager to enforce all database object names to be lowercase |
Does renaming a column cause error if a view depends on it? | NO
View' is updated with to use the new column name |
Does lo.sql unlink large objects when table is truncated? | NO |
Classes
PostgreSQLAdapter
Task | Status | UnitTest |
---|---|---|
Implement setQueryTime with Timer object
|
DONE | |
Refactor escaping literals
|
DONE | |
appendMatchExpression
|
DONE | |
indexNameMatches
|
DONE | |
appendSuffixHint
|
||
appendLiteral
|
DONE | |
getBind
|
||
isLiteral
|
DONE | |
appendTypeConversion
|
DONE | |
isUnicode
|
DONE | |
s_bindFactoryArray[Primitive.BINARY_ORDINAL]
|
DONE | |
DUPLICATE_KEY_NAME_PATTERN
|
DONE | |
s_bindFactoryArray
|
DONE |
PostgreSQLSchemaManager
Task | Status | UnitTest |
---|---|---|
Override setCustomDatabaseProperties
|
||
dropTable
|
DONE | |
getGUIDExpr
|
||
remove trigger and procedure suffix $uid | DONE | |
getDefaultLongspace, getDefaultTablespace, getDefaultIndexspace
|
||
getPrimaryKeys
|
DONE | |
generateIndexName
|
DONE' | |
appendColumnType
|
DONE | |
Refactor creating and deleting full-text search indexes
|
DONE | |
Refactor checking for BLOB column to isBLOB | DONE | |
Refactor checking for full-text search index on a column to getFullTextIndex | DONE | |
alterColumn - use this logic
|
DONE | |
renameColumn - use this logic for
|
DONE | |
dropIndex
|
DONE | |
appendColumnAlternation
|
DONE | |
renameTable
|
DONE | |
deleteLargeObjects
|
DONE | |
getIndexInfo
|
||
Use toMetadataCase and toDatabaseCase instead of toLowerCase/toUpperCase | DONE |
Scripts
postgresql_create.sql
Task | Status | UnitTest |
---|---|---|
postgresql_setup.sql
Task | Status | UnitTest |
---|---|---|
Add comment to enable PREPARE TRANSACTION | ||
Use template field to set location of contrib folder
|
||
Add template field to set location for tablespace, indexspace and longspace | ||
Add SQL to create tablespace, indexspace and longspace | ||
Move function creation to postgresql_create.sql |
postgresql_drop.sql
Task | Status | UnitTest |
---|---|---|
Add sql to drop custom functions |