summaryrefslogtreecommitdiffstats
path: root/lib/App/BorgRestore/DB.pm
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2017-04-02 23:58:04 +0200
committerFlorian Pritz <bluewind@xinu.at>2017-04-02 23:58:45 +0200
commit686623ab687cfd4aaa5b4c156faf65ee75ad4000 (patch)
tree3e01a536d8196f9aaa3e7da21bc2453c5c3b97dc /lib/App/BorgRestore/DB.pm
parentd919cb733de7622835aa6148ed939051d67cb64f (diff)
downloadApp-BorgRestore-686623ab687cfd4aaa5b4c156faf65ee75ad4000.tar.gz
App-BorgRestore-686623ab687cfd4aaa5b4c156faf65ee75ad4000.tar.xz
Make sqlite cache size configurable
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'lib/App/BorgRestore/DB.pm')
-rw-r--r--lib/App/BorgRestore/DB.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/App/BorgRestore/DB.pm b/lib/App/BorgRestore/DB.pm
index a7c5916..e01aee2 100644
--- a/lib/App/BorgRestore/DB.pm
+++ b/lib/App/BorgRestore/DB.pm
@@ -12,15 +12,16 @@ use Log::Any qw($log);
sub new {
my $class = shift;
my $db_path = shift;
+ my $cache_size = shift;
my $self = {};
bless $self, $class;
if (! -f $db_path) {
- my $db = $self->open_db($db_path);
+ my $db = $self->open_db($db_path, $cache_size);
$self->{db}->initialize_db();
} else {
- $self->_open_db($db_path);
+ $self->_open_db($db_path, $cache_size);
}
return $self;
@@ -29,10 +30,11 @@ sub new {
sub _open_db {
my $self = shift;
my $dbfile = shift;
+ my $cache_size = shift;
$log->debugf("Opening database at %s", $dbfile);
$self->{dbh} = DBI->connect("dbi:SQLite:dbname=$dbfile","","", {RaiseError => 1, Taint => 1});
- $self->{dbh}->do("PRAGMA cache_size=-1024000");
+ $self->{dbh}->do("PRAGMA cache_size=-".$cache_size);
$self->{dbh}->do("PRAGMA strict=ON");
}