Package: metapensiero.sqlalchemy.proxy
Version:5Author:Lele Gaifax <lele@metapensiero.it>license:GPLv3This package contains a few utilities to make it easier applying some filtering to a stock
query and obtaining the resultset in various formats.See latest documentation athttps://metapensierosqlalchemyproxy.readthedocs.io/en/latest/Tests suiteThe tests suite is based ontoxandpytest: to run it simply execute$ make checkThePostgreSQLunit requires an existing database calledmp_sa_proxy_testwith thehstoreextension, and that the current user can access it without password:$ createdb mp_sa_proxy_test
$ psql -c "create extension hstore;" mp_sa_proxy_testChanges5.14 (2020-04-25)Silently assume ASCending direction in sort criteria5.13 (2020-02-08)Remove deprecated call to pyramid.i18n.get_localizer()5.12 (2018-11-06)Fix deprecated import of abstract classed directly from the collections module5.11 (2018-09-09)Fix deprecation warning related to collections abstract classes import5.10 (2018-07-01)Fix failure extracting metadata of a column associated to a Sequence5.9 (2018-07-01)Rename theasyncmodule toasynciofor Python 3.7 compatibility5.8 (2018-04-13)Align the async layer with latest changes related toCompoundSelectsupport, now almost
complete5.7 (2018-04-13)Extend last fix to the Pyramidexpose()decorator (yes, I know, I shouldreallyinvest
some time in writing some tests for that…)5.6 (2018-04-12)HandleCompoundSelectsuch asSELECT 'foo' UNION SELECT 'bar'5.5 (2018-04-09)Fix… last fix :-|5.4 (2018-04-09)Fix regression that broke using a generator as an expose() function5.3 (2018-03-15)The Pyramidexpose()decorator now forwards unrecognized keyword arguments to the proxy
call5.2 (2018-03-12)Handle extraction of metadata from aBinaryExpressionsuch asSELECTjsonfield['attr']5.1 (2018-03-08)When a column has adefaultvalue, and it is directly computable (i.e. it is not a server
side default), then extract it into its metadata5.0 (2017-07-22)WarningThis releasebreaksbackward compatibility in several ways!More versatile way to add/override basic metadata information (seeregister_sa_type_metadata())More versatile way to use different JSON library or encode/decode settings (seeregister_json_decoder_encoder()): although the default implementation is still based onnssjson, it isnotrequired by default anymore at install timeBasic metadata changed:thewidthslot for all fields is gone, it’s more reasonably computed by the actual UI
framework in use: it was rather arbitrary anyway, and set tolength * 10for String
columnsthelengthslot is present only forStringcolumnsthetypeslot now basically follows the SQLAlchemy nomenclature, in particular:Integeris nowintegerinstead ofintBigIntegeris nowinteger, instead ofintwith an arbitrarily differentwidththan the
one used for IntegerNumericis nownumericinstead offloatDateTimeis nowdatetimeinstead ofdatewithtimestampset toTrueTimeis nowtimeinstead ofdatewithtimeset toTrueIntervalis nowintervalinstead ofstringwithtimedeltaset toTrueTextis nowtextinstead ofstringwith an arbitrarywidthof50UnicodeTextis nowtext`Unicodeis nowstringtheformatslot for DateTime, Date and Time fields is gone, as it was ExtJS specific4.8 (2017-06-17)Use a tuple instead of a list for theforeign_keysslot in metadata, and for theprimary_keytoo when it is composed by more than one column4.7 (2017-05-18)Properly recognize SA Interval() columns4.6 (2017-05-08)Handle big integers in metadata information4.5 (2017-04-10)Fix a crash when applying a filter on a non-existing column in a statement selecting from a
function4.4 (2017-04-01)Rename filter operatorCONTAINEDtoCONTAINS, and reimplement it to cover different
data types, in particular PostgreSQL’s ranges4.3 (2017-03-22)Minor tweak, no externally visible changes4.2 (2017-03-10)Reduce clutter, generating a simpler representation of Operator and Direction enums4.1 (2017-02-13)Fix an oversight in Filter tuple slots positions, to simplify Filter.make() implementation4.0 (2017-02-13)From now on, a Python3-only packageBackward incompatible sorters and filters refactor, to make interaction easier for code using
the libraryDrop obsolete Pylons extension3.6 (2017-01-11)New Sphinx documentationField’s metadata now carries also information about foreign keysHandle literal columns in core queries3.5 (2016-12-29)Fix incompatibility issue with SQLAlchemy 1.1.x when using ORM3.4 (2016-03-12)Better recognition of boolean argument values, coming from say an HTTP channel as string
literalsUse tox to run the tests3.3 (2016-02-23)Handle the case when the column type cannot be determined3.2 (2016-02-19)Fix corner case with queries ordered by a subselect3.1 (2016-02-07)Fix metadata extraction of labelled columns on joined tablesAdjust size of time fields and align them to the right3.0 (2016-02-03)Internal, backward incompatible code reorganization, splitting the main module into smaller
piecesHandle corner cases with joined queries involving aliased tablesPrevious changes arehere.