Code

Changes between Version 6 and Version 7 of OracleBranch


Ignore:
Timestamp:
05/03/07 08:46:08 (7 years ago)
Author:
bouldersprinters
Comment:

Added Oracle limitations of TextFields

Legend:

Unmodified
Added
Removed
Modified
  • OracleBranch

    v6 v7  
    7979cx_Oracle always returns either datetime.datetime objects or its own Timestamp objects when fetching date or time-related fields.  The !OracleQuerySet.resolve_columns method is used to cast values from the database to the proper type for the Field. 
    8080 
    81 === LOB manipulation === 
     81=== !TextField limitations === 
    8282 
    83 The oracle backend stores !TextFields as NCLOB columns, for which cx_Oracle requires some extra manipulation to fetch.  This is automatically handled by !OracleQuerySet.resolve_columns. 
     83The oracle backend stores !TextFields as NCLOB columns, for which cx_Oracle requires some extra manipulation to fetch. This is automatically handled by !OracleQuerySet.resolve_columns. Oracle also poses some limitations on the usage of LOB columns: 
     84 
     85  * LOB columns may not be used as primary keys. 
     86  * LOB columns may not be used in indexes. 
     87  * LOB columns may not be used in a "SELECT DISTINCT" list. This means that attempting to use the !QuerySet.distinct method on a model that includes !TextField columns will result in an error. A workaround to this is to keep !TextFields out of any models that you foresee performing .distinct queries on, and to include the !TextFields in a related model instead. 
    8488 
    8589== To-do list ==