Skip to main content

Newt DB, the amphibious database

Project description

Python objects above, PostgreSQL JSONB below.

See http://www.newtdb.org

Newt DB requires Postgres 9.5 or later.

Changes

0.9.0 (2017-06-29)

  • Added an experimental feature to update auxiliary tables to support indexing data that comes from multiple newt records. (More on this later if initial experiment confirm the usefulness of this feature.)

0.8.0 (2017-06-20)

  • Changed the way records are written to the newt table:

    • Records are written in object id order.

    • Updated are applied using “upserts” so that records don’t disappear during the update process, which previously caused breakage when PostgreSQL operations during update (triggers or indexes) examined multiple records.

  • Postgres 9.5 or later is now required.

0.7.0 (2017-05-26)

  • Fixed: newt.db.search.query_data didn’t accept an ordinary ZODB connection.

  • The methods in newt.db.search that accept a connection now accept a database object (in addition to a Newt or ZODB connection).

0.6.0 (2017-04-19)

  • Add a -x/–transform option to the updater to specify a data-transformation function.

0.5.3 (2017-04-18)

  • Fixed: Newt DB couldn’t be added to an existing RelStorage database.

  • Removed the updater --redo option. It was implemented incorrectly. Implementing it correctly will be necessary at some point, but for now, we’ll punt.

  • Added a new --compute-missing option to compute missing Newt records after updating an application from plain RelStorage. (This is similar to the removed --redo but simpler and narrower in scope.)

0.5.2 (2017-04-01)

  • Fixed: Newt DB didn’t work with RelStorage 2.1.

0.5.1 (2017-03-30)

  • Fixed: When arguments are omitted, there were errors because psycopg2 was trying to do substitutions anyway and choking on % characters in like queries.

  • Fixed: Connection.search_batch didn’t allow arguments to be omitted.

0.5.0 (2017-03-30)

  • The newt.db.search module has a new read_only_cursor function for obtaining a database cursor for selecting data and for using the cursor’s mogrify method.

  • The helpers for setting up full-text search indexes now accept a config argument to specify the name of a PostgreSQL full-text search configuration.

  • The batch search methods (search_batch, and where_batch) now allow the arguments parameter to be omitted, which is useful when substitutions have been be applied with a cursor mogrify method before calling them.

  • The search methods (search, search_batch, where and where_batch) now accept binary queries. This is allow substitutions to be applied with a cursor mogrify method before calling them.

0.4.0 (2017-03-25)

  • Serialization of persistent object references and intra-record references (used only when there are cycles) was simplified and made easier to use.

    Note: The change to intra-object references is backward incompatible, however, intra-record cycles, and thus the use of intra-record references, are extremely rare and it isn’t thought that this change will affect anyone. If this causes problems, please create an issue.

    The change to persistent references was made in a backward-compatible way, but the backward compatibility support will be dropped in Newt DB version 1.

  • Added a data-transformation option:

    transformer

    Callable to transform data records after they’ve been converted to JSON.

0.3.0 (2017-02-10)

  • Added an API for following database changes.

  • Exposed JSON conversion as an API that can be used to for other applications than updating the newt table, like updating external indexes.

  • Created a JSON conversion object to support conversion customization.

  • Added zodburi, making it easier to use Newt DB with applications like Pyramid that use zodburi.

0.2.2 (2017-02-08)

  • Fixed a packaging bug.

0.2.1 (2017-02-06)

  • Fixed: Packing wasn’t handled correctly. Objects removed during packing weren’t removed from the newt table.

0.2.0 (2017-01-30)

  • Added PyPy support

  • Fixed: datetime values with time zones weren’t handled correctly.

0.1.2 (2017-01-26)

  • Fixed a number of documentation errors.

    (Documentation wasn’t tested, but now is, thankd to manuel.)

  • Added some missing names to newt.db.

0.1.1 (2017-01-24)

Fixed a small Python 2 bug that prevented import.

0.1.0 (2017-01-24)

Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

newt.db-0.9.0.tar.gz (41.2 kB view details)

Uploaded Source

File details

Details for the file newt.db-0.9.0.tar.gz.

File metadata

  • Download URL: newt.db-0.9.0.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for newt.db-0.9.0.tar.gz
Algorithm Hash digest
SHA256 4b015d6f67163a918f9d96e0314606248e1d49d0415f8430b660c91dff56e16b
MD5 e260475d995d36dd99de41d9aa402415
BLAKE2b-256 bb1d9abde4d388ebcdb07b5ece0c4a33f399302249a44cb6e6228ace66ddc456

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page