[Erp5-dev] SQLCatalog - search_mode fails - temporary patch
bartek
bartek at erp5.pl
Fri Feb 2 12:31:35 CET 2007
Hello
After recent refactoring, portal_catalog fails if given search_mode
parameter. I think we should patch it as follows, to make it work at
least in a basic way (with only general search_mode setting, not per
column). And maybe think of a better solution - or is a more
comprehensive refactoring still planned?
Bartek
Index: ZSQLCatalog/SQLCatalog.py
===================================================================
--- ZSQLCatalog/SQLCatalog.py (wersja 12218)
+++ ZSQLCatalog/SQLCatalog.py (kopia robocza)
@@ -406,11 +406,7 @@
Additionally you can pass it a search_mode argument ('natural',
'in_boolean_mode'
or 'with_query_expansion') to use an advanced search mode ('natural'
is the default).
- search_mode arg can be given for all full_text keys, or for a
specific key by naming
- the argument search_mode_KeyName, or even more specifically,
search_mode_Table.Key
- or search_mode_Table_Key
-
bgrain defined in meyhods...
TODO:
@@ -1707,7 +1703,7 @@
key_list = [] # the list of column keys
key_alias_dict = {}
for key in kw.keys():
- if key not in ('where_expression', 'sort-on', 'sort_on',
'sort-order', 'sort_order', 'limit'):
+ if key not in ('where_expression', 'sort-on', 'sort_on',
'sort-order', 'sort_order', 'limit', 'search_mode'):
value = kw[key]
current_query = None
new_query_dict = {}
@@ -1722,7 +1718,7 @@
new_query_dict[value_key]=value[value_key]
else:
new_query_dict[key]=value
- current_query = Query(**new_query_dict)
+ current_query = Query(search_mode=kw.get('search_mode'),
**new_query_dict)
query_dict[key]=current_query
key_list.extend(current_query.getSQLKeyList())
More information about the Erp5-dev
mailing list