lp:~ack/storm/postgres-explain

Created by Alberto Donato and last modified
Get this branch:
bzr branch lp:~ack/storm/postgres-explain
Only Alberto Donato can upload to this branch. If you are Alberto Donato please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Alberto Donato
Project:
Storm
Status:
Development

Recent revisions

454. By Alberto Donato

Support for Postgres EXPLAIN statement.

453. By Free Ekanayaka

Use 'IF EXISTS' when running the 'DROP TABLE patch' statement in Schema.drop, in case the user-supplied drop statements have already dropped the patch table [trivial] [r=therve]

452. By Free Ekanayaka

In ZStormResourceManager set the schema store URI all the times, to let clean() run the schema delete statements if needed [trivial] [r=therve]

451. By Free Ekanayaka

Merge fast-schema-check-in-resource-manager [f=1036158] [r=lifeless,therve]

This branch makes ZStormResourceManager's setup a bit faster between subsequent
test runs, by saving timestamps of schema's patch packages and using them to
decide whether to upgrade the schema or not. For example one can set
ZStormResourceManager.schema_stamp_dir to something like /tmp/my-project-zstorm-stamp
to achieve faster and yet safe setups across all project's branches.

Furthermore, it changes ZStormResourceManager.make() to not create all stores
upfront, but lazily, when they are actually used by tests or code under test.

450. By Guilherme Salgado

Add connection commit/rollback tracer hooks and use them in the TimeoutTracer
to reset connection._timeout_tracer_remaining_time. [r=radix,allenap]

This is to fix a bug in which the first query of a transaction could run
with no timeout set because of the _timeout_tracer_remaining_time left
in the connection during the previous transaction.

449. By Free Ekanayaka

Merge tpc-support [f=132485] [r=stub,therve]

This branch adds support for two-phase commits, using the DB API
version 2.0 (only implemented by psycopg2 at the moment). An example
usage is:

xid = Xid(0, "my-txn", "my-branch") # This models a XA-compliant transaction ID
store.begin(xid)
store.execute(...)
store.prepare()
store.commit()

Or using ZStorm, just call zstorm.set_default_tpc("my-store", True) and ZStorm
will automatically use two-phase commit for that store when running
transaction.commit().

In order to transparently use store.commit() and store.rollback(), without
introducing two new ad-hoc APIs (e.g. Store.tpc_commit/Store.tpc_rollback),
the code of the Connection class keeps track of whether we are in two-phase
transaction or in a regular one, and uses the raw connection's DB API
tpc_commit/tpc_rollback or commit/rollback methods accordingly.

448. By Sidnei da Silva

Fix wsgi.make_app() to not make assumptions about how to consume data from whatever is returned by its inner app() call [r=sidnei, therve]

447. By James Henstridge

If initialize_globals() fails on the first call, make it fail on
subsequent calls too.
[r=free.ekanayaka, therve] [f=1006284]

446. By Free Ekanayaka

Provide the IZStorm utility before applying patches, to make it available to them [trivial] [r=therve]

445. By Thomas Herve

Merge psycopg2-2.4-pgbouncer [a=wgrant] [r=stub,therve] [f=959699]

Catch DatabaseError on to check for disconnection error, fixing a problem with
pgbouncer and psycopg2 2.4.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:storm
This branch contains Public information 
Everyone can see this information.

Subscribers