From 0ede474a8809ac11d307eccfaaed488b201786b3 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 24 Jul 2019 17:22:33 +0200 Subject: [PATCH 2/2] tomerge --- wcs_olap/feeder.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/wcs_olap/feeder.py b/wcs_olap/feeder.py index 62951fc..7611bae 100644 --- a/wcs_olap/feeder.py +++ b/wcs_olap/feeder.py @@ -384,20 +384,20 @@ CREATE TABLE public.dates AS (SELECT if self.prev_table_exists(name): # Insert data from previous table self.ex( - 'INSERT INTO {schema_temp}.{name} select * FROM {schema}.{name}', + 'INSERT INTO {schema_temp}."{name}" select * FROM {schema}."{name}"', ctx={'name': name} ) # Find what is missing to_insert = [] for _id, _label in labels: self.ex( - 'SELECT * FROM {name} WHERE label = %s', ctx={'name': name}, vars=(_label,)) + 'SELECT * FROM "{name}" WHERE label = %s', ctx={'name': name}, vars=(_label,)) if self.cur.fetchone() is None: to_insert.append(_label) labels = None if to_insert: - self.ex('SELECT MAX(id) FROM {name}', ctx={'name': name}) + self.ex('SELECT MAX(id) FROM "{name}"', ctx={'name': name}) next_id = (self.cur.fetchone()[0] or 0) + 1 ids = range(next_id, next_id + len(to_insert)) labels = zip(ids, to_insert) @@ -408,11 +408,11 @@ CREATE TABLE public.dates AS (SELECT if labels: tmpl = ', '.join(['(%s, %s)'] * len(labels)) - query_str = 'INSERT INTO {name} (id, label) VALUES %s' % tmpl + query_str = 'INSERT INTO "{name}" (id, label) VALUES %s' % tmpl self.ex(query_str, ctx={'name': name}, vars=list(itertools.chain(*labels))) res = {} - self.ex("SELECT id, label FROM %s" % str(name)) + self.ex('SELECT id, label FROM "{name}"', ctx={'name': name}) for id_, label in self.cur.fetchall(): res[label] = id_ return res @@ -461,7 +461,7 @@ CREATE TABLE public.dates AS (SELECT self.ex('CREATE TABLE "{form_table}" (id serial PRIMARY KEY,' ' category_id integer REFERENCES {category_table} (id),' ' label varchar)') - self.ex('COMMENT ON TABLE {form_table} IS %s', vars=(u'types de formulaire',)) + self.ex('COMMENT ON TABLE "{form_table}" IS %s', vars=(u'types de formulaire',)) # agents self.create_labeled_table_serial('agent', comment=u'agents') @@ -661,7 +661,7 @@ class WcsFormdefFeeder(object): self.create_table('{formdata_table}', columns, inherits='{generic_formdata_table}', comment=u'formulaire %s' % self.formdef.schema.name) for at, comment in comments.iteritems(): - self.ex('COMMENT ON COLUMN {formdata_table}."%s" IS %%s' % at, vars=(comment,)) + self.ex('COMMENT ON COLUMN "{formdata_table}"."%s" IS %%s' % at, vars=(comment,)) # Creat index for JSON fields if self.has_jsonb: @@ -676,18 +676,18 @@ class WcsFormdefFeeder(object): continue i = _type.index('REFERENCES') constraint = '%s_fk_constraint FOREIGN KEY (%s) %s' % (name, name, _type[i:]) - self.ex('ALTER TABLE {formdata_table} ADD CONSTRAINT %s' % constraint) - self.ex('ALTER TABLE {formdata_table} ADD PRIMARY KEY (id)') + self.ex('ALTER TABLE "{formdata_table}" ADD CONSTRAINT %s' % constraint) + self.ex('ALTER TABLE "{formdata_table}" ADD PRIMARY KEY (id)') # table des evolutions self.create_table('{evolution_table}', [ ['id', 'serial primary key'], - ['status_id', 'smallint REFERENCES {status_table} (id)'], - ['formdata_id', 'integer REFERENCES {formdata_table} (id)'], + ['status_id', 'smallint REFERENCES "{status_table}" (id)'], + ['formdata_id', 'integer REFERENCES "{formdata_table}" (id)'], ['time', 'timestamp'], ['date', 'date'], ['hour_id', 'smallint REFERENCES {hour_table} (id)'], ]) - self.ex('COMMENT ON TABLE {evolution_table} IS %s', + self.ex('COMMENT ON TABLE "{evolution_table}" IS %s', vars=(u'evolution des demandes %s' % self.formdef.schema.name,)) def insert_item_value(self, field, value): @@ -836,7 +836,7 @@ class WcsFormdefFeeder(object): if not values: self.logger.warning('no data') return - self.ex('INSERT INTO {formdata_table} ({columns}) VALUES {values} RETURNING id', + self.ex('INSERT INTO "{formdata_table}" ({columns}) VALUES {values} RETURNING id', ctx=dict(columns=', '.join(['"%s"' % column for column in self.columns[1:]]), values=', '.join(values))) # insert generic evolutions @@ -863,12 +863,12 @@ class WcsFormdefFeeder(object): row[0] = formdata_id evolutions.append(tuple(row)) if len(evolutions) == 500: - self.ex('INSERT INTO {evolution_table} (%s) VALUES %s' % ( + self.ex('INSERT INTO "{evolution_table}" (%s) VALUES %s' % ( ', '.join(['formdata_id', 'status_id', 'time', 'date', 'hour_id']), ', '.join(['%s'] * len(evolutions))), vars=evolutions) evolutions = [] if evolutions: - self.ex('INSERT INTO {evolution_table} (%s) VALUES %s' % ( + self.ex('INSERT INTO "{evolution_table}" (%s) VALUES %s' % ( ', '.join(['formdata_id', 'status_id', 'time', 'date', 'hour_id']), ', '.join(['%s'] * len(evolutions))), vars=evolutions) -- 2.22.0