.. -*- coding: utf-8 -*- Project rql =========== :creation date: 2009/01/15 Relationship Query Language This package contains a parser and utilities to manipulate abstract syntax tree for RQL. RQL is mostly used by `CubicWeb`_. .. _`CubicWeb`: http://www.cubicweb.org Version 0.31.3 -------------- :expected date: n/a Ticket #115820 pip install broken - dependency to contraint should be to logilab-constraint ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :state: done pip install http://download.logilab.org/pub/rql/rql-0.31.2.tar.gz is broken, fails to find constraint >= 0.5.0 It should probably be looking for logilab-constraint __pkginfo__.py should read ? :: 'logilab-constraint >= 0.5.0', # fallback if the gecode compiled module is missing Version 0.31.2 -------------- :publication date: 2012/04/02 :expected date: n/a Ticket #89659 Clean-up forging-lambda -> eval string -> monkey-patch class chain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.150 :state: validation pending This have several drawback including traceback reading and pdb usage. Comments :: On 2012/03/07 16:07 - pydavid wrote : erratum: this patches is for **default** Ticket #88559 N² in visite_relation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: validation pending RQL analysis does not scale as the schema grows. The relation analysis grow too fast with the number Etype involved in a relation. Version 0.31.1 -------------- :publication date: 2012/02/03 :expected date: n/a Ticket #87988 bug in _simplify with subqueries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.300 :state: validation pending local 'select' variable then get overwritten, leading to potential non-simplified code remaining Version 0.31.0 -------------- :publication date: 2011/11/09 :expected date: n/a Ticket #81817 add_etype_restriction should consider existing type restrictions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :state: validation pending Ticket #79232 can't use CAST outside selection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: open it ends up with something like :: BadRQLQuery: Any X WHERE X errors XE, X errors CAST(Int, XE) ** using an entity type in only allowed with "is" relation Comments :: On 2011/10/19 10:32 - acampeas wrote : looks ugly ... Ticket #81394 HAVING should work with write queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.100 :state: validation pending as HAVING allows tricks to by pass WHERE grammar Ticket #81865 Referenceable.get_type crashes if no solution given and variable linked using 'is IN(ET1,ET2...)' relation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending Ticket #78681 stcheck crash if outer join on column alias ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending Ticket #80799 Wrong type analysis with NOT X identity Y ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending Considering the following possible relations:: Person located_in City Company located_in City and the following rql query ``Any X WHERE X located_in C, P is Person, NOT X identity P``, the analyzer will see that ``P`` is a ``Person`` and because of the special nature of the ``identity`` relation, it will assume that ``X`` is also a ``Person`` and won't consider the ``X is Company`` case. Version 0.30.1 -------------- :publication date: 2011/09/08 :expected date: n/a Ticket #74727 syntax error on entity type ending with a capitalized letter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending while this should allowed provided in contains at least an lower case letter Version 0.30.0 -------------- :publication date: 2011/08/05 :expected date: n/a Ticket #72295 add support for missing operators ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.200 :state: validation pending * & (bitwise AND), * | (bitwise OR), * # (bitwise XOR), * << (bitwise left shift), * >> (bitwise right shift) * % (modulo), * ^ (power), Ticket #72052 need information about otional comparisons where a variable is used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.200 :state: validation pending so we can't easily consider them without looking the HAVING subtree Ticket #69185 syntax error with unary operators ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.500 :state: validation pending for instance :: SET X value -Y WHERE X value Y Version 0.29.1 -------------- :publication date: 2011/07/27 :expected date: n/a Ticket #70416 annotation: having handling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: validation pending * variable stinfo should hold term (Comparison node) where it's referenced in having clause (`var.stinfo.get('having')` * should properly update statemet's vargraph Ticket #71131 as_string doesn't propagate encoding/kwargs to subqueries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending Ticket #71157 bad analyze when using functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending eg the type of the variable used as function argument is used instead of the function's return type Ticket #70264 buggy remove_group_var ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: validation pending variable may actually be some arbitrary term (eg function, math expr...) Ticket #71132 column alias scope should be handled as variable scope, not bound to subquery ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: validation pending Ticket #71415 needs to allow outer join on rhs of final relation and in HAVING expression ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.500 :state: validation pending to express queries where we want an outer join on attribute values Version 0.29.0 -------------- :publication date: 2011/06/10 :expected date: n/a Ticket #67696 crash with undo / exists node ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: validation pending rql :: Any U,COUNT(P) GROUPBY U WHERE U is CWUser, P? patch_reviewer U, EXISTS(P in_state S, S name IN("in-progress", "pending-review")) generate following traceback when facets goes in:: File /usr/lib/pymodules/python2.6/rql/undo.py, line 155, function undo assert isinstance(parent, Select) Ticket #66602 Missing groupby feature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending I wish I could write: Any YEAR(CD),MONTH(CD),COUNT(X) GROUPBY 1,2 WHERE X creation_date CD or at least: Any YEAR(CD),MONTH(CD),COUNT(X) GROUPBY YEAR(CD),MONTH(CD) WHERE X creation_date CD Ticket #63421 negative floats are not parsed correctly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending A*-1.0 in a RQL query gives a parse error. A*-1 works, and so does A*(0-1.0). Looks like a shortcoming of the yapps grammar. Ticket #66608 support for CAST function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.500 :state: validation pending Ticket #49053 Swallow CompilationError in setup.py ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.250 :state: validation pending rql uses ``logilab.constraint`` if the gecode extension is not avaible and ``logilab.constraint`` is a dependancy. So, ``python setup.py install`` may not fail on CompilationError. Version 0.28.0 -------------- :publication date: 2011/01/13 :expected date: n/a Ticket #58236 add possibility to specify where to add the identity relation on rewrite_shared_optional ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.200 :state: validation pending Version 0.27.0 -------------- :publication date: 2010/10/14 :expected date: n/a Ticket #49170 fix potential crash in Referenceable.get_description ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: validation pending Ticket #49172 introduce make_constant_restriction function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.200 :state: validation pending useful to build a restriction without adding it yet to the tree Ticket #49167 Select.undefine_variable should properly cleanup solutions (and restore them on undo) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.300 :state: validation pending Version 0.26.6 -------------- :publication date: 2010/09/13 :expected date: n/a Ticket #38572 can't use distinct if an attribute is selected and we sort on another attribute ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.300 :state: resolved should be detected by st checking Ticket #38575 subquery_selection_index responsability mess-up ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.300 :state: resolved cw.rset related_entity implementation (the only client code for this method) doesn't expect it do do what it currently do... Version 0.26.5 -------------- :publication date: 2010/08/02 :expected date: n/a Ticket #37423 crash when computing solutions with some queries w/ subqueries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.300 :state: resolved see http://www.cubicweb.org/ticket/1207301 Version 0.26.4 -------------- :publication date: 2010/07/28 :expected date: n/a Ticket #37248 re-annotation bug ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: resolved some st information are not properly reseted, keeping potentially junk Version 0.26.3 -------------- :publication date: 2010/06/21 :expected date: n/a Ticket #35549 grammar ambiguity for HAVING clause ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: resolved unresolvable with yapps, but we should fix grammar so that "(expr op expr AND expr op expr)" takes priority other "(expr)" Ticket #35552 Select.replace only handle WHERE node ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: resolved should also deal with groupby, orderby, having, etc Version 0.26.2 -------------- :publication date: 2010/06/11 :expected date: n/a Ticket #21586 Depend on libgecode20 instead of libgecode19 for squeeze ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :state: resolved ... for debian packages, please regenerate for squeeze. Comments :: On 2010/05/31 10:21 - alutz wrote : up! please... this prevents from a simple squeeze install...
> On 2010/05/31 10:22 - alutz wrote : > It seems that now squeeze uses libgecode22
> On 2010/06/09 10:56 - sthenault wrote : > isn't that one fixed with the latest release?
Ticket #34440 fix rule order so 'HAVING (X op Y)' is now parseable while 'HAVING (1+2) op Y' isn't anymore parseable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: resolved Ticket #34437 simplification bug with ored uid relations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.200 :state: resolved Version 0.26.1 -------------- :publication date: 2010/06/07 :expected date: n/a Ticket #33889 grammar bug for HAVING clause ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.500 :state: resolved we should be able to use AND/OR between expression, as well as construction like "YEAR(VAR) = 2010" (currently limited to variable only on the lhs) Version 0.26.0 -------------- :publication date: 2010/04/20 :expected date: n/a Ticket #23482 optimization ~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 1.000 :state: resolved * stcheck * variable and column alias stinfo Ticket #23485 setuptools support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.500 :state: resolved eg makes rql pip-installable Version 0.25.0 -------------- :publication date: 2010/03/17 :expected date: n/a Ticket #21899 use logilab.database ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.500 :state: resolved Version 0.24.0 -------------- :publication date: 2010/02/10 :expected date: n/a Ticket #20316 other stuff ~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 1.000 :state: resolved * fully dropped mx support * various bugs fixed in 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 Ticket #20313 remove deprecation warning with recent yams (eg 0.27) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.300 :state: resolved Version 0.22.2 -------------- :publication date: 2009/08/18 :expected date: n/a Ticket #9042 bad type analysis on query like "Any X WHERE X creation_date > 2009-04-16 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.500 :state: resolved NOTE: due to missing quotes, the query is analysed as "Any X WHERE X creation_date > ((2009 - 4) - 16)" Anyway, possible solutions for X includes final types such as "String", "Int"... while only types having a "creation_date" relation should remains. Ticket #8888 compilation seems to be broken ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.500 :state: resolved for Debian unstable release and hg id -nibt:: 174dd044ed64+ 409+ default tip gecode_solver.cpp: In static member function 'static void RqlSolver::run(RqlContext&, Gecode::Search::Stop*)': gecode_solver.cpp:180: error: 'class Gecode::Search::Statistics' has no member named 'clone' gecode_solver.cpp:181: error: 'class Gecode::Search::Statistics' has no member named 'commit' gecode_solver.cpp: In function 'PyObject* rql_solve(PyObject*, PyObject*)': gecode_solver.cpp:248: warning: deprecated conversion from string constant to 'char*' gecode_solver.cpp: At global scope: gecode_solver.cpp:260: warning: deprecated conversion from string constant to 'char*' gecode_solver.cpp:260: warning: deprecated conversion from string constant to 'char*' gecode_solver.cpp: In function 'void initrql_solve()': gecode_solver.cpp:267: warning: deprecated conversion from string constant to 'char*' error: command 'gcc' failed with exit status 1 make: *** [build-stamp] Error 1 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 pbuilder: Failed autobuilding of package -> Aborting with an error -> unmounting dev/pts filesystem -> unmounting proc filesystem -> cleaning the build env -> removing directory /var/cache/pbuilder/build//26516 and its subdirectories Traceback (most recent call last): File "/usr/bin/vbuild", line 109, in sys.exit(run()) File "/usr/bin/vbuild", line 105, in run options.orig File "/usr/bin/vbuild", line 58, in build result = check_call(cmd) File "/usr/lib/python2.5/subprocess.py", line 462, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', 'DIST=unstable', 'pbuilder', '--build', '--configfile', '/etc/lgp/pbuilderrc', '--buildresult', '/home/juj/tmp/tmpGuHuvC', '/home/juj/tmp/tmpGuHuvC/rql_0.21.1-1.dsc']' returned non-zero exit status 1 E:build: command 'vbuild -d unstable -a amd64 --result /home/juj/dists/unstable /home/juj/tmp/tmpGuHuvC/rql_0.21.1-1.dsc' returned non-zero exit status 1 C:build: failed autobuilding of package Comments :: On 2009/04/07 15:29 - Unknown author wrote : hardy as well :( I cannot fetch the right version of the library On 2009/08/18 17:27 - anon wrote : still fails for hardy (but ok w/ intrepid, jaunty, lenny, squeeze and side) Ticket #9235 Compile debian package for 32bits ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.500 :state: resolved The 0.22.0 release is not available for 32bits... Comments :: On 2009/07/07 11:51 - anon wrote : Use lgp build --arch=all Ticket #9206 have debian binary packages for non-amd64 archs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 1.000 :state: resolved Version 0.22.0 -------------- :publication date: 2009/05/18 :expected date: n/a Ticket #8418 consider subqueries in variables graph ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.400 :state: resolved else we get a KeyError in has_unique_value_path (stcheck) on some queries Ticket #8442 no main_relation method on column alias ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: resolved Ticket #8416 support python datetime ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 0.200 :state: resolved and at some point, drop mx.DateTime support so we avoid this dependancy. Ticket #8895 [unstable] change libgecode dependency ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: bug :load: 0.100 :state: resolved :: # apt-cache show libgecode-dev Package: libgecode-dev Priority: optional Section: libdevel Installed-Size: 26936 Maintainer: Kari Pahula Architecture: amd64 Source: gecode Version: 3.0.2-1 Depends: libgecode16 (= 3.0.2-1) The previous version was libgecode12-dev but it is no more available in unstable. Version 0.21.0 -------------- Optimization :publication date: 2009/02/17 :expected date: n/a Ticket #8067 Use gecode for solving variable types ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :type: enhancement :load: 1.000 :state: resolved Version 0.20.2 -------------- Stable version :publication date: 2008/10/17 :expected date: n/a