ChangeLog
author Jérémy Bobbio <jeremy.bobbio@irq7.fr>
Tue, 04 Jun 2019 11:53:03 +0200
changeset 862 942ef0731f4c
parent 791 829796293f62
permissions -rw-r--r--
Update Debian packaging Various improvements to Debian packaging: - Depend on python-yapps and python3-yapps for YAPPS runtime. - Use PYBUILD_NAME instead of debian/*.install files. - Use python3-sphinx instead of obsolete Python 2 version. - Always build Python 3 package. - Run tests at build time and adds relevant packages to Build-Depends. - Add superficial autopkgtest using autodep8. - Add autopkgtest script to run unittest against installed packages. - Add Vcs-Hg and Vcs-Browser fields. - Update Standards-Version to 4.3.0. In order to run the tests at build time and with autopkgtest, they need to be made part of the Python source package. The manifest has been modified accordingly.

ChangeLog for RQL
=================

2016-01-04  --  0.34.0
    * #1167312: python3 compatibility.
      WARNING: the as_string() method no longer accepts an "encoding"
      argument.

    * #3248236: test and fix implementation of get_type for date arithmetic,
      including support for TZDatetime.


2015-09-07  --  0.33.2
    * #298337: don't crash in setup.py if we don't have g++


2015-07-15  --  0.33.1
    * #297522: misc fixes towards python3 compatibility

    * #278637: package layout change for better setuptools compatibility


2014-07-09  --  0.33.0
    * #79232: fix syntax checking for CAST


2014-06-06  --  0.32.0
    * #245540: compatibility with yapps2, as released on pypi

    * #34252: add pygments plugin for RQL

    * #240176: allow more than one non-"=" uid restriction


2014-03-11  --  0.31.5
    * #176472: fix implementation of add_type_restriction vs is_instance_of

    * #176469: add_type_restriction is not properly undoable in some cases



2012-03-29  --  0.31.2
    * #88559: speed up query solutions analysis

    * moved valuable_references from Variable to Referencable, it makes sense for
      ColumnAliases as well

    * various cleanups



2012-02-03  --  0.31.1
    * #87988: fixed bug in simplify with sub-queries



2011-11-09  --  0.31.0
    * #78681: don't crash on column aliases used in outer join

    * #81394: HAVING support in write queries (INSERT,SET,DELETE)

    * #80799: fix wrong type analysis with 'NOT identity'

    * when possible, use entity type as translation context of relation
      (break cw < 3.13.10 compat)

    * #81817: fix add_type_restriction for cases where some types restriction is already in there



2011-09-07  --  0.30.1
    * #74727: allow entity types to end with a capitalized letter
      provided they contain a lower-cased letter



2011-08-05  --  0.30.0
    * #72295: add some missing operators:

        - % (modulo),
        - ^ (power),
        - & (bitwise AND),
        - | (bitwise OR),
        - # (bitwise XOR),
        - << (bitwise left shift),
        - >> (bitwise right shift)

    * #72052: new optional 'optcomparisons' key in variable stinfo, containing
      HAVING comparison nodes where it's used and optional (eg outer
      join)

    * #69185: fix syntax error with unary operators by introducing
      `UnaryExpression` node

    * drop old backward compat for ORDERBY/GROUPBY after where clause

    * fix Comparison.as_string to considerer its optional attribute



2011-07-27  --  0.29.1
    * #70264: remove_group_var renamed into remove_group_term and fixed
      implementation

    * #70416: rql annotator add 'having' list into variable's stinfo, and
      properly update variable graph

    * #71131: as_string doesn't  propagate encoding/kwargs to subqueries

    * #71132: column alias scope should be handled as variable scope, not bound
      to subquery

    * #71157: bad analyze when using functions

    * #71415: needs to allow outer join on rhs of final relation and in HAVING express

    * Select.replace must properly reset old node's parent attribute

    * new undo_modification context manager on select nodes



2011-06-09  --  0.29.0
    * support != operator for non equality

    * support for CAST function

    * support for regexp-based pattern matching using a REGEXP operator

    * may now GROUPBY functions / column number

    * fix parsing of negative float



2011-01-12  --  0.28.0
    * enhance rewrite_shared_optional so one can specify where the new identity
      relation should be added (used by cw multi-sources planner)



2010-10-13  --  0.27.0
    * select.undefine_variable properly cleanup solutions (and restore them on
      undo)

    * fix potential crash in Referenceable.get_description

    * introduce make_constant_restriction function, useful to build a
      restriction without adding it yet to the tree



2010-09-10  --  0.26.6
    * enhance bad rql query detection with ordered distinct (can't use distinct
      if an attribute is selected and we sort on another attribute)

    * fix subquery_selection_index responsability mess-up: it wasn't doing what
      it should have done (see cw.rset related_entity implementation)

    * consider subquery aliases in Select.clean_solutions

    * add constraint package to setuptools dependencies so we've fallback
      opportunity if gecode is not installed

    * fix setuptools dependency on yapps by forcing install of our custom
      package, so it don't try to install pypi's one which doesn't work well
      with both pip and easy_install



2010-08-02  --  0.26.5
    * fix solutions computation crash with some query using sub-queries (closes #37423)



2010-07-28  --  0.26.4
    * fix re-annotation pb: some stinfo keys were not properly reinitialized
      which may cause pb later (at sql generation time for instance)



2010-06-21  --  0.26.3
    * support for node from having in Select.remove

    * enhanced Select.replace method

    * rql st checker now checks function avaibility according to backend (if specified)



2010-06-11  --  0.26.2
    * totally remove 'IS' operator

    * replace get_variable_variables by get_variable_indicies

    * fix rule order so 'HAVING (X op Y)' is now parseable while 'HAVING (1+2) op Y' isn't anymore parseable

    * fix simplification bug with ored uid relations



2010-06-04  --  0.26.1
    * normalize NOT() to NOT EXISTS() when it makes sense

    * fix grammar bug in HAVING clause: should all arbitrary expression and fix to deal with IN() hack



2010-04-20  --  0.26.0
    * setuptools support

    * variable and column alias stinfo optimization

    * analyzer return key used in args to unambiguify solutions

    * rewrite_shared_optional refactoring



2010-03-16  --  0.25.0
    * depends on logilab-database

    * raise BadRQLQuery when using optional on attribute relation



2010-02-10  --  0.24.0
    * update to yams 0.27 api

    * fully dropped mx support

    * various bugs fixed



2009-08-26  --  0.23.0
    * Union.locate_subquery now return a 2-uple (select subquery, column index in the subquery)

    * new subquery_selection_index method on Union

    * new root_selection_index method on VariableRef



2009-08-18  --  0.22.2
    * fixes to compile with different versions of gecode



2009-05-04  --  0.22.0
    * consider subqueries in variables graph

    * py datetime support (must be explicitly activated until we drop mx.DateTime support)

    * implements main_relation on ColumnAlias



2009-02-17  --  0.21.0
    * new type solver based on gecode



2008-10-17  --  0.20.2
    * new remove_subquery method on Select node

    * remove_node accepts a new 'undefine' argument (default to False for bw compat)
     telling if it should undefine no more referenced variables



2008-10-09  --  0.20.1
    * introduce "sqlscope" where NOT node is considered as a new scope

    * rql checker raise BadRQLQuery for inconsistent orderby on distinct query

    * correctly restore .parent when undoing RemoveNodeOperation



2008-09-24  --  0.20.0
    * is_instance_of support

    * raise BadRQLQuery on queries like 'Any X WHERE X name Toto, P is Person'

    * "NOT X identity Y" is now allowed

    * do not add relation constraint on variables used in math expression



2008-08-29  --  0.19.2
    * fix undoing of add_relation and variable name allocation on query using
      some subquery

    * add missing selected_index() method on ColumnAlias

    * set_possible_types() propagate to sub-queries since some additional
      type constraints may be set in the outer query

    * new type resolver ignore type restrictions, used by erudi during syntax
      tree annotation



2008-08-07  --  0.19.1
    * should not simplify variables used in the GROUPBY clause when there is a
      HAVING clause

    * implements set_limit / set_offset on UNION nodes



2008-07-22  --  0.19.0
    * grammar changes: LIMIT / OFFSET should now be before the WHERE clause,
      though bw compat will be kept for some time

    * when simplifying constant uid nodes, don't remove them from group terms if
      there is a HAVING clause

    * new get_variable_variables on Union and Select nodes



2008-07-04  --  0.18.3
    * fix add_type_restriction to support frozenset and dict of types



2008-06-06  --  0.18.2
    * remove group/sort undoing fix

    * set stinfo['possibletypes'] and update solution dictionnary for variable
      inserted for new identity relation

    * error resilient unregister_reference

    * init variable annotation information on annotation, not variable
      instanciation



2008-05-12  --  0.18.1
    * bugfix in remove_groups and remove_sort_terms



2008-05-08  --  0.18.0
    * UNION support

    * HAVING support

    * GROUPBY and ORDERBY moved *before* WHERE

    * code cleanup, fixes and refactorings



2008-03-26  --  0.17.2
    * fix a bug in get_solutions,possible_types should be reseted first

    * some documentation update



2008-03-12  --  0.17.1
    * method to add group variable with undoing support

    * fix remove_sort_term



2008-02-27  --  0.17.0
    * use bool values for Boolean constants, None for NULL constant

    * allow one char relation names

    * allow multiple capitalized characters in entity types



2008-02-15  --  0.16.0
    * understand "C is NULL"

    * allow multiple annotation

    * fix stinfo['possibletypes']



2008-01-25  --  0.15.4
    * better add_type_restriction methods

    * nicer error message in stcheck

    * fix some buggy assertion in editextensions



2008-01-17  --  0.15.3
    * only put valuable relations in uidrels

    * always put an operator node as rhs children of a Relation

    * fix rewrite-shared_optional to correctly update stinfo

    * new index_path / go_to_index_path methodes



2008-01-14  --  0.15.2
    * fix nested aggregat checking

    * fix a bug in Relation.__repr__

    * fix should_register_op which was expected to be a property

    * support for undoing limit/offset change



2008-01-07  --  0.15.1
    * ensure some attributes are encoded strings



2007-12-11  --  0.15.0
    * cleanup, optimizations, some api changes



2007-11-26  --  0.14.0
    * Node.get_type take kwargs as second argument to better guess the type of
      constants

    * new attrvars stinfo

    * new scope attribute on other nodes than Variable

    * thread safety for the RQLHleper



2007-10-29  --  0.13.0
    * use lgc.adbh module



2007-10-23  --  0.12.0
    * add ILIKE comparison operator, '~=' operator is now aliased to ILIKE
      instead of LIKE

    * variable scope handling



2007-06-04  --  0.11.3
    * as_string w/ kwargs fix

    * get_description fix on Variable, enhancement on Function by delegating
      to the function's description



2007-05-23  --  0.11.2
    * fix as_string bug for NOW/TODAY constants which may cause coercion bugs

    * as_string with now encoding specified will (hum, probably) return an
      unicode string



2007-05-14  --  0.11.1
    * Sortterm.var -> Sortterm.term

    * fix function name normalization

    * make remove_node available without having to import editextensions



2007-04-05  --  0.11.0
    * EXISTS support

    * proper get_type/get_description api, try to coerce math expression
      in get_type

    * some edition api cleanup



2007-03-08  --  0.10.2
    * fix #17887: analyzis error on "Any U WHERE NOT U owned_by U"

    * fix #17907: annotation foire potentiellement sur arbre simplifiť



2007-02-09  --  0.10.1
    * fix rewriting bug: variable used in an optional relation can't be
      rewritten

    * new 'main_relation' method on variable



2007-02-02  --  0.10.0
    * allow variable as rhs of 'is' relation

    * can use Any as type specification in DELETE queries (eg DELETE Any X)

    * fix type inference when non '=' operator on uid relation



2006-11-15  --  0.9.1
    * fix Variable.selected_index()

    * do not raise bad rql query on non selected sorted variable in
      distinct query since this is supported by erudi's rql engine



2006-11-14  --  0.9.0
    * proper full/right/left outer join support

    * removed a buggy assertion in stcheck on aggregat function

    * new .selected_index method on Variable



2006-10-31  --  0.8.1
    * fix SortTerm implementation

    * fix a NameError in set_offset/set_limit and regenerate parser to
      use those methods

    * stinfo['references'] is now a list since order is important



2006-10-27  --  0.8.0
    * fix grammar for negative integer :/

    * simplify generated subtree for IN(onechildren)

    * stcheck is now doing full annotation and additional constant variable
      rewriting

    * do not include yapps anymore

    * removed broken C parser

    * fixes to follow yams api changes

    * editextensions fixes



2006-10-08  --  0.7.2
    * add missing as_string method on groups and sorts

    * detect that queries like "Any C where C suivi_par P, P eid %(x)s ORDERBY N"
      are incorrect (N isn't defined)



2006-09-22  --  0.7.1
    * fix as_string bugs

    * fix a bug in stcheck to detect bad queries when aggregat/transform
      functions are used



2006-09-05  --  0.7.0
    * new method on variable to get the name of relations where it's used

    * new function into utils to register known registered procedures

    * fixed grammar to allow "_" into function name



2006-06-08  --  0.6.0
    * new add method on statement



2006-05-21  --  0.5.2
    * fixed syntax tree copy, just call stmt.copy() to have a
      full deep copy

    * support for substitute on uid relation in the type analyzer
      (this implies to give the kwargs dictionary of the query to the
      analyzer)



2006-03-28  --  0.4.2
    * fixed a bug when a variable is related to itself

    * allow numbers in variable and entity types

    * C parser (disabled by default)



2006-02-10  --  0.4.1
    * fix set_distinct so that previous distinct attribute is correctly undoed
      if necessary

    * remove a false assertion in remove_selected

    * remove unnecessary OR from the tree when used with a symetric relation



2006-01-23  --  0.4.0
    * fix Constant's type when NOW is used

    * allow function in ORDERBY expression

    * refactor some edit extensions



2005-07-26  --  0.3.1
    * close #9629, "Any E WHERE P is Project, P eid E"  foire

    * fix bug with IN() used in update queries



2005-07-06  --  0.3.0
    * reintroduce analyze restriction from special relations, which may speed
      up analyzing



2005-06-16  --  0.2.0
    * minor evolutions

    * added Cpp parser module (not yet activated)

    * minor performance improvement



2004-09-23  --  0.1.2
    * minor evolutions

    * bugfixes with constant management (TODAY, etc.)



2004-06-10  --  0.1.1
    * minor evolutions