aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v2/db_drop.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v2/db_drop.rb')
-rw-r--r--lib/sisu/v2/db_drop.rb80
1 files changed, 50 insertions, 30 deletions
diff --git a/lib/sisu/v2/db_drop.rb b/lib/sisu/v2/db_drop.rb
index 673c5f8f..7189da56 100644
--- a/lib/sisu/v2/db_drop.rb
+++ b/lib/sisu/v2/db_drop.rb
@@ -70,8 +70,8 @@ module SiSU_DB_drop
cascade='CASCADE'
end
@drop_table=[
- "DROP TABLE metadata #{cascade};",
- "DROP TABLE documents #{cascade};",
+ "DROP TABLE metadata_and_text #{cascade};",
+ "DROP TABLE doc_objects #{cascade};",
"DROP TABLE urls #{cascade};",
"DROP TABLE endnotes #{cascade};",
"DROP TABLE endnotes_asterisk #{cascade};",
@@ -84,15 +84,35 @@ module SiSU_DB_drop
msg_sqlite="as not all disk space is recovered after dropping the database << #{@db_info.sqlite.db} >>, you may be better off deleting the file, and recreating it as necessary"
case @sql_type
when /sqlite/
- @conn.transaction
- @drop_table.each do |d|
- @conn.execute(d)
- end
- @conn.commit
puts msg_sqlite
ans=@ans.response?('remove sql database?')
- if ans and File.exist?(@db_info.sqlite.db)
+ if ans \
+ and File.exist?(@db_info.sqlite.db)
+ @conn.close
File.unlink(@db_info.sqlite.db)
+ db=SiSU_Env::Info_db.new
+ conn=db.sqlite.conn_sqlite3
+ sdb=SiSU_DB_DBI::Create.new(@opt,conn,@db_info,@sql_type)
+ sdb_index=SiSU_DB_DBI::Index.new(@opt,conn,@db_info,@sql_type)
+ sdb.output_dir?
+ begin
+ sdb.create_db
+ sdb.create_table.metadata_and_text
+ sdb.create_table.doc_objects
+ sdb.create_table.endnotes
+ sdb.create_table.endnotes_asterisk
+ sdb.create_table.endnotes_plus
+ sdb.create_table.urls
+ sdb_index.create_indexes
+ rescue; SiSU_Errors::Info_error.new($!,$@,'-D').error; @sdb.output_dir?
+ end
+ exit
+ else
+ @conn.transaction
+ @drop_table.each do |d|
+ @conn.execute(d)
+ end
+ @conn.commit
end
else
@drop_table.each do |d|
@@ -115,33 +135,33 @@ module SiSU_DB_drop
end
def indexes #% drop all indexes
#@conn.do(%{
- # DROP INDEX object_nr ON documents(ocn);
- # DROP INDEX body ON documents(body);
- # DROP INDEX clean ON documents(clean);
- # DROP INDEX lev1 ON documents(lev1);
- # DROP INDEX lev2 ON documents(lev2);
- # DROP INDEX lev3 ON documents(lev3);
- # DROP INDEX lev4 ON documents(lev4);
- # DROP INDEX lev5 ON documents(lev5);
- # DROP INDEX lev6 ON documents(lev6);
+ # DROP INDEX object_nr ON doc_objects(ocn);
+ # DROP INDEX body ON doc_objects(body);
+ # DROP INDEX clean ON doc_objects(clean);
+ # DROP INDEX lev1 ON doc_objects(lev1);
+ # DROP INDEX lev2 ON doc_objects(lev2);
+ # DROP INDEX lev3 ON doc_objects(lev3);
+ # DROP INDEX lev4 ON doc_objects(lev4);
+ # DROP INDEX lev5 ON doc_objects(lev5);
+ # DROP INDEX lev6 ON doc_objects(lev6);
# DROP INDEX endnote_nr ON endnotes(nr);
# DROP INDEX endnote ON endnotes(body);
- # DROP INDEX title ON metadata(title);
- # DROP INDEX filename ON metadata(filename)
+ # DROP INDEX title ON metadata_and_text(title);
+ # DROP INDEX filename ON metadata_and_text(filename)
# /*
- # DROP INDEX object_nr ON documents(ocn) CASCADE;
- # DROP INDEX body ON documents(body) CASCADE;
- # DROP INDEX clean ON documents(clean) CASCADE;
- # DROP INDEX lev1 ON documents(lev1) CASCADE;
- # DROP INDEX lev2 ON documents(lev2) CASCADE;
- # DROP INDEX lev3 ON documents(lev3) CASCADE;
- # DROP INDEX lev4 ON documents(lev4) CASCADE;
- # DROP INDEX lev5 ON documents(lev5) CASCADE;
- # DROP INDEX lev6 ON documents(lev6) CASCADE;
+ # DROP INDEX object_nr ON doc_objects(ocn) CASCADE;
+ # DROP INDEX body ON doc_objects(body) CASCADE;
+ # DROP INDEX clean ON doc_objects(clean) CASCADE;
+ # DROP INDEX lev1 ON doc_objects(lev1) CASCADE;
+ # DROP INDEX lev2 ON doc_objects(lev2) CASCADE;
+ # DROP INDEX lev3 ON doc_objects(lev3) CASCADE;
+ # DROP INDEX lev4 ON doc_objects(lev4) CASCADE;
+ # DROP INDEX lev5 ON doc_objects(lev5) CASCADE;
+ # DROP INDEX lev6 ON doc_objects(lev6) CASCADE;
# DROP INDEX endnote_nr ON endnotes(nr) CASCADE;
# DROP INDEX endnote ON endnotes(body) CASCADE;
- # DROP INDEX title ON metadata(title) CASCADE;
- # DROP INDEX filename ON metadata(filename) CASCADE
+ # DROP INDEX title ON metadata_and_text(title) CASCADE;
+ # DROP INDEX filename ON metadata_and_text(filename) CASCADE
# */
#})
end