From 016dbc15711129ea989c7c2fc3cf636fc1cceb20 Mon Sep 17 00:00:00 2001
From: Tristan Cavelier <tristan.cavelier@tiolive.com>
Date: Mon, 29 Sep 2014 10:00:07 +0000
Subject: [PATCH] add a hack to allow `*` and `~` characters in fulltext search

---
 .../SQLCatalog_makeDescriptionFullTextQuery.xml                | 2 +-
 .../erp5_mysql_innodb/SQLCatalog_makeTitleFullTextQuery.xml    | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeDescriptionFullTextQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeDescriptionFullTextQuery.xml
index c064f53164..fd7231c46d 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeDescriptionFullTextQuery.xml
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeDescriptionFullTextQuery.xml
@@ -55,7 +55,7 @@
 """\n
 from Products.ZSQLCatalog.SQLCatalog import SimpleQuery\n
 \n
-query = SimpleQuery(**{\'catalog_full_text.fulltext_description\': \'*D+ %s\' % value, \'comparison_operator\': \'match_boolean\'} )\n
+query = SimpleQuery(**{\'catalog_full_text.fulltext_description\': \'*D+ %s\' % value.replace(r\'*\', r\'\\*\').replace(r\'~\', r\'\\~\'), \'comparison_operator\': \'match_boolean\'} )\n
 return query\n
 </string> </value>
         </item>
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTitleFullTextQuery.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTitleFullTextQuery.xml
index 9e20f3de02..9abc316e6f 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTitleFullTextQuery.xml
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/SQLCatalog_makeTitleFullTextQuery.xml
@@ -55,7 +55,8 @@
 """\n
 from Products.ZSQLCatalog.SQLCatalog import SimpleQuery\n
 \n
-query = SimpleQuery(**{\'catalog_full_text.fulltext_title\': \'*D+ %s\' % value, \'comparison_operator\': \'match_boolean\'} )\n
+query = SimpleQuery(**{\'catalog_full_text.fulltext_title\': \'*D+ %s\' % value.replace(r\'*\', r\'\\*\').replace(r\'~\', r\'\\~\'), \'comparison_operator\': \'match_boolean\'} )\n
+\n
 return query\n
 </string> </value>
         </item>
-- 
2.30.9