Commit Graph

46 Commits

Author SHA1 Message Date
Erlend E. Aasland 6d9141ed76
gh-100414: Make dbm.sqlite3 the preferred dbm backend (#115447) 2024-02-14 13:47:19 +00:00
Erlend E. Aasland dd5e4d9078
gh-100414: Add SQLite backend to dbm (#114481)
Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2024-02-14 11:14:56 +00:00
Serhiy Storchaka fc06096911
gh-83383: Always mark the dbm.dumb database as unmodified after open() and sync() (GH-114560)
The directory file for a newly created database is now created
immediately after opening instead of deferring this until synchronizing
or closing.
2024-02-04 17:23:26 +02:00
Henry-Joseph Audéoud 707137b863
bpo-40563: Support pathlike objects on dbm/shelve (GH-21849)
Co-authored-by: Hakan Çelik <hakancelik96@outlook.com>
2021-09-10 15:26:16 +03:00
Marco Rougeth 81c5a90595 bpo-36232: Improve error message on dbm.open() when the db doesn't exist (GH-12060) 2019-04-29 16:23:28 -07:00
Anthony Sottile 8377cd4fcd Clean up code which checked presence of os.{stat,lstat,chmod} (#11643) 2019-02-25 23:32:27 +01:00
Xiang Zhang 4fb0b8bc25
bpo-33106: change dbm key deletion error for readonly file from KeyError to dbm.error (#6295) 2018-12-12 20:46:55 +08:00
Serhiy Storchaka 6c85efa5a6
bpo-32749: Make dbm.dumb databases more cosistent with other dbm databases. (#5497) 2018-02-05 22:47:31 +02:00
Serhiy Storchaka 2e576f5aec bpo-30144: Import collections ABC from collections.abc rather than collections. (#1263) 2017-04-24 09:05:00 +03:00
Serhiy Storchaka 4fc7942118 Issue #28847: A deprecation warning is now emitted if the index file is missed
and recreated in the 'r' and 'w' modes (will be an error in future Python
releases).
2016-12-07 11:11:12 +02:00
Serhiy Storchaka 520348e5c0 Issue #28847: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.
2016-12-07 11:00:06 +02:00
Serhiy Storchaka 028ace1ccb Issue #28847: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.
2016-12-07 10:56:39 +02:00
Serhiy Storchaka 0122ae9ac8 Issue #21708: Deprecated dbm.dumb behavior that differs from common dbm
behavior: creating a database in 'r' and 'w' modes and modifying a database
in 'r' mode.
2016-07-06 12:21:58 +03:00
Serhiy Storchaka 2116b12da5 Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:29:28 +03:00
Serhiy Storchaka 7e7a3dba5f Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:24:41 +03:00
Serhiy Storchaka 46ba6c8563 Issue #22831: Use "with" to avoid possible fd leaks. 2015-04-04 11:01:02 +03:00
Serhiy Storchaka 23edd49e5b Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb
module.  Original patch by Claudiu Popa.
2015-02-16 00:32:41 +02:00
Serhiy Storchaka 74eb8b2d1a Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb
module.  Original patch by Claudiu Popa.
2015-02-16 00:30:43 +02:00
Serhiy Storchaka e5243cc713 Issue #21729: Used the "with" statement in the dbm.dumb module to ensure
files closing.  Patch by Claudiu Popa.
2014-06-25 20:37:30 +03:00
Serhiy Storchaka 65c623de74 Issue #21729: Used the "with" statement in the dbm.dumb module to ensure
files closing.  Patch by Claudiu Popa.
2014-06-25 20:35:31 +03:00
Serhiy Storchaka b398d33c65 Issue #18039: dbm.dump.open() now always creates a new database when the
flag has the value 'n'.  Patch by Claudiu Popa.
2014-06-10 21:16:00 +03:00
Serhiy Storchaka 12c575f2f6 Restore performance of some dumb database methods (regression introduced by #19385). 2014-05-28 18:49:52 +03:00
Benjamin Peterson e3083d3ad5 make operations on closed dumb databases raise a consistent exception (closes #19385)
Patch by Claudiu Popa.
2014-04-26 16:56:52 -04:00
Nick Coghlan c610aba1ed Close #19282: Native context management in dbm 2013-11-17 15:59:51 +10:00
Ezio Melotti 9f96789cdc #17198: merge with 3.3. 2013-07-07 13:16:05 +02:00
Ezio Melotti b08495bbcf #17198: Fix a NameError in the dbm module. Patch by Valentina Mukhamedzhanova. 2013-07-07 13:15:08 +02:00
Andrew Svetlov f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Andrew Svetlov ad28c7f9da Issue #16706: get rid of os.error 2012-12-18 22:02:39 +02:00
Jesus Cea f1af705720 #16135: Removal of OS/2 support (Remove OS2 and OS/2 references) 2012-10-05 02:48:46 +02:00
Jesus Cea bc566b00ad Close #13007: whichdb should recognize gdbm 1.9 magic numbers 2011-09-19 17:08:18 +02:00
Éric Araujo 37e6c54ba1 Merge 3.1 2011-04-20 19:24:09 +02:00
Éric Araujo f8e1b60799 Add docstring to dbm.open 2011-04-20 18:52:55 +02:00
briancurtin 525c25d42f Fix #11491. When dbm.open was called with a file which already exists and
the "flag" argument is "n", dbm.error was being raised. As documented,
dbm.open(...,flag='n') will now "Always create a new, empty database,
open for reading and writing", regardless of a previous file existing.
2011-03-14 16:03:54 -04:00
briancurtin 94eceeb89c Fix #11491. When dbm.open was called with a file which already exists and
the "flag" argument is "n", dbm.error was being raised. As documented,
dbm.open(...,flag='n') will now "Always create a new, empty database,
open for reading and writing", regardless of a previous file existing.
2011-03-14 15:35:35 -04:00
Georg Brandl d9e833c70a #6045: provide at least get() and setdefault() for all dbm modules. 2010-12-04 09:14:36 +00:00
Victor Stinner 1cec3e367c #9397: remove mention of dbm.bsd which does not exist anymore. 2010-07-29 16:26:56 +00:00
Antoine Pitrou 56e00caad7 Backporting since it would have helped us find a regression.
Merged revisions 75314 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75314 | antoine.pitrou | 2009-10-10 23:08:31 +0200 (sam., 10 oct. 2009) | 10 lines

  Merged revisions 75312 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75312 | antoine.pitrou | 2009-10-10 22:52:11 +0200 (sam., 10 oct. 2009) | 4 lines

    Issue #7055: test___all__ now greedily detects all modules which have an
    __all__ attribute, rather than using a hardcoded and incomplete list.
  ........
................
2009-10-27 13:08:37 +00:00
Antoine Pitrou a328029c9a Redundancy isn't needed here.
Redundancy isn't needed here.
2009-10-10 21:28:29 +00:00
Antoine Pitrou 4de39cda18 Merged revisions 75312 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75312 | antoine.pitrou | 2009-10-10 22:52:11 +0200 (sam., 10 oct. 2009) | 4 lines

  Issue #7055: test___all__ now greedily detects all modules which have an
  __all__ attribute, rather than using a hardcoded and incomplete list.
........
2009-10-10 21:08:31 +00:00
Georg Brandl 170fb04038 We dont have dbm.bsd support anymore. 2009-05-17 08:42:58 +00:00
Brett Cannon 2b5d6ebfe5 dbm.dumb was opening files without specifying the encoding. Caused problem on
at least OS X where the default is macroman.

Closes issue #4382.
2008-11-24 21:09:58 +00:00
Brett Cannon 58425d3103 Make dbm.dumb encode strings as UTF-8. Also fix it so it accepts bytes and
strings.

Closes issue #3799.
2008-11-21 00:17:53 +00:00
Amaury Forgeot d'Arc b5cf301b8e #3929: dbm.open() would try to raise a tuple. This does not work anymore with python 3.0.
Reviewed by Georg Brandl.
2008-09-25 22:27:43 +00:00
Benjamin Peterson 6ba2332f55 clean up some more bsddb scraps 2008-09-03 22:59:38 +00:00
Georg Brandl b17acad68e Make db modules' error classes inherit IOError.
Stop dbm from importing every dbm module when imported.
2008-05-28 08:43:17 +00:00
Georg Brandl 0a7ac7d70d Create the dbm package from PEP 3108. #2881. 2008-05-26 10:29:35 +00:00