annotate roundup/anypy/dbm_.py @ 6806:bdd28b244839

- issue2551223 - fix timestamp truncation in mysql and postgresql The data types used to represent timestamps in pg and mysql for ephemeral tables: sessions and otks don't have enough signifcant digits to work. As a result the timestamps are rounduped (up/down) rsuling in the stored timestamp being 2 minutes (pg) or 2-3 hours(mysql) off from what it should be. Modify db schema to use a numeric type that preserves more significant figures. Implement schema upgrade. Document need for upgrade in upgrading.txt. Write tests for schema upgrade. Implement test for updateTimestamp method on BasicDatabase that showed this issue in the first place. Write overrides for test for anydbm/memorydb which store timestamp properly or not at all.
author John Rouillard <rouilj@ieee.org>
date Mon, 25 Jul 2022 17:20:20 -0400
parents d5da643b3d25
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4360
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 # In Python 3 the "anydbm" module was renamed to be "dbm" which is now a
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # package containing the various implementations. The "wichdb" module's
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # whichdb() function was moved to the new "dbm" module.
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 try:
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 # old school first because <3 had a "dbm" module too...
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 import anydbm
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 from whichdb import whichdb
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 except ImportError:
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 # python 3+
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 import dbm as anydbm
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 whichdb = anydbm.whichdb

Roundup Issue Tracker: http://roundup-tracker.org/