OSDN Git Service

ns_search: fix seacrhd_cli's "initdb" and "index clear" behaviour
authorhylom <hylom@users.sourceforge.jp>
Fri, 27 Apr 2018 11:28:28 +0000 (20:28 +0900)
committerhylom <hylom@users.sourceforge.jp>
Fri, 27 Apr 2018 11:28:28 +0000 (20:28 +0900)
src/ns_search/newslash_index/metadata.py
src/ns_search/searchd_cli.py

index 47b5ccd..470bcd2 100644 (file)
@@ -44,7 +44,11 @@ class Metadata(object):
         db = newslash_db.NewslashDB(self._db_config())
         db.execute('DROP TABLE ns_search_metadata')
         db.close()
-        
+
+    def delete_all(self):
+        db = newslash_db.NewslashDB(self._db_config())
+        db.execute('DELETE FROM ns_search_metadata')
+        db.close()
 
     def get(self, target):
         sql = 'SELECT * from ns_search_metadata WHERE target_name = %(target)s'
index 85feda2..f8ca43c 100755 (executable)
@@ -123,8 +123,7 @@ class SearchCLI(object):
 
         if action == 'clear':
             index.delete_all()
-            index.metadata.drop_table()
-            index.metadata.create_table()
+            index.metadata.delete_all()
             print("clear all index and metadata done.")
         elif action == 'update':
             start_time = time.time()
@@ -185,7 +184,7 @@ class SearchCLI(object):
     def initdb(self):
         index = Index(database=self.database, index_path=self.index_dir)
         try:
-            index.create_metadata_table()
+            index.metadata.create_table()
         except DatabaseError as e:
             print('error: {}'.format(str(e)))