Open main menu

CDOT Wiki β

Changes

PostgreSQL Adapter Project - Code Review 2 Changes

882 bytes added, 22:46, 26 January 2014
no edit summary
{{Admon/obsolete}}
 
== General ==
* Run server with connections file that has no port
|-
|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 atomictransaction safe?|'''YES'''
|-
|Check if size of column storage for characters can be specified
|
|}
 
== Classes ==
* on instantiation create reference to PostgreSQLSchemaManager
* reference schema manager for shared logic
|'''DONE'''
|
|-
* get methods from interfaces and not implementations
* remove unnecessary class declarations
|'''DONE'''
|
|-
|BINB_BLOB
* move check for PGXAConnection to first step and let super handle
|'''DONE'''
|
|-
|s_bindFactoryArray
* check change static initialization to first copy array and then overwrite with custom binds|'''DONE'''
|
|-
|appendSuffixHint
* change logic to use one buffer
|'''DONE'''
|
|-
* remove table alias from query
* modify logic to check column type and if character then check unicode
|||-|makeViewDummy* Rename Method name* Add comment to dummy view with original statement|'''DONE'''
|
|-
|caseInsensitive
* change from LOWER to UPPER
|'''DONE'''
|
|-
|indexNameMatches
* check if toDatabaseCase is required
|'''DONE'''
|
|-
|executeQuery
* if cannot get QueryExecutor instead synchronize on connection
|'''DONE'''
|
|-
|BIND_BLOB
* track down why connection used for unittests has autoCommit enabled
|'''DONE'''
|
|-
|unwrap
* Override unwrap and move logic in getPostgreSQLConnection to this method
|'''DONE'''
|
|}
 
=== PostgreSQLSchemaManager ===
! UnitTest
|-
|column iteratortable.getColumnIterator()* instead use table.columnCountgetColumnCount()|'''DONE'''
|
|-
|Comparing Primitive
* no need to use getOrdinal
|'''DONE'''
|
|-
|isLOB
* use max_field_size for both
|'''DONE''''
|
|-
|getOwner
* update all code that requires owner, since default owner now exists
|'''DONE'''
|
|-
|getDependentViews
* check for similarities with original implementation
|'''DONE''' no similarities
|
|-
|appendColumnType
* Primitive.String use isCLOBisLOB, remove check from nPrecision|'''DONE'''
|
|-
|renameTable / renameColumn
* recreate the tiggers/procedures instead of dropping and recreating the helper column
|'''DONE''' **
|
|-
|appendColumnAlteration
* ensure BLOB data is not being lost
|'''DONE'''
|
|-
* change to first add tablespace then index fill
* for index fill less than 10, set to 10
|'''DONE'''
|
|-
|isValidColumnName
* use && instead
|'''DONE'''
|
|-
|toMetaDatacase
* check if value returned by super implementation works
|'''DONE'''
|
|-
|toMetaDatacase / isCaseInsensitiveColumn
* Move logic to strip enclosing quotes from returned values in to metaDatacase
|'''DONE'''
|
|-
|getCaseSensitiveName
* check if it is needed if code is implemented that strips off quotations from metadata
|'''DONE'''
|
|-
|isImplicitConversion
* start off by returning true, run unit test and for those that fail, return false
|'''DONE'''
|
|-
|unlinkLargeObjects
* change to 2 implementations that take a table and a column
|'''DONE'''
|
|-
* When BLOB column is created, create triggers for lo_manage
* After case when columns do not match, return
|'''DONE'''
|
|-
|dropFulltextProcedure
* remove string concatenation
|'''DONE'''
|
|-
|createFulltextProcedure / dropFulltextProcedure
* make inline
|'''DONE'''
|
|-
* move drop procedure before super call
* rename unneeded buf.setLength
|'''DONE'''
|
|-
|dummyviews
* use comment to store old select statement
|'''DONE'''
|
|-
|getTableName
* implement where returns quoted tableName without schema
|'''DONE'''
|
|-
|renameTable
* merge dropFulltextTrigger and Procedure
|'''DONE'''
|
|-
|getIndexName
* use index.getName(Table)
|'''DONE'''
|
|-
|appendTSIncrement
* quarter use interval'3 months'
|'''DONE'''
|
|-
|makeViewDummy
* Rename Method name
* Add comment to dummy view with original statement
|'''DONE'''
|
|}
 
=== CaseInsensitiveSQLSchemaManager ===
* remove appendSeparator
* add a flag (bSep) where to add separator or not
|'''DONE'''
|
|}
 
=== PostgreSQLAdapterTest===
|isComptatibleVersion
* just return true
|'''DONE'''
|
|-
|getUnicodeCheckGuard
* use simpler logic
|'''DONE'''
|
|}
 
=== sql.AllTests===
* just pass in property file
* change logic to not use loop
|'''DONE'''
|
|-
|setMetadataDatabaseProperties
* move statement for owner property to place in alphabetical order
|'''DONE'''
|
|}
 
=== SQLCursor ===
|installLoginConfig
* use sqlAdapter.appendLiteral
|'''DONE'''
|
|}
|encoding and collation
* get values from custom properties
|'''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'''
|
|}