feeder: do not use UNLOGGED tables for persistent data (#65220)

This commit is contained in:
Benjamin Dauvergne 2022-05-13 14:57:47 +02:00
parent d888b4152f
commit 74eb8aa08c
1 changed files with 7 additions and 5 deletions

View File

@ -429,8 +429,11 @@ class WcsOlapFeeder(object):
WHERE dates.date IS NULL''',
vars=[first_date, last_date])
def create_table(self, name, columns, inherits=None, comment=None):
sql = 'CREATE UNLOGGED TABLE %s' % quote(name)
def create_table(self, name, columns, inherits=None, comment=None, unlogged=True):
if unlogged:
sql = 'CREATE UNLOGGED TABLE %s' % quote(name)
else:
sql = 'CREATE TABLE %s' % quote(name)
sql += '(' + ', '.join('%s %s' % (quote(n), t) for n, t in columns) + ')'
if inherits:
sql += ' INHERITS (%s)' % quote(inherits)
@ -450,7 +453,7 @@ class WcsOlapFeeder(object):
def create_labeled_table_serial(self, name, comment):
self.create_table(
name, [['id', 'serial primary key'], ['label', 'varchar']], comment=comment)
name, [['id', 'serial primary key'], ['label', 'varchar']], comment=comment, unlogged=False)
if self.prev_table_exists(name):
# Insert data from previous table
@ -465,7 +468,6 @@ class WcsOlapFeeder(object):
new_fields = [['id', 'serial primary key'], ['ref', 'varchar UNIQUE']] + fields
self.create_table(name, new_fields, comment=comment)
def do_referenced_data(self, name, data, result_column, update_column='label'):
to_insert = []
@ -503,7 +505,7 @@ class WcsOlapFeeder(object):
[
['id', 'integer primary key'],
['label', 'varchar']
], comment=comment)
], comment=comment, unlogged=False)
if self.prev_table_exists(name):
# Insert data from previous table