[Erp5-dev] SQLCatalog - search_mode fails - temporary patch
Sebastien Robin
seb at nexedi.com
Mon Feb 5 13:20:06 CET 2007
Le Vendredi 2 Février 2007 12:31, bartek a écrit :
> 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?
The search_mode parameter can be different for each key, thus this parameter
make sense only if it is defined for some keys, like this:
portal_catalog(title={"query":'aa',"search_mode":"natural"})
Seb.
>
> 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())
> _______________________________________________
> Erp5-dev mailing list
> Erp5-dev at erp5.org
> http://erp5.org/mailman/listinfo/erp5-dev
--
Sebastien Robin, Nexedi Project Manager
Nexedi: Consulting and Development of Free / Open Source Software
http://www.nexedi.com
ERP5: Free / Open Source ERP Software for small and medium companies
http://www.erp5.org
More information about the Erp5-dev
mailing list