Project

General

Profile

Statistics
| Revision:
Name Size Revision Age Author Comment
  _archive 1598 over 12 years Aaron Marcuse-Kubitza Moved _archive/tapir2flatClient/trunk/client/ t...
  bin 2898 over 12 years Aaron Marcuse-Kubitza bin/map: connect_db(): Only use autocommit mode...
  config 272 almost 13 years Aaron Marcuse-Kubitza Moved bien_password to new config dir
  inputs 2891 over 12 years Aaron Marcuse-Kubitza input.Makefile: Staging tables: import/install-...
  lib 2909 over 12 years Aaron Marcuse-Kubitza sql.py: put_table(): Document that must be run ...
  mappings 2529 over 12 years Aaron Marcuse-Kubitza mappings/DwC2-VegBIEN.specimens.csv: Removed _t...
  schemas 2888 over 12 years Aaron Marcuse-Kubitza schemas/vegbien.sql: method: Changed indexes to...
  to_do 2547 over 12 years Aaron Marcuse-Kubitza to_do/timeline.doc: Updated to reflect the mont...
Makefile 10.1 KB 2901 over 12 years Aaron Marcuse-Kubitza main Makefile: schemas/rotate: Fixed bug where ...
README.TXT 2.7 KB 1967 over 12 years Aaron Marcuse-Kubitza main Makefile: VegBIEN DB: Install public schem...
map 978 Bytes 1979 over 12 years Aaron Marcuse-Kubitza root map: Fill in defaults for inputs from VegB...

Latest revisions

# Date Author Comment
2909 06/15/2012 05:52 AM Aaron Marcuse-Kubitza

sql.py: put_table(): Document that must be run at the beginning of a transaction

2908 06/15/2012 05:49 AM Aaron Marcuse-Kubitza

sql.py: put_table(), mk_select(): Switched back to having put_table() acquire the EXCLUSIVE locks, but right at the beginning of the transaction, in order to avoid lock upgrades which cause deadlocks

2907 06/15/2012 05:35 AM Aaron Marcuse-Kubitza

sql.py: with_autocommit(): Only allow turning autocommit on, because the opposite is not meaningful and may conflict with the session-global isolation level

2906 06/15/2012 05:33 AM Aaron Marcuse-Kubitza

sql.py: DbConn: Set the transaction isolation level to READ COMMITTED using set_isolation_level() so that the isolation level affects all transactions in the session, not just the current one

2905 06/15/2012 05:21 AM Aaron Marcuse-Kubitza

sql.py: DbConn: Always set the transaction isolation level to READ COMMITTED so that when a table is locked for update, its contents are frozen at that point rather than earlier. This ensures that no concurrent duplicate keys were inserted between the time the table was snapshotted (at the beginning of the transaction for SERIALIZABLE) and the time it was locked for update.

2904 06/15/2012 05:02 AM Aaron Marcuse-Kubitza

sql.py: put_table(): Removed locking output tables to prevent concurrent duplicate keys because that is now done automatically by mk_select()

2903 06/15/2012 05:01 AM Aaron Marcuse-Kubitza

sql.py: mk_select(): Filtering on no match: Lock the joined table in EXCLUSIVE mode to prevent concurrent duplicate keys when used with INSERT SELECT

2902 06/15/2012 04:59 AM Aaron Marcuse-Kubitza

sql_gen.py: Added underlying_table() and use it in underlying_col()

2901 06/15/2012 04:39 AM Aaron Marcuse-Kubitza

main Makefile: schemas/rotate: Fixed bug where needed to run schemas/public/install, not full schemas/install, after renaming public schema

2900 06/15/2012 04:32 AM Aaron Marcuse-Kubitza

sql.py: put_table(): Lock output tables to prevent concurrent duplicate keys

View all revisions | View revisions

Also available in: Atom