From 142edb03012b8b0972451fff4b6d8653d8017473 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Mar 2013 14:52:51 +0100
Subject: [PATCH] Don't insert in full_text table if there are no
 SearchableText

same as 4c12996138.
---
 .../z_catalog_fulltext_list.xml               | 33 ++++++++++++-------
 .../bt/revision                               |  2 +-
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/bt5/erp5_full_text_mroonga_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_fulltext_list.xml b/bt5/erp5_full_text_mroonga_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_fulltext_list.xml
index 9615d9d7e9..fb0ecee42f 100644
--- a/bt5/erp5_full_text_mroonga_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_fulltext_list.xml
+++ b/bt5/erp5_full_text_mroonga_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_fulltext_list.xml
@@ -55,20 +55,31 @@ SearchableText</string> </value>
             <key> <string>src</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-REPLACE INTO\n
+DELETE FROM\n
+  full_text\n
+WHERE\n
+<dtml-in uid>\n
+  uid=<dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
+</dtml-in>\n
+;\n
+<dtml-var "\'\\0\'"><dtml-let document_list="[]">\n
+  <dtml-in prefix="loop" expr="_.range(_.len(uid))">\n
+    <dtml-if "SearchableText[loop_item]">\n
+      <dtml-call expr="document_list.append(loop_item)">\n
+    </dtml-if>\n
+  </dtml-in>\n
+  <dtml-if expr="_.len(document_list) > 0">\n
+INSERT INTO\n
   full_text\n
 VALUES\n
-<dtml-in prefix="loop" expr="_.range(_.len(uid))">\n
-(\n
-  <dtml-sqlvar expr="uid[loop_item]" type="int">,  \n
+    <dtml-in prefix="loop" expr="document_list">\n
+( \n
+  <dtml-sqlvar expr="uid[loop_item]" type="int">,\n
   <dtml-sqlvar expr="SearchableText[loop_item]" type="string" optional>\n
-)\n
-<dtml-if sequence-end>\n
-<dtml-else>\n
-,\n
-</dtml-if>\n
-</dtml-in>\n
-
+)<dtml-unless sequence-end>,</dtml-unless>\n
+    </dtml-in>\n
+  </dtml-if>\n
+</dtml-let>
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_full_text_mroonga_catalog/bt/revision b/bt5/erp5_full_text_mroonga_catalog/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_full_text_mroonga_catalog/bt/revision
+++ b/bt5/erp5_full_text_mroonga_catalog/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
-- 
2.30.9