Difference between revisions of "PostgreSQL Adapter Project - Code Review 1 Changes"

From CDOT Wiki
Jump to: navigation, search
(General Research)
(Classes)
Line 4: Line 4:
 
* Does <code>extract(epoch from value)</code> return milliseconds?
 
* Does <code>extract(epoch from value)</code> return milliseconds?
 
* What encoding (UTF-8 and/or UTF-16) does PostgreSQL use for unicode? Can this be configured per column?
 
* What encoding (UTF-8 and/or UTF-16) does PostgreSQL use for unicode? Can this be configured per column?
 +
  
 
=Classes=
 
=Classes=
 
==PostgreSQLAdapter==
 
==PostgreSQLAdapter==
 +
* Add parentheses to enforce operation order
 +
**appendMatchExpression
 +
**
 +
* Implement setQueryTime with Timer object
 +
** if code variation is limited, extract to SQLAdapter
 +
* Use toMetadataCase and toDatabaseCase instead of toLowerCase/toUpperCase
 +
** indexNameMatches
 +
* Refactor escaping literals
 +
** May be make use isLiteral
 +
* Implement query locking for aggregate queries (i.e. repeatable read + exclusive lock)
 +
 +
 
==PostgreSQLSchemaManager==
 
==PostgreSQLSchemaManager==
  

Revision as of 10:16, 20 April 2011

General Research

  • 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?


Classes

PostgreSQLAdapter

  • Add parentheses to enforce operation order
    • appendMatchExpression
  • Implement setQueryTime with Timer object
    • if code variation is limited, extract to SQLAdapter
  • Use toMetadataCase and toDatabaseCase instead of toLowerCase/toUpperCase
    • indexNameMatches
  • Refactor escaping literals
    • May be make use isLiteral
  • Implement query locking for aggregate queries (i.e. repeatable read + exclusive lock)


PostgreSQLSchemaManager

Scripts

postgrecreate.sql

postgresetup.sql

postgredrop.sql