Difference between revisions of "PostgreSQL Adapter Project - Code Review 2 Changes"
(→PostgreSQLSchemaManager) |
|||
(14 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Admon/obsolete}} | ||
+ | |||
== General == | == General == | ||
* Run server with connections file that has no port | * Run server with connections file that has no port | ||
Line 9: | Line 11: | ||
|- | |- | ||
|Why does DB add quotes to column names that where not original quoted e.g. if a column name contains $ ? | |Why does DB add quotes to column names that where not original quoted e.g. if a column name contains $ ? | ||
− | | | + | |? |
|- | |- | ||
|Check meta data that jdbc driver returns if column names are quoted e.g. name, value, cache | |Check meta data that jdbc driver returns if column names are quoted e.g. name, value, cache | ||
− | | | + | |'name','value' they are quoted |
|- | |- | ||
|Check what happens if table with column sizes that exceeds page size for a row. If there is limit, then move virtual columns to tables instead | |Check what happens if table with column sizes that exceeds page size for a row. If there is limit, then move virtual columns to tables instead | ||
− | | | + | |The default for most TOAST-able data types is that Compression will be attempted first, then out-of-line storage if the row is still too big. |
+ | http://www.postgresql.org/docs/8.4/interactive/storage-toast.html | ||
|- | |- | ||
− | |Are postgresql functions | + | |Are postgresql functions transaction safe? |
− | | | + | |'''YES''' |
|- | |- | ||
|Check if size of column storage for characters can be specified | |Check if size of column storage for characters can be specified | ||
Line 26: | Line 29: | ||
| | | | ||
|} | |} | ||
− | |||
== Classes == | == Classes == | ||
Line 142: | Line 144: | ||
|getDependentViews | |getDependentViews | ||
* check for similarities with original implementation | * check for similarities with original implementation | ||
− | | | + | |'''DONE''' no similarities |
| | | | ||
|- | |- | ||
Line 164: | Line 166: | ||
* change to first add tablespace then index fill | * change to first add tablespace then index fill | ||
* for index fill less than 10, set to 10 | * for index fill less than 10, set to 10 | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|isValidColumnName | |isValidColumnName | ||
* use && instead | * use && instead | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|toMetaDatacase | |toMetaDatacase | ||
* check if value returned by super implementation works | * check if value returned by super implementation works | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|toMetaDatacase / isCaseInsensitiveColumn | |toMetaDatacase / isCaseInsensitiveColumn | ||
* Move logic to strip enclosing quotes from returned values in to metaDatacase | * Move logic to strip enclosing quotes from returned values in to metaDatacase | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|getCaseSensitiveName | |getCaseSensitiveName | ||
* check if it is needed if code is implemented that strips off quotations from metadata | * check if it is needed if code is implemented that strips off quotations from metadata | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|isImplicitConversion | |isImplicitConversion | ||
* start off by returning true, run unit test and for those that fail, return false | * start off by returning true, run unit test and for those that fail, return false | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 200: | Line 202: | ||
* When BLOB column is created, create triggers for lo_manage | * When BLOB column is created, create triggers for lo_manage | ||
* After case when columns do not match, return | * After case when columns do not match, return | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|dropFulltextProcedure | |dropFulltextProcedure | ||
* remove string concatenation | * remove string concatenation | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 216: | Line 218: | ||
* move drop procedure before super call | * move drop procedure before super call | ||
* rename unneeded buf.setLength | * rename unneeded buf.setLength | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|dummyviews | |dummyviews | ||
* use comment to store old select statement | * use comment to store old select statement | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|getTableName | |getTableName | ||
* implement where returns quoted tableName without schema | * implement where returns quoted tableName without schema | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|renameTable | |renameTable | ||
* merge dropFulltextTrigger and Procedure | * merge dropFulltextTrigger and Procedure | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|getIndexName | |getIndexName | ||
* use index.getName(Table) | * use index.getName(Table) | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
Line 247: | Line 249: | ||
* Rename Method name | * Rename Method name | ||
* Add comment to dummy view with original statement | * Add comment to dummy view with original statement | ||
− | | | + | |'''DONE''' |
| | | | ||
|} | |} | ||
Line 261: | Line 263: | ||
* remove appendSeparator | * remove appendSeparator | ||
* add a flag (bSep) where to add separator or not | * add a flag (bSep) where to add separator or not | ||
− | | | + | |'''DONE''' |
| | | | ||
|} | |} | ||
− | |||
=== PostgreSQLAdapterTest=== | === PostgreSQLAdapterTest=== | ||
Line 275: | Line 276: | ||
|isComptatibleVersion | |isComptatibleVersion | ||
* just return true | * just return true | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|getUnicodeCheckGuard | |getUnicodeCheckGuard | ||
* use simpler logic | * use simpler logic | ||
− | | | + | |'''DONE''' |
| | | | ||
|} | |} | ||
− | |||
=== sql.AllTests=== | === sql.AllTests=== | ||
Line 309: | Line 309: | ||
* just pass in property file | * just pass in property file | ||
* change logic to not use loop | * change logic to not use loop | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|setMetadataDatabaseProperties | |setMetadataDatabaseProperties | ||
* move statement for owner property to place in alphabetical order | * move statement for owner property to place in alphabetical order | ||
− | | | + | |'''DONE''' |
| | | | ||
|} | |} | ||
− | |||
=== SQLCursor === | === SQLCursor === | ||
Line 342: | Line 341: | ||
|installLoginConfig | |installLoginConfig | ||
* use sqlAdapter.appendLiteral | * use sqlAdapter.appendLiteral | ||
− | | | + | |'''DONE''' |
| | | | ||
|} | |} | ||
Line 358: | Line 357: | ||
|encoding and collation | |encoding and collation | ||
* get values from custom properties | * get values from custom properties | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|add comment that locktimeout exception is not support on postgresql | |add comment that locktimeout exception is not support on postgresql | ||
− | | | + | |'''DONE''' |
| | | | ||
|- | |- | ||
|add procedure to check that all contrib modules have been installed | |add procedure to check that all contrib modules have been installed | ||
| | | | ||
+ | | | ||
+ | |- | ||
+ | |set default owner to nexjsa | ||
+ | |'''DONE''' | ||
| | | | ||
|} | |} |
Latest revision as of 22:46, 26 January 2014
Contents
General
- Run server with connections file that has no port
Research
Task | Outcome |
---|---|
Why does DB add quotes to column names that where not original quoted e.g. if a column name contains $ ? | ? |
Check meta data that jdbc driver returns if column names are quoted e.g. name, value, cache | 'name','value' they are quoted |
Check what happens if table with column sizes that exceeds page size for a row. If there is limit, then move virtual columns to tables instead | The default for most TOAST-able data types is that Compression will be attempted first, then out-of-line storage if the row is still too big.
http://www.postgresql.org/docs/8.4/interactive/storage-toast.html |
Are postgresql functions transaction safe? | YES |
Check if size of column storage for characters can be specified | |
What is the maximum return value for full-text search? |
Classes
Fix repository (DONE - Recreated the repository)
- Remove changeset that overwrites changes that came from NexJ repository
PostgreSQLAdapter
Task | Status | UnitTest |
---|---|---|
shared Logic with PostgreSQLSchemaManager
|
DONE | |
variables for reflection
|
DONE | |
BINB_BLOB
|
DONE | |
s_bindFactoryArray
|
DONE | |
appendMatchExpression
|
||
appendSuffixHint
|
DONE | |
appendTypeConversion
|
||
isUnicode
|
DONE | |
caseInsensitive
|
DONE | |
indexNameMatches
|
DONE | |
executeQuery
|
DONE | |
BIND_BLOB
|
DONE | |
unwrap
|
DONE |
PostgreSQLSchemaManager
Task | Status | UnitTest |
---|---|---|
table.getColumnIterator()
|
DONE | |
Comparing Primitive
|
DONE | |
isLOB
|
DONE' | |
getOwner
|
DONE | |
getDependentViews
|
DONE no similarities | |
appendColumnType
|
DONE | |
renameTable / renameColumn
|
DONE ** | |
appendColumnAlteration
|
DONE | |
appendIndexSuffix
|
DONE | |
isValidColumnName
|
DONE | |
toMetaDatacase
|
DONE | |
toMetaDatacase / isCaseInsensitiveColumn
|
DONE | |
getCaseSensitiveName
|
DONE | |
isImplicitConversion
|
DONE | |
unlinkLargeObjects
|
DONE | |
alterColumn
|
DONE | |
dropFulltextProcedure
|
DONE | |
createFulltextProcedure / dropFulltextProcedure
|
DONE | |
dropTable
|
DONE | |
dummyviews
|
DONE | |
getTableName
|
DONE | |
renameTable
|
DONE | |
getIndexName
|
DONE | |
appendTSIncrement
|
DONE | |
makeViewDummy
|
DONE |
CaseInsensitiveSQLSchemaManager
Task | Status | UnitTest |
---|---|---|
appendSeparator / getAlterColumnToken
|
DONE |
PostgreSQLAdapterTest
Task | Status | UnitTest |
---|---|---|
isComptatibleVersion
|
DONE | |
getUnicodeCheckGuard
|
DONE |
sql.AllTests
Task | Status | UnitTest |
---|---|---|
default.config
|
SQLSchemaManager
Task | Status | UnitTest |
---|---|---|
isWindowsCompatiable
|
DONE | |
setMetadataDatabaseProperties
|
DONE |
SQLCursor
Task | Status | UnitTest |
---|---|---|
create wrapper for preparestatement
|
JBossInstaller
Task | Status | UnitTest |
---|---|---|
installLoginConfig
|
DONE |
Scripts
- Remove empty script files
postgresql_setup.sql
Task | Status | UnitTest |
---|---|---|
encoding and collation
|
DONE | |
add comment that locktimeout exception is not support on postgresql | DONE | |
add procedure to check that all contrib modules have been installed | ||
set default owner to nexjsa | DONE |