Django

Code

Changeset 5957

Show
Ignore:
Timestamp:
08/19/07 18:13:06 (1 year ago)
Author:
adrian
Message:

Refactored get_fulltext_search_sql() to DatabaseOperations?.fulltext_search_sql(). Refs #5106

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/backends/ado_mssql/base.py

    r5956 r5957  
    111111    return "RAND()" 
    112112 
    113 def get_fulltext_search_sql(field_name): 
    114     raise NotImplementedError 
    115  
    116113def get_pk_default_value(): 
    117114    return "DEFAULT" 
  • django/trunk/django/db/backends/dummy/base.py

    r5956 r5957  
    4747get_limit_offset_sql = complain 
    4848get_random_function_sql = complain 
    49 get_fulltext_search_sql = complain 
    5049get_pk_default_value = complain 
    5150get_max_name_length = ignore 
  • django/trunk/django/db/backends/__init__.py

    r5956 r5957  
    9292        """ 
    9393        return "DROP CONSTRAINT" 
     94 
     95    def fulltext_search_sql(self, field_name): 
     96        """ 
     97        Returns the SQL WHERE clause to use in order to perform a full-text 
     98        search of the given field_name. Note that the resulting string should 
     99        contain a '%s' placeholder for the value being searched against. 
     100        """ 
     101        raise NotImplementedError('Full-text search is not implemented for this database backend') 
  • django/trunk/django/db/backends/mysql/base.py

    r5956 r5957  
    7474    def drop_foreignkey_sql(self): 
    7575        return "DROP FOREIGN KEY" 
     76 
     77    def fulltext_search_sql(self, field_name): 
     78        return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 
    7679 
    7780class DatabaseWrapper(BaseDatabaseWrapper): 
     
    165168    return "RAND()" 
    166169 
    167 def get_fulltext_search_sql(field_name): 
    168     return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 
    169  
    170170def get_pk_default_value(): 
    171171    return "DEFAULT" 
  • django/trunk/django/db/backends/mysql_old/base.py

    r5956 r5957  
    8484    def drop_foreignkey_sql(self): 
    8585        return "DROP FOREIGN KEY" 
     86 
     87    def fulltext_search_sql(self, field_name): 
     88        return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 
    8689 
    8790class DatabaseWrapper(BaseDatabaseWrapper): 
     
    184187    return "RAND()" 
    185188 
    186 def get_fulltext_search_sql(field_name): 
    187     return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 
    188  
    189189def get_pk_default_value(): 
    190190    return "DEFAULT" 
  • django/trunk/django/db/backends/oracle/base.py

    r5956 r5957  
    186186def get_random_function_sql(): 
    187187    return "DBMS_RANDOM.RANDOM" 
    188  
    189 def get_fulltext_search_sql(field_name): 
    190     raise NotImplementedError 
    191188 
    192189def get_pk_default_value(): 
  • django/trunk/django/db/backends/postgresql/base.py

    r5956 r5957  
    140140def get_random_function_sql(): 
    141141    return "RANDOM()" 
    142  
    143 def get_fulltext_search_sql(field_name): 
    144     raise NotImplementedError 
    145142 
    146143def get_pk_default_value(): 
  • django/trunk/django/db/backends/postgresql_psycopg2/base.py

    r5956 r5957  
    9494def get_random_function_sql(): 
    9595    return "RANDOM()" 
    96  
    97 def get_fulltext_search_sql(field_name): 
    98     raise NotImplementedError 
    9996 
    10097def get_pk_default_value(): 
  • django/trunk/django/db/backends/sqlite3/base.py

    r5956 r5957  
    127127def get_random_function_sql(): 
    128128    return "RANDOM()" 
    129  
    130 def get_fulltext_search_sql(field_name): 
    131     raise NotImplementedError 
    132129 
    133130def get_pk_default_value(): 
  • django/trunk/django/db/models/query.py

    r5953 r5957  
    811811        return "%s IS %sNULL" % (field_sql, (not value and 'NOT ' or '')) 
    812812    elif lookup_type == 'search': 
    813         return backend.get_fulltext_search_sql(field_sql) 
     813        return connection.ops.fulltext_search_sql(field_sql) 
    814814    elif lookup_type in ('regex', 'iregex'): 
    815815        if settings.DATABASE_ENGINE == 'oracle':