org.mmbase.storage.search.implementation.database
Class PostgreSqlSqlHandler

java.lang.Object
  extended byorg.mmbase.storage.search.implementation.database.BasicSqlHandler
      extended byorg.mmbase.storage.search.implementation.database.PostgreSqlSqlHandler
All Implemented Interfaces:
SqlHandler

public class PostgreSqlSqlHandler
extends BasicSqlHandler
implements SqlHandler

The PostgreSQL query handler, implements SqlHandler for standard PostgreSql functionality.
Derived from BasicSqlHandler, overrides

Since:
MMBase-1.7
Version:
$Id: PostgreSqlSqlHandler.java,v 1.6 2003/12/11 13:05:27 michiel Exp $
Author:
Rob van Maris

Constructor Summary
PostgreSqlSqlHandler(java.util.Map disallowedValues)
          Constructor.
 
Method Summary
protected  java.lang.StringBuffer appendLikeOperator(java.lang.StringBuffer sb, boolean caseSensitive)
          Appends the 'LIKE' operator for the given case sensitiviy.
 int getSupportLevel(int feature, SearchQuery query)
          Gets the level at which a feature is supported for a query by this handler.
 java.lang.String toSql(SearchQuery query, SqlHandler firstInChain)
          Represents a SearchQuery object as a string in SQL format, using the database configuration.
protected  boolean useLower(FieldCompareConstraint constraint)
          Wether the 'LOWER' function needs to be used to implement case insensitivity.
 
Methods inherited from class org.mmbase.storage.search.implementation.database.BasicSqlHandler
appendCompositeConstraintToSql, appendConstraintToSql, appendField, appendFieldValue, appendQueryBodyToSql, getAllowedValue, getSupportLevel, toSqlString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mmbase.storage.search.implementation.database.SqlHandler
appendConstraintToSql, appendQueryBodyToSql, getAllowedValue, getSupportLevel
 

Constructor Detail

PostgreSqlSqlHandler

public PostgreSqlSqlHandler(java.util.Map disallowedValues)
Constructor.

Parameters:
disallowedValues - Map mapping disallowed table/fieldnames to allowed alternatives.
Method Detail

getSupportLevel

public int getSupportLevel(int feature,
                           SearchQuery query)
                    throws SearchQueryException
Description copied from interface: SqlHandler
Gets the level at which a feature is supported for a query by this handler. This is one of either: Given the choice, the query handler with the highest level of support is prefered.

Specified by:
getSupportLevel in interface SqlHandler
Overrides:
getSupportLevel in class BasicSqlHandler
Throws:
SearchQueryException

useLower

protected boolean useLower(FieldCompareConstraint constraint)
Description copied from class: BasicSqlHandler
Wether the 'LOWER' function needs to be used to implement case insensitivity. This is not always the case, because some database only match case insensitively, in which case it does not make sense to lowercase.

Overrides:
useLower in class BasicSqlHandler

appendLikeOperator

protected java.lang.StringBuffer appendLikeOperator(java.lang.StringBuffer sb,
                                                    boolean caseSensitive)
Description copied from class: BasicSqlHandler
Appends the 'LIKE' operator for the given case sensitiviy. Some databases support a case insensitive LIKE ('ILIKE'). Implementations for those database can override this method.

Overrides:
appendLikeOperator in class BasicSqlHandler
Returns:
The string buffer.

toSql

public java.lang.String toSql(SearchQuery query,
                              SqlHandler firstInChain)
                       throws SearchQueryException
Description copied from interface: SqlHandler
Represents a SearchQuery object as a string in SQL format, using the database configuration.

Specified by:
toSql in interface SqlHandler
Overrides:
toSql in class BasicSqlHandler
Throws:
SearchQueryException


MMBase build 1.7.1.20041002