Do not try to insert default values on empty table
This commit is contained in:
+11
-7
@@ -378,13 +378,17 @@ class table_handler:
|
||||
column_type = column_type[1]
|
||||
self.cursor.execute('ALTER TABLE "%s" ADD COLUMN "%s" %s' %
|
||||
(self.table_name, column_name, column_type))
|
||||
# Populate column with default values:
|
||||
default = None
|
||||
if default_fun is not None:
|
||||
default = default_fun(self.cursor, 0, {})
|
||||
self.cursor.execute('UPDATE "' + self.table_name + '" '\
|
||||
'SET "' + column_name + '" = ' + symbol_set[0],
|
||||
(symbol_set[1](default),))
|
||||
|
||||
# check if table is non-empty:
|
||||
self.cursor.execute('SELECT 1 FROM %s limit 1' % self.table_name)
|
||||
if self.cursor.rowcount:
|
||||
# Populate column with default values:
|
||||
default = None
|
||||
if default_fun is not None:
|
||||
default = default_fun(self.cursor, 0, {})
|
||||
self.cursor.execute('UPDATE "' + self.table_name + '" '\
|
||||
'SET "' + column_name + '" = ' + symbol_set[0],
|
||||
(symbol_set[1](default),))
|
||||
|
||||
self.update_definitions()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user