Package: newt.db
Python objects above, PostgreSQL JSONB below.Seehttp://www.newtdb.orgNewt DB requires Postgres 9.5 or later.Changes0.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 thenewttable: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--redooption. It was implemented incorrectly.
Implementing it correctly will be necessary at some point, but for
now, we’ll punt.Added a new--compute-missingoption to compute missing Newt
records after updating an application from plain RelStorage. (This
is similar to the removed--redobut 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 inlikequeries.Fixed: Connection.search_batch didn’t allow arguments to be omitted.0.5.0 (2017-03-30)Thenewt.db.searchmodule has a newread_only_cursorfunction for obtaining adatabase cursorfor selecting data and
for using thecursor’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, andwhere_batch) now
allow the arguments parameter to be omitted, which is useful when
substitutions have been be applied with acursor mogrify methodbefore
calling them.The search methods (search,search_batch,whereandwhere_batch) now accept binary queries.  This is allow
substitutions to be applied with acursor mogrify methodbefore
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,
pleasecreate 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:transformerCallable 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.Addedzodburi,
making it easier to use Newt DB with applications likePyramidthat
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 thenewttable.0.2.0 (2017-01-30)Added PyPy supportFixed:datetimevalues 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 tomanuel.)Added some missing names tonewt.db.0.1.1 (2017-01-24)Fixed a small Python 2 bug that prevented import.0.1.0 (2017-01-24)Initial release