diff --git a/qutebrowser/browser/history.py b/qutebrowser/browser/history.py index ca62d9e6c..2c4c1f226 100644 --- a/qutebrowser/browser/history.py +++ b/qutebrowser/browser/history.py @@ -40,7 +40,10 @@ class CompletionHistory(sql.SqlTable): def __init__(self, parent=None): super().__init__("CompletionHistory", ['url', 'title', 'last_atime'], - constraints={'url': 'PRIMARY KEY'}, parent=parent) + constraints={'url': 'PRIMARY KEY', + 'title': 'NOT NULL', + 'last_atime': 'NOT NULL'}, + parent=parent) self.create_index('CompletionHistoryAtimeIndex', 'last_atime') @@ -50,6 +53,10 @@ class WebHistory(sql.SqlTable): def __init__(self, parent=None): super().__init__("History", ['url', 'title', 'atime', 'redirect'], + constraints={'url': 'NOT NULL', + 'title': 'NOT NULL', + 'atime': 'NOT NULL', + 'redirect': 'NOT NULL'}, parent=parent) self.completion = CompletionHistory(parent=self) if sql.Query('pragma user_version').run().value() < _USER_VERSION: diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py index bfb1d1e8b..24e2035e6 100644 --- a/qutebrowser/misc/sql.py +++ b/qutebrowser/misc/sql.py @@ -161,8 +161,7 @@ class SqlTable(QObject): self._name = name constraints = constraints or {} - default = 'NOT NULL' - column_defs = ['{} {}'.format(field, constraints.get(field, default)) + column_defs = ['{} {}'.format(field, constraints.get(field, '')) for field in fields] q = Query("CREATE TABLE IF NOT EXISTS {name} ({column_defs})" .format(name=name, column_defs=', '.join(column_defs)))