[Sqlalchemy-tickets] Issue #3840: Autocommit for REFRESH MATERIALIZED VIEW (zzzeek/sqlalchemy)
Brought to you by:
zzzeek
From: Frazer M. <iss...@bi...> - 2016-10-27 13:14:59
|
New issue 3840: Autocommit for REFRESH MATERIALIZED VIEW https://bitbucket.org/zzzeek/sqlalchemy/issues/3840/autocommit-for-refresh-materialized-view Frazer McLean: I would expect that `REFRESH MATERIALIZED VIEW` on PostgreSQL is treated similarly to UPDATE/INSERT/CREATE/DELETE/DROP/ALTER. Failing MCVE: ``` from sqlalchemy import Column, Integer, MetaData, Table, create_engine, text metadata = MetaData() foo = Table('foo', metadata, Column('id', Integer, primary_key=True)) engine = create_engine('postgres://scott:tiger@localhost/test') foo.create(bind=engine) engine.execute(''' CREATE MATERIALIZED VIEW IF NOT EXISTS bar AS ( SELECT id FROM foo ) ''') engine.execute(foo.insert()) assert engine.scalar('SELECT count(*) FROM bar') == 0 engine.execute('REFRESH MATERIALIZED VIEW bar') # engine.execute(text('REFRESH MATERIALIZED VIEW bar').execution_options(autocommit=True)) assert engine.scalar('SELECT count(*) FROM bar') == 1 ``` |